概要
Discussions のトピック一覧に表示される数値は、その場で計算されるものではありません。返信数、閲覧数、「いいね」の数、最終アクティビティ、最後に返信したユーザー、承認済みの回答は、Discussions Topics リストのトピック アイテムに保存され、返信した、開いた、または「いいね」したユーザーのブラウザーによって更新されます。これにより、数千件のトピックを持つ掲示板でも高速に動作しますが、その代わりに、カウンターが実際の状態より遅れることがあります。この記事では、バージョン 26.10.3 で各値がどのように維持されるか、どのような状況で正しく見えなくなるか、どのように修正するかを説明します。エンド ユーザーにとってのカウンターの意味は、KB10405. Discussions の「いいね」、閲覧数、返信数のカウンターで説明しています。
値の保存方法
| 表示 | Discussions Topics の列 | 更新されるタイミング |
|---|---|---|
| N replies | Replies (VtxReplyCount) | 承認済みの返信が投稿されたとき (+1)、承認待ちの返信が Web パーツで承認されたとき (+1)、承認済みの返信が Web パーツで削除または却下されたとき (−1) |
| N views | Views (VtxViewCount) | 書き込みできるユーザーがトピックを開いたとき (+1)。トピックごとにブラウザー セッションで 1 回 |
| 一覧の順序、3 hours ago | Last activity (VtxLastActivity) | トピックが作成されたとき、承認済みの返信が投稿または承認されたとき |
| — | Last reply by (VtxLastReplyBy) | 最終アクティビティと同じ。値は返信の作成者で、モデレーターが承認した場合も同様 |
| Like (N) | Likes (VtxLikeCount) と Liked by (VtxLikedBy) | ユーザーがトピックに「いいね」した、または「いいね」を取り消したとき |
| Answered バッジとチェック マーク、Answered ビュー、先頭の承認済み返信 | トピックの Accepted post (VtxAcceptedPostId) が 0 より大きいこと、返信の Is accepted answer (VtxIsAccepted)。トピックがロックされていない限り、Status (VtxStatus) も同時に Answered に設定されます | トピックの作成者またはモデレーターが Mark as answer または Unmark answer をクリックしたとき |
返信には、Discussions Posts に独自の Likes 列と Liked by 列があります。これらの更新はすべてベスト エフォートです。返信自体が保存された後にカウンターの更新が失敗した場合、返信は保持され、カウンターは単に変更されません。カウンターの更新の失敗について、Web パーツがエラーを表示することはありません。
📝 注
Discussions Boards リストの Topics 列 (VtxTopicCount) は、Web パーツでトピックが作成されると増え、Web パーツでトピックが削除されると減ります (ベスト エフォート)。この値は Web パーツのどこにも表示されず、クラシック掲示板のインポーターが作成したトピックや、リストで直接追加または削除されたトピックは数えられません。正確な数値が必要な場合は、Discussions Topics リストで掲示板のトピックを数えてください。
Replies カウンターがスレッドと異なる
症状。 一覧には 5 replies とあるのにスレッドには 4 件しかない、またはその逆です。
原因と対処。
- 承認待ちと却下された返信は数えられません。 承認待ちの返信は、Web パーツで承認されたときにのみカウンターに加算されます。却下された返信は決して数えられず、モデレーターが承認済みの返信を却下すると、カウンターは 1 減ります。モデレーターにはスレッドに承認待ちと却下された返信が表示されるため、モデレーターにとっては、スレッドがカウンターより多くの返信を表示するのは正常なことです。
- 返信がリストで直接承認、却下、または削除された。
Discussions Postsで Approval status を変更したり、そこでアイテムを削除したりすると、Web パーツを経由しないため、カウンターは変わりません。承認、却下、削除は Web パーツで行ってください。変更がリストで行われた場合は、カウンターを手動で修正します (後述)。 - 2 人が同時に返信した。 各ブラウザーは現在の値を読み取り、1 を加えて書き戻します。同時に投稿された 2 件の返信が 1 件として数えられることがあります。これはまれで、次に値を手動で編集したときに修正されます。
- 返信者がトピック アイテムを編集できない。 カウンターは、他のユーザーが作成したトピックにあります。サイト所有者が
Discussions Topicsのリストの設定 → 詳細設定 → アイテム レベルの権限をアイテムを作成し、ユーザーが作成したアイテムを編集するに設定した場合、作成者とモデレーター以外はトピックのカウンターを更新できません。Discussions のリストでは、既定のすべてのアイテムを作成し編集するのままにしてください。 - インポートされたトピック。 クラシック掲示板のインポーターは、最終フェーズ (Updating counters and answers) でカウンターを設定します。インポートが中断された場合は、もう一度実行してください。KB10421. クラシック掲示板インポートのトラブルシューティングを参照してください。

