統計の不一致

こんにちは!

特定のユーザープロフィールにアクセスしているのですが、そのプロフィールに表示されている「いいね」の数が、管理者ビューで同じプロフィールを開き、統計セクションまでスクロールした際に表示される数と全く異なります。

数値は以下の通りです:

Screenshot 2020-08-19 at 18.16.55 Screenshot 2020-08-19 at 18.17.11

「いいね!」 2

そのうちの 1 つは、移動時間ウィンドウ内にあります。

違います。どちらも通算の統計です。少なくともUIはそう伝えています。

はい、さらに確認を進めたところ、他にも奇妙な点が見つかりました。

私が管理者権限を持つサイト上の、より新しいユーザーを確認しました。
そのユーザーは30日前に加入しました。

公開プロフィールページ(https:///u//summary)では、image と表示されます。

管理者ページ(https:///admin/users//)では、image と表示されます。

そのユーザーは1つのトピックでのみ活動しており、複数の投稿があるため、すべての投稿を確認しました。いいねをしたことも、いいねをされたこともありません。

プライベートメッセージについては確認していません。

これは、公開プロフィールが単に公開トピックであり、管理者がDM内の「いいね」をカウントしているからではないでしょうか?

「いいね!」 6

それは私への質問ではないかもしれませんね、その機能は開発していないので :smiley: まあ、もしかしたらですが。いずれにせよ、UI の UX やコミュニケーションが不十分だったこと、あるいは他の理由で、またデータの不整合を経験することになりました。

@Falco さん、これが確実であることを確認していただければ、100% 安心できるのですが。ありがとうございます!

「いいね!」 1

ユーザーのサマリーページに表示される統計情報は、user_stats テーブルから取得されます。このテーブル内の likes_givenlikes_receivedpost_counttopic_count の各フィールドは、すべて通常のトピックで発生したアクティビティを指しており、PM(プライベートメッセージ)からのアクティビティは結果から除外されます。参考までに、discourse/app/models/user_action.rb at main · discourse/discourse · GitHub をご覧ください。

一方、ユーザーの管理ページに表示される統計情報には PM のカウントも含まれるため、likes_givenlikes_receivedpost_counttopic_count の結果は、この 2 つの場所で異なる値になることが予想されます。

ユーザーが「新規ユーザーチュートリアル」を完了した場合、PM 内で 1 件の「いいね」を送信し、1 件の「いいね」を受け取ることになります。これらの「いいね」はユーザーの管理ページに表示されますが、PM 内で発生したものであるため、ユーザーのサマリーページには表示されません。また、ユーザーがチュートリアルに返信している場合、管理ページに表示される「作成した投稿数」は、サマリーページに表示される数よりも多くなることが予想されます。

「いいね!」 4