談話における埋め込み

Discourse に埋め込む際、カテゴリを自動的に割り当てる方法がどうしてもわかりません。

私は Vue.js アプリを使用しており、標準的なカテゴリ(Discourse のサブカテゴリ)ごとに、それらのサブカテゴリに関連付けられた埋め込みディスカッションを表示したいと考えています。

私の埋め込みコードは以下の通りです:

window.DiscourseEmbed = {
discourseUrl: ‘https://forum.example.example.nz/’,
discourseEmbedUrl: ‘https://example.example.example.nz/c/english-level-1/1-1-written-text-study/
// topicId: 273
};

    (function () {
      const d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
      d.src = `${DiscourseEmbed.discourseUrl}javascripts/embed.js`;

      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
    }());

制限事項:
この埋め込み機能を使用すると新しいトピックが作成されることは理解しています。
また、自動割り当てのために “window.DiscourseEmbed” オブジェクトにカテゴリを追加することもできません。

しかし、この埋め込みコードが作成する新しいディスカッションを、
(カテゴリ)english level 1 → (サブカテゴリ)standard 1.1 に配置したいと考えています。

ここでご確認ください:

カテゴリへのリンクは表示されていますが、このトピックは最上位の latest に表示されており、これは理想的ではありません。

ホストを使用できることは知っていますが、以下のように無理やり対応を試みました:

私が要点を見落としているのか、それとも単にこの埋め込み機能を、その設計意図を超えた非常に特殊な用途に使おうとしているだけなのか、わかりません。

ご助力いただけますと幸いです。ありがとうございます :slight_smile:

トピックは、ホストに対して設定したカテゴリに作成されます。2 枚目のスクリーンショットから、問題は localhost:8082 に対して 2 つの許可されたホストを設定していることにあるようですが、最初のホストの「パスホワイトリスト」の設定により、すべてのトピックが「未分類」として公開されてしまうようです。

パスホワイトリストは、「許可されたホスト」フィールドに設定したドメインのパスとして設定する必要があります。つまり、先頭は単に / から始まるようにしてください。以下は、私のテストサイトからの設定のスクリーンショットです。ブログからのすべてのトピックを「scratch」カテゴリに公開しています。

もし私のサイトの /blog パスからのトピックのみを公開したい場合は、以下のように設定します。

image

昨日、ホストにカテゴリを設定していたにもかかわらず、投稿が私のサイトの「未分類」カテゴリに公開されてしまう問題に遭遇しました。その原因は、おそらくトピックを保護されたカテゴリに公開しようとしていたことだと思われます。その点についてさらに調査し、それが問題だったかどうかを確認します。

ご提案いただいたアドバイスに従って設定しました:

ご提案通り設定しているはずですが、依然として「未分類」のトピックが作成されてしまいます。本来であれば、英語レベル1(カテゴリ)→ 1.1 書き込みテキスト学習(サブカテゴリ)に分類されるはずです。

私が discourseEmbedUrl として使用している URL は以下の通りです:
https://forum.studyit.govt.nz/c/english-level-1/1-1-written-text-study

おそらくホワイトリストのパス設定が間違っているのでしょうが、/.* 以外の設定ではうまく動作しないようです。

次に示す画像では、すべてのリクエストが 1.1 サブカテゴリにリダイレクトされるはずですが、実際にはそうなりません:

最後に、ページが埋め込まれている URL は以下の通りです:
http://localhost:8082/#/English/level/1/standard/1.1/discussion

パスホワイトリストの設定は、Discourse サイトに取り込もうとしている投稿のパスであるべきで、Discourse 上で投稿を公開したい場所のパスではありません。2 番目のスクリーンショットで設定されている方法は、私には正しいように見えます。なぜこれが正しいカテゴリにトピックを公開できないのかはわかりません。そのカテゴリにセキュリティ権限が設定されていますか?グループ「everyone」はそのカテゴリで「作成/返信/表示」を許可されていますか?