ユーザーカードディレクトリ

デビッド様

問題を見つけました。

グループを選択し、スクロールしてさらに読み込むと、選択したグループのメンバーではなく、すべてのユーザーが直接読み込まれてしまいます。

ご確認をお願いできますでしょうか。

「いいね!」 3

また素晴らしいコンポーネントを提供してくださり、ありがとうございます :heart_eyes:

新しいダークモード設定に小さな不具合があります:

ダークテーマ:

自動ダークモードカラーモードが有効なライトテーマ:

リクエストですが、このコンポーネントに以下の2つの設定を追加することは可能でしょうか?

  • デフォルトの期間の選択
  • デフォルトのソート対象と順序の選択

デフォルトの期間を「年」に設定し、「読了数」で降順にソートすることで、過去1年で最も活発に読書したユーザーを上位に表示したいと考えています。

これは簡単に追加できる機能でしょうか?

「いいね!」 3

@david さん、こんにちは。このテーマコンポーネントは Discourse に引き続き価値をもたらしていますが、最近、既知のバグ(または機能)が私たちにとって非常に混乱と苦痛を引き起こしました。

既知のバグ(または機能): フィルター条件に一致しなくても、ログイン中のユーザーが常に結果に含まれてしまいます。

以下のケースでは、私のユーザーは ruby グループに所属していませんが、表示されてしまいます。

テーマを変更して、ディレクトリを表示しているユーザーが、自分自身に該当しない結果に表示されないようにすることは可能でしょうか?

この動作を変更するために何ができるか調査していただき、本当にありがとうございます。私たちは Discourse ベースのホスティングを利用しています。

「いいね!」 3

見事な発見ですね、@alxpck。2.6.0.beta5 で再現可能です。

「いいね!」 2

@davidさん@tobiaseigenさん、ここで何が実現可能かについての意見をお聞かせください。

「いいね!」 2

@alxpck さん、返信が遅くなり申し訳ありません!

これは実際にはコアの「ユーザーディレクトリ」の動作に由来するものです。Meta の /u ページを開いてユーザー名でフィルターをかけてみると確認できます。現在のユーザーは、どのようなフィルターを適用しても常にリストに表示されます。例えば:

しかし、グループでフィルターをかけた場合に非常に混乱を招くのはおっしゃる通りです。誰かが意図的にそのようなフィルターをかけている場合、自分自身は表示されたくないはずです(フィルター条件に一致する場合を除きます)。

コア側でこの件について議論するための PR を作成しました:UX: Do not include current user in group-filtered directory results by davidtaylorhq · Pull Request #11310 · discourse/discourse · GitHub

その結果を見てみましょう。もしコア側でその変更を行わないと判断された場合は、このテーマコンポーネントに対する回避策を検討します。

「いいね!」 7

@david さん、本当にありがとうございます。Discourse コアと User Card Directory テーマの両方の観点からご検討いただき、心から感謝しております。

どちらの視点から見ても、変更を加えることがコミュニティにとって非常に価値のあるものになることは確信しています。

遅れについては全く気にしないでください。2020 年ですからね、そうでしょう?

「いいね!」 4

はい、特に Subscriptions プラグイン で使用される購読者グループの場合はそうです。

「いいね!」 3

@david の変更をマージしました。今後 1 週間程度で、皆さんのサイトにも反映されます。

現在残っている課題は、ディレクトリを訪れて何もフィルタリングしていない場合に「常に表示」の忠実度をどうするかという点です。

「/u ページを訪れた際(フィルタなしでも)、自分自身を最優先に表示しない」という機能について、まだ関心はありますか?もし必要であれば、コンポーネント側で何らかの回避策を講じることも可能です。

「いいね!」 6

素晴らしい!@sam@david、そしてチームの皆様、ありがとうございます!