閲覧数が数えられない、または多すぎる
症状。 多くの人が読んだトピックの閲覧数がわずかしかない、または同じ人が新しいブラウザー セッションでトピックに戻ってくるとカウンターが増えます。
原因。 Web パーツは、トピックが開かれたときにトピック アイテムに書き込むことで 1 回の閲覧を加算しますが、加算されるのはトピックごとにブラウザー セッションで 1 回だけです。ブラウザーのセッション ストレージ (session storage) にフラグを保存するため、同じセッションでトピックを再度開いても数えられません。このフラグはブラウザーのタブを閉じると消去されるので、新しいセッション、別のブラウザー、別のデバイスでは再び数えられます。ブラウザーがセッション ストレージをブロックしている場合は、開くたびに数えられます。閲覧 (Read) アクセス許可しか持たない訪問者は書き込めないため、その訪問はまったく数えられません。ほとんどの人が閲覧者である掲示板では、カウンターはメンバーの分だけを反映します。作成者による閲覧も他の閲覧と同様に数えられます。トピックを開いたときに表示されるカウンターは、自分の訪問前の値です。
対処。 修復するものはありません。閲覧数は、読者数ではなく、メンバー間のアクティビティの目安として扱ってください。カウンターが不要な場合は、プロパティ ウィンドウの Show reply and view counters で非表示にします。KB10422. ビュー、ページング、検索、カウンター: Discussions Web パーツの表示設定を参照してください。
最終アクティビティと最後に返信したユーザー
症状。 今日編集したトピックが Recent の一覧でまだ下のほうにある、最後の返信が削除されたトピックに古い日付が残っている、Last reply by に一度も返信していないモデレーターの名前が表示されます。
原因。 Last activity と Last reply by は、トピックの作成時と、承認済みの返信が投稿または承認されたときに設定されます。トピックや返信の編集、「いいね」、ピン留め、おすすめ、ロック、返信の却下、最後の返信の削除では変更されず、以前の値がそのまま残ります。モデレーターが承認待ちの返信を承認すると、Web パーツはモデレーターではなく返信の作成者を Last reply by として記録します。バージョン 26.10.2 では承認したモデレーターが記録されていたため、そのバージョンで返信が承認されたトピックには、引き続きモデレーターが表示されることがあります。
対処。 一覧の順序は、会話が行われている場所を示すという目的のためには正しいものです。トピックを先頭に残す必要がある場合は、モデレーターがそれを Pin (ピン留め) できます。値を修正するには、リストで列を編集します (後述)。
ベスト アンサーと Answered 状態
症状。 質問に Answered バッジが表示されているのに承認済みの回答としてマークされた返信がない、ロックされた質問に Answered バッジが表示され続ける、承認済みの回答が先頭にない、または Mark as answer が表示されません。
原因と対処。
- 回答済みの状態は、ステータスではなく承認済みの回答に連動する。 Answered バッジ、チェック マーク アイコン、Answered ビューは、Accepted post が 0 より大きいかどうかで決まります。Unanswered ビューには、Accepted post が 0 の質問が表示されます。そのため、回答済みの質問をロックしても、Status が Locked であるにもかかわらず、バッジ、アイコン、Answered ビューでの位置は保たれます。トピックのロックを解除すると、Status は Answered (承認済みの回答がない場合は Open) に戻ります。これは仕様です。
- 承認済みの返信が削除された。 返信が Web パーツで削除されると、トピックの Accepted post がクリアされて Open に戻り (ロックされたトピックは Locked のまま)、質問は Unanswered ビューに戻ります。返信がリストで直接削除された場合やバージョン 26.10.2 で削除された場合は、トピックは削除された返信の ID を Accepted post に保持したままになるため、スレッドに承認済みの回答がなくてもバッジは残ります。作成者またはモデレーターが Mark as answer で別の返信をマークする (保存された ID が置き換わります) か、モデレーターがリストで Accepted post を 0 に、Status を Open に設定します。
- 承認できるのは最上位の返信のみ。 Mark as answer は、質問への直接の返信に表示され、返信への返信には表示されません。また、種類が Question のトピックでのみ表示されます。Discussion トピックにはベスト アンサーがなく、Answered 状態になることはありません。
- ボタンが表示されるのは作成者とモデレーターのみ。 他のメンバーには Mark as answer はまったく表示されません。承認待ちの返信は、承認されるまでベスト アンサーにできません。
- トピックがロックされている。 トピックがロックされている間は、Mark as answer と Unmark answer は非表示になります。モデレーターが最初にトピックのロックを解除し、回答を変更してから、再度ロックします。
- 2 つの返信がマークされている。 Web パーツは、新しい返信がマークされると以前の承認済み返信のマークを解除します。その時点で以前の返信が既に削除されていた場合、解除するものは残っていません。ある返信に Accepted answer が誤って表示され続ける場合は、モデレーターが
Discussions Postsを開き、その返信の Is accepted answer を No に設定します。 - 状態がリストで変更された。 リストで Status を Answered に設定しても、トピックは回答済みになりません。バッジと Answered ビューは Accepted post に連動します。回答がマークされていない限り、Open に戻してください。
エンド ユーザーにとっての回答の承認の仕組みは、KB10400. Q&A トピックでのベスト アンサーのマークで説明しています。
「いいね」
症状。 Like (3) と表示されているのに Liked by には 2 人しか表示されない、またはユーザーが「いいね」を取り消せません。
原因。 「いいね」の数とユーザーの一覧はブラウザーから一緒に書き込まれます。2 人のユーザーからの同時の「いいね」によって、2 つの列がずれることがあります。あるユーザーに対して Like ボタンが強調表示されるかどうかは Liked by の一覧で決まり、表示される数値は Likes カウンターです。閲覧 (Read) アクセス許可の閲覧者には数が表示されますが、「いいね」はできません。
対処。 モデレーターがリストで 2 つの列を揃えることができます。Likes を Liked by の人数に設定してください。
リストでの値の修正
モデレーターは、保存されている値のいずれも直接修正できます。
- Web パーツの上 (またはプロパティ ウィンドウの Board グループ) にある Open List をクリックします。
Discussions Topicsリストが開きます。 - トピックを見つけて、そのアイテムを編集用に開きます。Replies、Views、Last activity、Last reply by、Likes、Status、Accepted post の各列は、他のリスト列と同じように編集できます。回答済みの状態は Accepted post に連動します。質問を再び未回答にするには、この列を 0 に設定します。
- 正しい返信数を得るには、
Discussions Postsを開き、Topic 列と Approval status = Approved でフィルターします。アイテム数が Replies の値です。 - 保存して、掲示板のページを再読み込みします。

❗ 重要
編集するのは上記の列だけにしてください。Board、Type、Path、Depth、Parent post は変更せず、Vtx 列を削除したり名前を変更したりしないでください。Web パーツはそれらを固定の ID で識別し、スレッドの構造はそれらに依存しています。トピック アイテムの編集は、数えられた各閲覧を含め、そのたびにリストのバージョン履歴にバージョンを作成します。履歴の増え方が速すぎる場合は、バージョン設定で保持するバージョン数を減らしてください。