グループ向けカスタムホームページ

ああ!すみません。見落としていました。

うーん。はい。なぜそれらのサポートを削除したのか疑問に思います。コアで変更できるようになったのかもしれませんか?

コアにそれがあるかどうかを確認し、もしそうなら、それらの設定を削除します。

あるいは、コアで何か起こり、それらの変更が壊れたのかもしれません。何が起こったのか調べてみます。 . . .

「いいね!」 3

以前、なぜデフォルトと匿名ホームページのサポートを削除したのかまだよく分かっていません。それらを元に戻しました。

現在、custom_default_homepage が存在する場合、一致するグループマッチがない限り、それが使用されます。anon_page が存在し、ユーザーが匿名の場合、それが使用されます。

モバイルページをいつ、どのように設定すべきか(匿名ユーザー向けか?すべてのユーザー向けか?デフォルトページ、グループマップを上書きするのか?)が分からなかったので、削除しました。そのモバイルページを使用している場合は、何を上書きすべきか教えてください(モバイルの場合はデフォルトページとして設定し、グループページがある場合はそれを使用する?匿名 vs ログインで何をすべきかまだ不明です–おそらくすべてにモバイルバージョンが必要なのかもしれません?)。

コードは次のとおりです。

      let url = null;

      if (settings.custom_default_homepage) {
        url = settings.custom_default_homepage.replace(/^\/+/g, "");
      }

      if (user) {
        if (user.primary_group_name 
        url = mapEntry.split(":")[1].replace(/^\/+/g, "");
          }
        }
      } else if (settings.anon_page) {
        url = settings.anon_page.replace(/^\/+/g, "");
      }

そして、url に値がある場合にのみホームページを変更します。

「いいね!」 8

このテーマコンポーネントは、グループ内のユーザーがログイン時またはリンク使用時にホームページにリダイレクトされることを意図していますか?インストール済みですが、ロゴは選択したページに誘導されるものの、ログイン時にはユーザーは依然としてデフォルトの「/latest」ページにリダイレクトされてしまいます。もしこのコンポーネントがログイン時のリダイレクトを処理するものであるなら、私の設定がまだ何か間違っているはずです。

私の目標は、すべてのユーザーがデフォルトグループに含まれ、ログイン時に全員が別のページにリダイレクトされるようにすることです。

このTCが有効になるには、彼らのプライマリグループである必要があります。これは、ユーザーがリダイレクトを持つ複数のグループのメンバーである場合に競合が発生しないように、意図的に設計されています。

「いいね!」 2

トラストレベル0は有効なグループと見なされますか?これはグループページマップの正しい設定でしょうか? trust_level_0:/discourse-ai/ai-bot/conversations。それが現在設定している値です。

いいえ、信頼レベルグループはプライマリに設定できないため、使用できません。もしそれが不可欠な場合は、ダイナミックグループプラグインを使用してミラーグループを作成することで、回避策があります。

「いいね!」 3

全員のカスタムホームページをAIボットページに設定し、匿名ユーザーのホームページを最新に設定することを試しましたか?

「いいね!」 1

ああ。わかりました。メール通知でこの別のバージョンが送られてきたと思います。こちらの回答の方が好きです。 :slight_smile:

「いいね!」 2

やっぱりね!まだメール通知を使ってるの?ジェイ、それはちょっと時代遅れだよ!

「いいね!」 2

「everyone」とは、疑似グループではなく「global」を意味していました。誤解を招かないように投稿を編集します。

「いいね!」 2

私はとても年寄りです。それに、私は1日に10時間もメタにログインしておらず、何も見逃したくありません!

「いいね!」 5

まず、皆さん、ご協力いただきありがとうございます。大変感謝しております。

これは私にとって頭を悩ませる問題です。

このプラグインを問題なくインストールし、設定でtrust_level_0をプライマリグループにするように設定しました。サイトの全メンバーがそのグループに追加されました。すべてのユーザーが現在、これをプライマリグループとして表示しています。

グループのカスタムホームページコンポーネントの設定は以下の通りです。

ページにアクセスすると、Community-Coreプライマリグループのユーザーは依然として/latestにアクセスします。Anon Pageをログイン時に/latest以外のものに変更すると、ユーザーはそこで表示されるページが表示されるため、リダイレクトが発生しています。

Canvas Screenテーマを使用しており、テストのためにデフォルトに変更しましたが、結果は同じでした。

この問題が解決するかどうかを確認するために、すべてのテーマコンポーネントとプラグインを無効にしました。

私が何か見落としている、あるいは他の人には明白なことなのか、それともコンポーネントに問題があるのか、と考えています。

インスペクタでボディタグのプライマリグループを確認しましたか?

ジェイ、これはどのインスペクターのものか本当にわかりません。

ユーザーはグループに表示されており、この画像のものと同じインジケーターがプロフィールにあります。

サイトを右クリックして「検証」を選択すると、pfaffman が求めているものが表示されます。
たとえば、ユーザー管理ページ(/admin/users/{user_id}/{username})で次のようなものが見えます。


これは私のアカウントなので、右クリックして「検証」を選択すると、次のようなものが見えます。

そこで、<body> タグ内に「testgroup」があることがわかります。

それが意図したものでしたが、コンポーネントはCSSからではなく、ユーザーモデルからプライマリグループを取得することを今思い出しました/確認しました。

したがって、管理者のユーザールートでユーザーを見つけ、URLに.jsonを追加してみてください。次に、ユーザーのプライマリグループを確認し、(ブラウザで)primary_group: trueを検索して、名前がテーマ構成で使用したケースと完全に一致することを確認してください。

「いいね!」 2

皆さん、こんにちは。

明確化ありがとうございます。これらの指示に従い、.json URLを使用して正確なグループ名を確認しました。

プライマリグループ名は「Community-Core」であり、大文字とハイフンが含まれています。これは、テーマコンポーネントの設定に入力したものと全く同じです。

残念ながら、まだ機能していません。匿名ページの転送がまだ有効になっています。したがって、問題は他に何かあるはずです。

他の人はこれが機能するかどうか確認できますか?

他に確認できることはありますか?

いいえ。カスタムデフォルトホームページではなく匿名ページに移動する場合、その際にユーザーが見つからないということです。

      const user = api.getCurrentUser();

ユーザーが実際にログインしているのに、それがどのように起こりうるのか分かりません。

ああ、ページをリロードしてみましたか?

「いいね!」 1

ジェイさん、ありがとう。リロードも試しました。URLなどを数多く調整してみましたが、確実にAnonページが読み込まれます。それを変更すると、そのページに移動し、ブラウザのURLにも/latestが表示されます。検索しましたが、単純にリダイレクトする他の方法はないと推測しています。PHPサイトではもっと簡単でした。私はまだDiscourseの初心者です。

これは非常に珍しいエッジケースであり、Discourseに本来想定されていないことをさせようとしている領域に入ってきています。