Tl0 > tl1: ポストエラー「リクエストされたリソースを表示する権限がありません」

こんにちは。初めての投稿です。

古いフォーラムユーザーです。新しい Discourse のインストールを1ヶ月間試しています。大ファンになりました。

長話短して: オンボーディングプロセスに合わせて tl0 / tl1 の設定をいくつか変更しました。すべてがうまくいっているように見えますが、新しい tl1 ユーザーが適切なフォーラムで自己紹介を投稿しようとした際、「要求されたリソースを表示する権限がありません」というエラーが表示されます。

関連する可能性はありますか? かつて、tl0 を「ウォールフラワー」と名付けました。これは、単一のカテゴリで読み取り専用にロックしたためです。このグループを「新規ユーザー」に戻すことを決めましたが、新規ユーザーのリストにはまだ「ウォールフラワー」が表示されています(その後、新規ユーザーグループの設定にリンクされます)。「ウォールフラワー」というカスタマイズされたテキストを検索しても何も返ってきません。キャッシュの問題があるのでしょうか?

現在構築中のオンボーディング体験は以下の通りです:

  • tl0/新規ユーザー
    – 「ルール」への読み取り/返信アクセス
    – 5 つのトピックに参加し、5 つのトピックを読み、合計 3 分を費やす必要があります

  • tl1/オンボーディング
    – 「ロビー」へのアクセス権を獲得
    – 1 つのトピックに参加し、1 つのトピック(自己紹介)を作成し、合計 5 分を費やす必要があります

また、念のため言っておくと、新規/テストユーザーがこれらのカテゴリを見られるようにするため、「ウォールフラワー」にこれらのカテゴリへの読み取り/返信アクセスを与える必要がありました。「新規ユーザー」グループですでにアクセス権があったにもかかわらずです。まるで子供がお菓子屋さんに迷い込んだように、どこかで競合を生んでしまった気がします。

参考になるかもしれないスクリーンショットへのリンク

お時間とご配慮をいただきありがとうございます。Discourse にすっかり魅了されており、チームの残りのメンバーもすぐに参加させ、ベータテスター向けに何かを構築できるのが待ち遠しくありません。きっと素晴らしいものになります。

こんにちは、ブライアンさん、ようこそ!

共有いただいたスクリーンショットを確認しているのですが、気になる点が見つかりました。2 ページ目に、あなたが trust_level_0 の「所有者」としてリストされているのを目にしました。これはあり得ないはずです……信頼レベルグループは自動生成されるもので、所有者を持つことはできません。そのスクリーンショットはすべてのグループを表示しているのでしょうか、それとも最初の 8 つだけでしょうか?

現時点では、wallflowers(TL0)グループがロビーカテゴリに対して作成・返信・閲覧の権限を持っているため、サイトのすべてのユーザーがそこでフル権限を持っています。これは意図した設定ではなく、テストのためのものであることは理解していますが、もし TL1 ユーザーがそこで投稿できないなら、他にも何か問題がある可能性が高いです。


また、信頼レベルは階層的であることをお伝えしておきます。TL4 のメンバーはすべて TL3、TL2、TL1、TL0 のメンバーでもあります。TL3 のメンバーは TL2、TL1、TL0 のメンバーでもあります。そのため、カテゴリのセキュリティ設定に TL0(wallflowers)を追加する場合、TL1、TL2、TL3、TL4 を追加する必要はありません(異なる権限を与えたい場合を除く)。

スタッフユーザーについても同様です。スタッフグループは、すべてのモデレーターと管理者から構成される自動グループです。そのため、カテゴリのセキュリティ設定にスタッフグループを追加する場合、管理者とモデレーターを別途追加する必要はありません。


