「名前を有効にする」を無効にすると、管理者が奇妙な動作をします

GUI のすべての場所でフルネームを削除するには、enable_names 設定を無効にします。
管理者ビューを除く。これまでは順調です。
機能しているように見えますが、実際には機能していません。

  • 最初は名前が表示されません
  • 編集できます
  • その後表示されますが、保存されません

ビデオを参照してください

バージョン: 今朝の時点で tests-passed。

「いいね!」 8

管理メニューでユーザーを編集する際、ユーザーの名前を変更して保存しても、リフレッシュすると何も保存されていません。

名前に名前が表示されません。

編集して保存。ページをリフレッシュしても、上記の写真のように名前は保存されません。

実行中のテストはすべて合格しており、最新の状態です。

「いいね!」 3

enable names 設定は有効になっていますか?

「いいね!」 5

有効になっていません。最近のバグです。@JammyDodger、これをRichardのものとマージしていただけますか?

「いいね!」 3

最近のものかどうかわかりません

「いいね!」 1

管理者には、enable_names 設定に関係なく、名前を表示および更新できる必要があります。:thinking:

「いいね!」 4

変更に気づかなかったのは比較的新しいためです。(4年前に初めて報告されたように見えますが?)

1月にリチャードが投稿したものです。

使用している2つのフォーラムは4年と7年前のものです。

そのため、ユーザーの詳細を変更/修正することはあまりないので、変更に気づかなかった可能性が高いです。

設定を追加する必要があるようです。名前は有効にし、グローバルに表示するかどうかを選択できるようにします。

リンクされたディスカッションで述べたように、フルネームはユーザーと管理者に最小限表示されるべきです。

「いいね!」 2

Bump


管理者は名前フィールドの内容を表示できるはずです。画像は私のアカウントを示していますが、このフィールドを編集して保存しても、リフレッシュすると空白になります。

以前これについて話し合ったことは確かですが、検索語で見つけるのに苦労しました。

サイト設定では、表示するすべてのサイト領域で非表示を解除して追加することのみが可能です。

管理者は常にこのユーザーフィールドを表示できるはずです。また、私の意見では、この詳細はアカウントの詳細の一部であるため、ユーザー設定メニューの「アカウント」にも表示されるべきです。

「いいね!」 3

設定が見つかりました。@Moin が言及していたものは、全員ではなく、カードの現在のユーザーにのみ表示されます。

名前を有効にすると機能します。しかし、ユーザーが以前に入力した情報はすべて空白になります。一部のユーザーはこのフィールドに入力していませんでした。謎は解けました。

この設定をより明確にする必要があるかもしれません。私の意見では、デフォルトでオンになるべきです。

原因が判明しました

class BasicUserSerializer < ApplicationSerializer
  # ...
  def include_name?
    SiteSetting.enable_names?
  end

管理者に対する特別な判断はありません。

しかし、気になります。どのように変更すべきでしょうか?モデレーターはユーザー名を変更できますか?それとも管理者だけですか?:thinking:

「いいね!」 3

できると思います

「いいね!」 3

モデレーターは「どこでも隠す」の説明の影響を受けるべきでしょうか?管理パネルでも名前が見えないようにすべきでしょうか?

追記:この説明によると、管理者もそれを見ることができないはずです。

「いいね!」 1

フルモデレーター用のトグルにすることをお勧めします。ただし、話し合ったように、管理者は常にこのフィールドを表示できるはずです。

名前を有効にすると、プライバシーが侵害されます。なぜなら、メールにユーザー名ではなく本名が含まれるようになるからです。追加の設定はありますか?メンバーが、ユーザーハンドルではなく、メール通知に本名が含まれていると報告した後、それを見つけることができませんでした。

つまり、私からの返信のユーザーへのメールに、メールで本名が送信されました。

次に、これが全員からフィールドを非表示にする場合、メンバーでさえその詳細を表示できないため、そのフィールドの使用を無効にする必要があります。

私が管理している安定版のフォーラムも、ここで議論されている動作の変更の影響を受けていません。

メールを修正して、実際の名前ではなくユーザー名を使用するようにするにはどうすればよいですか?

また、ユーザーカードに現在のユーザー自身の実際の名前のみを表示するには、どのCSSを使用すればよいですか?

「いいね!」 1

モデレーターは、「サインアップ後の編集」と「公開プロフィールに表示」が無効になっているカスタムユーザーフィールドも表示および編集できると思います。その場合、ユーザーは自分のフィールドを表示できませんが、モデレーターは表示できます。おそらく、名前フィールドも同様に動作するのが一貫性があるでしょう。

その場合、説明を変更できます。たとえば:

ユーザーのフルネームをプロフィール、ユーザーカード、およびメールで全員に表示します。無効にすると、フルネームはユーザーのプロフィールでのみスタッフメンバーに表示されます。

「いいね!」 2

リチャード、ありがとうございます!ご報告いただいた問題を再現でき、修正いたします。:+1: 管理者は、フォーラムのさまざまな場所に表示されていなくても、常にユーザーの名前を表示および管理できるはずです。

この会話の残りの部分については、これらの設定を統合し、理解しやすくするために、さらに作業が必要であることがわかります。さらに調査するためにリストに追加します。

それまでの間、enable names サイト設定の説明にある曖昧な言語を削除するために、小さなPRを作成しました。

「いいね!」 3

これを分解して、私たちが下さなければならない決定を特定し、それから複数のTODOを作成することは、価値があると思います。私が自分でそれを解明するように割り当てます。

「いいね!」 2

このトピックには、次の3つのアクションアイテムがあるようです。

  1. enable_names サイト設定が無効になっている場合でも、管理者は常にユーザーのフルネームを表示および編集できるようにする。
  2. enable_names サイト設定が無効になっている場合、ユーザーのフルネームをメールに含めない。
  3. enable_names サイト設定の説明を変更し、それがセキュリティ機能ではないことを示す。管理者とモデレーターは常にそれを見ることができ、.jsonに精通している人も見つけることができます。サイトがユーザーに匿名性を許可したい場合は、名前フィールドに本名を入力しないでください。

(1)と(2)について調査します。

(3)については、曖昧でないより良い言葉を見つけ、詳細についてはメタのドキュメントトピックにリンクする必要があります。例えば、次のようなものでしょうか?

メンバーのフルネームをプロフィール、ユーザーカード、およびメールに表示します。これはセキュリティ機能ではありません。管理者とモデレーターは常に名前を見ることができ、.json経由でも検出できます。詳細はこちら

「いいね!」 4

Restrict exposure of full name to certain groups の実装に着手したのですが、まさに私がやろうとしていることと完全に重なるこのトピックを見つけました。

私の方法は、SiteSetting#enable_names を、適切なコンテキストで新しい Guardian#can_see_full_names? に置き換えることです。この新しいガーディアン述語は、ユーザーコンテキストを新しいサイト設定 full_names_visible_to_groups に対してチェックします。

意図せず誰かの邪魔をしたり、作業を重複させたりしたくありません。上記の (1)/(2)/(3) などについての状況/計画の更新はありますか?また、私が知っておくべき未公開の(つまり main リポジトリにない)作業/コードはありますか?

(1)と(2)はリストにありますが、まだ優先順位付けも着手もされていません。(3)は良いアイデアのように思えますが、まだ変更は行っていません。

あなたの実装は悪くありませんが、そのチームのエンジニアがここで返信する機会を与えるために、少し待ってみましょう。

ただし、製品に関する質問があります。一部のグループにフルネームへのアクセスを許可し、他のグループには許可しないのはなぜですか?ユースケースをもう少し詳しく説明していただけますか?