DiscPage: 静的ページを作成し、テキストにディスカッションバブルを挿入するプラグイン

可能だと思います。dpg_displaypage イベントハンドラー内で $.ajax() を使用して、外部 API を呼び出す必要があります。また、Discourse の設定にある「コンテンツセキュリティポリシーのスクリプトソース」に、お使いの外部 API を追加する必要があると思います。

「いいね!」 2

このプラグインは現在もメンテナンスされているようですが、私のサーバーではこのプラグインを有効にするとログインページが表示されないという問題を特定しました。この問題を解決したいと考えています。

私のサーバーでこのプラグインを有効にすると、ログインページが空白に表示されることが確認できます。プラグインを無効にすると、ログインページは正常に表示されるようになります。すでにユーザーがログインしている場合はこの問題は発生せず、サーバーは通常通り動作します。

この問題の解決のため、サポートやヘルプを求めています。トラブルシューティングに必要な追加情報を提供することも喜んで行います。

ありがとう、ジョーダン。
はい、さらに情報が必要です。私の複数の Discourse インスタンスを確認しましたが、問題を再現できませんでした。
「ログインページが表示されない」とおっしゃる場合、ログインポップアップのことを指しているのでしょうか?
詳細やスクリーンショットをもう少し教えていただけますか。可能であれば、PM でご連絡いただき、Discourse インスタンスの URL もお送りください。

「いいね!」 1

こんにちは、Syl さん。

返信ありがとうございます。

discpage プラグインを有効にした状態で、ログインせずに Discourse インスタンスにアクセスすると、完全に空白のページが表示されてしまいます。以下をご覧ください:

また、最近コンソールログを確認したところ、discpage に関連するエラーがいくつかあることに気づきました。私には意味がわかりませんが、もしかしたらあなたにはわかるかもしれません…

ご報告ありがとうございます。このバグは以下に登録されました:

バグが修正されるまで、Discourse の「ログイン必須」設定を無効にするという回避策があります。

編集:バグは現在修正済みです。

「いいね!」 1

こんにちは、Syl さん。
少し気まずいかもしれませんが :sweat_smile:、ストレートに申し上げます。私はプログラミングの知識は全くないのですが、純粋な好奇心からプラグインのソースコードを見てみました。lib ファイルのフォーマットがどうなっているのか、少し混乱しています。これは技術的な選択ではないと推測していますが(私が知っていることなんて限られていますけどね :smile:)、その由来は想像できますし、理解もできます。

あなたはまさに開発の最中だと感じていますし、すでに素晴らしい成果だと思います。なので、感謝していないように聞こえるのは本当に避けたいのですが、あなたの作業の「わかりやすいバージョン」を共有していただくことはご検討いただけますでしょうか?

個人的な意見ですが、長期的にはコアのアップグレードのペースがプラグイン作成者にとって追い付くのが難しくなる可能性があります。あなたのプラグインの機能を使いたいと考えているが、少数の人の肩に頼ることにためらっている人々の不安を和らげるかもしれませんし、もしかすると goodwill や関心を高めることにもつながるかもしれません。

とにかく、ありがとうございます :wink:

こんにちは、ベンジャミンさん。
プラグインのソースコードは縮小された形式で公開されていますが、それは私がそれを恥ずかしく思っているからです。これは研究開発の実験の成果であり、大規模なリファクタリングが必要です。このタスクは、プラグインが何らかの関心を呼ぶまで先送りしました。

「いいね!」 3

:sweat_smile:
さて、私も「非常に興味あり」の欄に加えてください!
これはコアの「引用」機能に対するとても素敵なバリエーションだと思います。
私はユーザーにスピーチ分析に参加する動機付けを探しています(これはあなたのCastafioreの用例と非常に似ていますが、残念ながらあまり娯楽的ではありません!)。そして、このデザインが彼らを執筆モードに切り替えさせるきっかけになればと思っています。

「いいね!」 2