以下の点についてご確認いただけますでしょうか:

  • グループページのスクリーンショットが最初の 8 つだけでなく、すべてのグループを表示していること。
  • Discourse のバージョン
  • 公式インストールガイド に従ってインストールしたかどうか
  • テストユーザーが新しいトピックを作成しようとしているのか、既存のトピックに返信しようとしているのか
  • ロビーの権限から管理者、メンバー、モデレーター、オンボーディング、TL3、TL4 を削除し、再度投稿を試みる

他のグループをすべて削除することで問題が解決しました。テストユーザーは新しいトピックを作成できるようになりました。やったー!

それでも、「tl0」での「owner」メンションは、私が少し混乱させてしまったことを示しており、意図した通りに動作するのを確認するまで、設定をデフォルトに戻すべきだと感じています。残りの詳細情報を提供します…

  • グループのスクリーンショットにはすべてのグループが表示されています。正しいです。
  • v2.4.0.beta2 +127「最新バージョンです!」
  • Literate Computing の Jay が正しくインストールしてくれたと確信しています。
  • テストユーザーは新しいトピックを作成しようとしていました(そして、現在は成功しています)。
  • カテゴリから「admins」などを削除することで問題が解決しました(他のカテゴリも整理しました)。

カスタマイズしたテキストをすべて見直し、正しいグループで作業しているか確認する必要があると感じています。それによって、「tl0」と「wallflowers」の所有権ラベルの問題が解決することを願っています。

とても助かりました。感謝しています。:allthethings:

編集 | 疑問:環境全体に変更が反映されるまでに時間がかかるのか、またはそれを高速化するボタンがあるのでしょうか?編集するとほぼ即座に変更が反映されるのが素晴らしいと感じていますが、tl 関連のカスタマイズをすべて元に戻したにもかかわらず、グループビューでは反映されているのにカテゴリ設定には古い名前が表示されている理由が気になります。

編集2:上記のいずれかのグループをクリックしてすぐに戻ると、チェックマークや「Private」が「Owner」に変わっているようです。何が起きているのか分かりません(ページを更新すると、すべて「Member」または「Private」に戻ります)。

更新されていない具体例を挙げてもらえますか?TL とカテゴリは直接関係ないため、ここで何か誤解があるのではないかと疑問に思っています。

@HAWK さん、ご質問ありがとうございます。

もしかしたら、私が使っている言葉が間違っているかもしれません。直前の 2 つのスクリーンショットをご覧ください。私が質問しているのはそれらについてです。

カテゴリを編集し、セキュリティタブをクリックします。あれはグループですよね?自動生成のもの、あるいは信頼レベルに基づくグループであってもです。

カスタムテキストや設定のどこを探しても、「wallflowers」や「onboarding」という言葉が見つかりません。私が以前変更した信頼レベルの名前、ラベル、ユーザータイトルなどはすべて元に戻しました。

では、私の tl1 が「trust-level-1」である場合、なぜカテゴリ設定のリストに表示されないのでしょうか?

もしそのラベルを持つユーザーが 1 人でも存在する場合、それを削除できないということでしょうか?「wallflower」という言葉が確認できたのは、私のテストユーザーの 1 人のプロフィールだけでした。

完全に私のミスでした。最後のスクリーンショットを見落としていました。確かに、それは「セキュリティ」カテゴリのモーダル内に表示されているグループの一覧ですね!

もしグループ名を変更したのであれば、そのドロップダウンにも反映されているはずです。ハードリフレッシュを試しましたか?(ここで必死に手を伸ばしているようなものですが。)

ブラウザでですか?はい。

もしかして、2016 年のこの古いバグが関係している可能性はありますか?私が目撃している挙動と似ているように思えます。

例えば、この新規ユーザーを表示すると、自動グループ「wallflowers」に所属していることがわかります。

そのリンクをクリックすると、こちらに移動します(URL に注意):

しかし、現時点で存在するグループはこれだけ(URL に注意):

もしかしたら、データベースを本当に怒らせてしまったのかもしれませんね。

これに似ていますね https://meta.discourse.org/t/can-not-add-category-security-for-new-group/126808/3 cc/@sam