「常に表示する」について:

  • デフォルトの /u ページレイアウトが統計データに基づいたリーダーボードである以上、ユーザーの自分のプロフィールを目立つ位置に常に表示することは理にかなっていることは理解できます。そうすれば、Discourse の他のユーザーと比較して自分の立ち位置を把握しやすくなります。
  • しかし、私たちのユースケースであるユーザーカードディレクトリでは、ページは比較ではなく発見を目的としています。ユーザーは自分のプロフィールを発見する必要がないため、上位のスペースのいずれかを常に自分の情報で埋めることは役立たず、スペースの無駄遣いでもあります。もしユーザーが自分のプロフィールを見つけたい場合は、/my/summary にアクセスするか、プロフィール画像をクリックするよう教育済みです。

他の Discourse インスタンスにおけるあらゆるユースケースについてはコメントできませんが、私たちのニーズにおいては、フィルターの有無にかかわらず、ユーザーに自分のプロフィールを表示しないようにすることが可能であれば、それを強く望みます。

「いいね!」 4

他の人々の意見については存じ上げず、ユーザーディレクトリに関する不満もあまり聞いたことがありませんが、私自身もこれをリーダーボードとして使うことはなく、主に発見のために利用しています。

非表示にするためのトグル機能を追加することは可能でしょうか?

「いいね!」 3

もしかしたら可能です。@codinghorror さんに、これをコアのサイト設定として実装したいのか、それともテーマコンポーネントの扱いとしてすべきかを確認する必要があります。これは過去数年間で 2〜3 回、同様の話題が出ています。

少なくとも、テーマコンポーネントでこれを上書き・修正できるようにコア側を調整することは可能です。

「いいね!」 5

正直なところ、「カードのグリッド」機能はサイト固有の要素のように思えます。サイト設定として扱うのは問題ないと思います。特に強い意見はありませんが、デフォルト設定とするのは適切ではないと考えます。

「いいね!」 4

この PR は、テーマコンポーネントに「現在のユーザーを非表示にする」設定を追加するものです。有効にすると、現在のユーザーが常に表示されなくなります。

「いいね!」 4

実際には現在のユーザーを表示したいケースは考慮されていますか?例えば、自分自身を検索した場合や、リーダーボードの最上位にいる場合などです。

@alxpck にとっては現状で十分だとは思いますが、声に出して考えてみました。

「いいね!」 3

現在のユーザーを無条件に非表示にし、これはデフォルトで無効になっているテーマ設定です。ユーザーカードのレイアウトとしては許容範囲だと思いますが、リーダーボードには明らかに適しません。

「いいね!」 3

ありがとうございます!

これは素晴らしい改善です。

@sam が言及した粒度(実際に現在のユーザーを表示したいケース)を優先したいところですが、フィルター条件を満たさない人を検索から除外することが、私たちがこの問題に直面した原因でした。そのため、現在のユーザーを非表示にするテーマ設定を導入していただき、心から感謝しています。

「いいね!」 3

いくつかのユーザーのカードが重複して表示されているようです。例えば、このページには「andy1」や「blane」などが複数表示されています。

https://forum.moversmindset.com/u

追記:奇妙な現象が発生しています。Chrome の Cognito で確認した際には重複が見られたのですが、Safari でログインした際には重複が表示されません。原因の特定が難しそうです…

「いいね!」 3

こんにちは、クレイグさん。ご報告ありがとうございます。これは Discourse コアの問題のようです。ユーザーカードコンポーネントが無効化されていても発生します。

問題の根本原因は、現在すべてのユーザーのメトリクス値が「0」であり、ソート処理が一貫していなかったことです。この問題を修正する PR を作成しました。マージ後、すぐにあなたのサイトにデプロイします。技術的な詳細については、興味があれば PR をご覧ください。

「いいね!」 5

修正が完了し、@craigconstantine さんのサイトにコアとなる変更をデプロイしました。もしまだ問題が見られる場合は、お知らせください。

修正済みです。お待たせして申し訳ありません!管理ダッシュボードでテーマコンポーネントを更新すれば、ライト/ダークテーマともに正常に表示されるはずです。

「いいね!」 6