トピック Group trust level を読みました。そこには次のように書かれています。
また、この古いトピック Should losing group membership unlock trust level? も読みました。
そこでの説明は、私の経験と大部分一致しています。
しかし、Discourseの独自のテストインスタンスで発見したのは次のとおりです。
すべての信頼レベル設定がデフォルトの場合、TL1アカウント(U)と、Trust_Level_3を付与するtl3という名前のグループがあります。
- 開始条件
- 信頼レベル:
1: basic userロック解除済み - 自動グループ:
trust_level_0,trust_level_1 - カスタムグループ: なし
- 信頼レベル:
- Uをtl3に追加します。
- 信頼レベル:
3: Regularロック解除済み - 自動グループ:
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - カスタムグループ: tl3
- 信頼レベル:
- Uをtl3から削除します。
- 信頼レベル:
2: Memberロック解除済み - 自動グループ:
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - カスタムグループ: なし
- 注: 信頼レベルが2であるにもかかわらず、ユーザーは依然として自動グループ
trust_level_3に属しています。信頼レベルがロックされていない限り、ユーザーはTL1に降格できないという理解に基づくと、ここで期待される結果は、ユーザーは直ちにtrust_level_2自動グループのメンバーシップを失うはずです。
- 信頼レベル:
- Uの信頼レベルをロックします。
- 信頼レベル:
2: Memberロック済み - 自動グループ:
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - カスタムグループ: なし
- 注: 信頼レベルが
2: Memberであるにもかかわらず、ユーザーは依然として自動グループtrust_level_3に属しています。
- 信頼レベル:
- Uの信頼レベルをロック解除します。
- 信頼レベル:
1: Basicロック解除済み - 自動グループ:
trust_level_0,trust_level_1 - カスタムグループ: なし
- 信頼レベル:
したがって、ユーザーをグループから解除すると、信頼レベルは自動的かつ即座に再計算されますが、自動グループのメンバーシップは、ユーザーの信頼レベルがロック解除イベントを経験しない限り、再計算されません。
私の仮定では、自動グループのメンバーシップは、すべてのユーザーに対して1日1回システム全体で計算され、その時点で自動グループのメンバーシップが修正されるということです。しかし、信頼レベルに影響を与えるグループからの削除時、または信頼レベルの増加時だけでなく、信頼レベルの変更時に自動グループのメンバーシップがトリガーされるべきだと感じます。
したがって、バックエンドAPI呼び出しの、
POST {{site}}/admin/users/{{userId}}/groups
は自動グループのメンバーシップを更新しますが、
DELETE {{site}}/admin/users/{{usedId}}/groups/{{groupId}}
は更新しません。これは、特にアクセス制御に自動信頼レベルグループを使用している場合、バグのように感じます。
そして、完全を期すために、明らかに呼び出しの、
PUT {{site}}/admin/users/{{userId}}/trust_level
管理インターフェースでユーザーの信頼レベルを手動で変更したときに呼び出されるものは、期待どおりに自動グループのメンバーシップを即座に再計算します。