確かに、それが原因かもしれませんね。夜明け頃、なぜか不思議とすべてが整いました。

URL を持つグループ:

昨夜まで「wallflowers」を使用していた「trust_level_0」グループが、現在は正しい URL を持つようになりました:

以前は自動グループとして「wallflowers」が割り当てられていたユーザーのプロフィール管理画面では、現在「trust_level_0」が表示されるようになりました:

カテゴリのセキュリティ設定のドロップダウンリストには、「wallflowers」や「onboarding」グループが表示されなくなりました:

つまり、データベース内の特定の変更を遅延させる仕組みが何らかの形で存在しているのでしょうか?

ご協力いただきありがとうございます。素晴らしいですね。

これはユーザーディレクトリの更新遅延と非常に似ていますね。新規ユーザーは、毎日スケジュールされたルーチンのいずれかが実行されるまで表示されません……そして、パッと!ようやく表示されるようになります。

つまり、ある信頼レベル(TL)から別のTLへの自動昇格は、即時には行われないのでしょうか?(即時に行われるべきだと感じていますが。)

ここで問題となっている点は、少し変化しています。現在、新規ユーザーは計画通り1つのカテゴリのみを表示していますが、私が設定したルールに基づくと、まだTL1のアクセス権が与えられていないようです。

  1. 新規ユーザーがサインアップすると、== TL0
    – 「ルール」カテゴリへのアクセスのみ付与
    – トピックを5件閲覧
    – 3分間読書
  2. ユーザーはTL1に昇格すべき
    – 「ロビー」カテゴリへのアクセス付与
    – トピックを1件閲覧
    – トピックを1件投稿
    – 5分間読書

テストユーザーを招待したところ、設計通り「ルール」へのアクセスは付与されましたが、そのユーザーは条件を満たしているにもかかわらず、依然としてTL0のままです。2番目のカテゴリ(ロビー)は、trust_level_1グループに対して作成/返信/閲覧の権限を設定していますが、新規ユーザーには表示されません。

もし夜間にcronジョブなどが実行されているのであれば、それを確認することもできますが、それが仕様なのかどうかを知りたいです。それによってオンボーディング計画を調整する必要があるためです。

どなたか確認していただけますか?よろしくお願いいたします。

@TGP
ブライアン、以下は私のフォーラムからの投稿のコピーです。いくつかの新しいユーザーが、初めてサインアップした直後にユーザーディレクトリに表示されなかったと述べています。彼らは「週間」リストには表示されませんでしたが、「今日」に切り替えると表示されました。その夜、ルーチンが実行された後、彼らはすべての表示でディレクトリに現れました。

[ユーザーがユーザーディレクトリに表示されない]
[META]

フォーラムが24時間未満しか稼働していなかったため、ユーザーは「週」「月」「四半期」「年」「全期間」といったユーザーディレクトリの検索カテゴリのいずれにも表示されませんでした。「今日」の記録のみに表示されていました。

解決策:毎日自動実行されるルーチンが実行されるまで24時間お待ちください。その後、ユーザーが表示されるはずです。

サポートフォーラムを確認したところ、他の人も同様の問題を抱えていることがわかりました。解決策は24時間待つことで、毎日24時間ごとに更新ルーチンが実行されるためです。

[注:元の投稿(解決策)では「24時間」と記載していましたが、私たちのルーチンは現地時間の午後11時頃に実行されるようです。ただし、正確な時間を確認していません。]

各フォーラムは、24時間かけてスケジュールされたジョブの順序付けが独自に行われ、その順序付けはしばらくの間安定して維持されます!

TL0-1はうーん、15分ごとくらいに実行されますか?1-2と2-3(および3-2)は毎日実行されます。

これまでの私の経験とも合致します。ケイン・ヨークさん、ありがとうございます。

その動作を変更する設定があるか、あるいはリソース消費が激しすぎるかご存知の方はいらっしゃいますか?

ご回答よろしくお願いいたします。