今のところ順調ですね!
私のささやかな意見:

  • ヘッダーについては個人的な意見ですが、中央揃えのままにしておいたほうが、プラグインの静的ページが全体的に「普通の」議論の中にすっきりと統合される気がします。
  • 特殊ケース: 複数の静的カテゴリで読み書き権限が異なる場合、静的カテゴリごとにバルーンカテゴリを指定できるようにすると面白いかもしれません。
  • 何か見落としているのでしょうか、それとも [dpgb id=titre] [/dpgb](これはバルーンに組み込まれるものだと認識しています)を手動で設定する必要があるのでしょうか?正直に言うと、コンポーザーの引用ボタンを試しましたが、うまくいきませんでした… :sweat_smile: 。おそらく、タグのスラッグを設定する必要があるためでしょう :thinking:
  • discpage hide tags 設定を hide discpage tags に変更することは可能でしょうか?dpg-**** タグだけを非表示にするのが難しいとはあまり思いませんが、トピック作成時に提案リストが少し混雑する可能性があると思います。

次のステップは、ユーザーエンゲージメントテストです!

@Benjamin_D さん、ありがとうございます。フィードバックは大歓迎です。

ヘッダーのアライメントは、以下の 3 つのケースに適合する必要があります。

  1. 通常の Discourse ページ(max-width = 1110px)、
  2. DiscPage の静的ページ(max-width = 782px。1110px は、サイドバーやウィジェット、画像を配置できない静的ページには広すぎるため)、
  3. DiscPage の分割レイアウト(左側に静的ページ、右側にトピック。max-width = 100%)。

ヘッダーのアライメントを固定する方法と、レイアウトに応じて変化する方法の両方で多くのテストを行いました。その結果、恒久的な左揃えが最適であると結論付けました。

ただし、あなたが思いつくアイデアであれば喜んで確認します。上記の 3 つのケースすべてに対応していることを確認してください。

これは既にサポートされています。ドキュメント の以下の段落をご覧ください。

実際、ここで複数のカテゴリを設定できます。これを PageCat と呼びましょう(バルーンが属する静的ページのカテゴリです)。このフィールドに複数のバルーンカテゴリがある場合、DiscPage は、PageCat の兄弟(同じ直近の親)または PageCat の直近の親である最初のカテゴリを採用します。そのようなカテゴリが見つからない場合、DiscPage はリストの最初のカテゴリを採用します。この機能により、[静的ページカテゴリ、バルーンカテゴリ] のペアリングが可能になり、多言語フォーラムや、異なるグループ権限を持つ静的ページのセットアップなどで役立ちます。

これは理解しにくいのは確かに同意します。表現を改善するためのアイデアがあれば歓迎します。

はい、バルーンはテキスト構文を使用して手動で挿入する必要があります。
プラグインを初めて試された際、なぜ引用ボタンが役立つと感じられたのでしょうか?(その瞬間のあなたの思考プロセスに興味があります)

hide discpage tags 機能は既に実装されています:DiscPage タグは、すべての Discourse ページとウィジェットでデフォルトで非表示になります。つまり、DiscPage が有効な状態で DiscPage タグがどこかで見られる場合は、バグです。

discpage hide tags 設定は非常に異なります:これは、Discourse インスタンスでタグを有効にしたくないが、DiscPage を使用するためにやむを得ず有効にしなければならなかった人々が、タグのないインスタンスをシミュレートできるようにするものです。

「いいね!」 1

:thinking: 実は、max-width = 1110px を維持するのが良いと思います。分割画面ではヘッダー下の静的ページが 100% を占有しますが、html.dpg header.d-header .wrap ブロックをコメントアウトしたところ、ヘッダー周囲に少し余白があっても問題ないと感じました(ただし、非分割レイアウトではタイトル編集やページボタンが少し浮いて見えるかもしれません)。

私の不覚です、RTFM(マニュアルを読んでください) :sweat_smile: (言い訳ですが、去年は多分読んでいて、忘れたのでしょう :smile:
DiscPage がバルーンカテゴリを非表示にしていることを思い出していませんでした(管理者として試したばかりなので)。しかし、これは素晴らしい機能です。

つまり、複数の「静的ページカテゴリ、ユーザー権限」がある場合、関連するバルーンカテゴリを静的カテゴリのサブカテゴリにする(権限の観点から理にかなっています)、または両方のカテゴリを同じ親カテゴリのサブカテゴリにする必要があります。重要ではありませんが、静的カテゴリがバルーンカテゴリのサブカテゴリでも機能するでしょうか?

おそらく、アイコンのバルーン形状と、作曲者の引用ボタンを今まで使ったことがなかったこと、それに「あれ、以前からあったっけ?」と思ったからかもしれません。試してみました :crazy_face:
少しの「コード」を書くことには問題ありませんが、ユーザーたちが叫んでいるのが聞こえてきます。おそらく彼らは当面は静的ページを設定しないでしょう。時々、キーボードを叩く一打が最後の一滴になるような気がします… :roll_eyes:

もちろん、申し訳ありません。軽い熱のためでしょうか、なぜ非表示になっていないと思ったのか分かりません。もしかすると、分割画面のバルーン部分のタグドロップダウンボックスで、ちらりとタグが見えたのかもしれません。私があらゆる方法を試し、バルーントピックにタグ付けまで試した際に、末尾のカンマが見えた理由が今理解できました。

ユーザーが(自分の)静的投稿を作成・編集できるようにすることは可能でしょうか?そうすれば、管理者制限はカテゴリのセキュリティ設定だけで実現できます。

追記:
もしかすると無理かもしれません。tag_groups の変更には StaffConstraint が適用されるようです :disappointed_relieved:

TL4 のユーザーがバルーンを設定できるように、a = User.current()) && a.adminUser.current()) && a.trust_level >= 4 に変更することはできますが、タグが作成されるのは管理者が静的ページを編集してからになるかもしれません… :thinking:
素晴らしい案があります:カテゴリのモデレーターがそのカテゴリのタググループを変更できるようにすることです :smile:

追伸:プラグインチェックリストが discpage と干渉しているようです(getmodel() に関する問題のようです)。

現在のレイアウトの方が好みです。ただし、これを簡単にカスタマイズできる方法があるべきでしょう。考えてみます。

いいえ、この組み合わせはサポートされていません。

すでにお気づきの通り、静的ページの作成は管理者に限定されていませんが、バルーンの挿入は管理者に限定されています。その理由は、Discourse でタグを作成する直接的な方法がないためです(こちらのスレッドを参照)。そのため、管理者に限定されている tag group API を使用することを選びました。代替案もありましたが、それぞれに欠点がありました。

このプラグイン のことをおっしゃっていますか?何が問題でしょうか?

確かに、この 2 つのプラグインを両方有効にした状態で静的ページをリフレッシュすると、Discpage が(ある種の)無効化され、通常のレイアウトに戻り、コンソールに以下のエラーが表示されます:

Uncaught (in promise) TypeError: postModel is undefined
checklistSyntax javascripts/discourse/initializers/checklist:29

両方のプラグインは個別には正常に動作します。

@Benjamin_D さん、ありがとうございます。この問題は以下で報告されています:

編集:最新のバージョン(1.0.38)で修正されました。

「いいね!」 2

@syl さん、残念なお知らせになってしまいますが :sweat_smile:、また互換性の問題を見つけました。discpage を有効にすると、招待リンクが登録ページではなく空白ページに遷映してしまう、少し深刻な問題です。
ブラウザのコンソールには以下が表示されています:

  r.site.categories is undefined

プラグインを無効にすると、招待リンクは通常通り機能します。

「いいね!」 1

ご報告ありがとうございます、@Benjamin_D さん。「ログイン必須」モードに関するまた別のバグのようですので、以前の GitHub イシュー を再オープンしました。修正されるまでの間、回避策として「ログイン必須」モードを無効にしてください。

編集:最新版(1.0.38)で修正されました。

「いいね!」 2

@syl さん、こんにちは!
最近のタグルートの仕様変更

が何かを壊してしまったようです :thinking:
少なくとも、バブル内のリンクは /tags/dpg-xxx ではなく /tag/dpg-xxx を指すように修正する必要があります。

「いいね!」 2

@Benjamin_D さん、ありがとうございます。この問題は v1.0.38 で修正されました。

「いいね!」 2