QA #300
未完了特定の人の活動状況を追いたい(Redmine本家含)
0%
説明
■現象/要望¶
特定の人の活動状況を追いたい
注目すべき活動をしている人物、要注意人物の活動履歴を確認したい場合はある。(特にRedmine本家)
直近の活動履歴はusersから表示できるが、それ以前の物はRedmineの画面上で表示できない。
自サイトならSQLでJournalを漁れば判るが、adminの余計な仕事が増えるので好ましくない。
■解決策¶
直近の活動履歴(十数件)は、チケットの担当者からリンクされるプロフィール画面内に表示されているが、それ以前のものは表示されていない。
以前の活動履歴を示すリンク等は無い。
ここで、「活動」のリンクをクリックすると、その人の過去の行状を表示するactivityのページに移動する。1ページに収まらない分は、前を表示することでたどれる。
Redmine本家については、3日間隔でactivitiesをダンプする事で対応できた。
https://redmine.tokyo/issues/300?issue_count=188#note-6
■対応状況¶
標準対応済
■補足¶
画面表示分より以前のデータがある場合には、以前のデータへのリンク程度表示した方が親切。。
usersとactivityの違いは判るが、それは作る側の視点。
ユーザに過保護な時代に生きているのは事実だろうが、寡黙過ぎ。10年でUI/UXの期待値は大幅に上がった。
設計思想レベルの話。
奈良 裕記 さんが4年以上前に更新
ブランク期間があると空白ページの操作が続くので、
数年前の自分の投稿履歴を追いたい時は辛いです。
(良さそうなのを見つけたら自分が既に+1していたことも頻繁)
下記パッチの機能か、一括出力が欲しいところ
https://www.redmine.org/issues/3099#note-6
奈良 裕記 さんが4年以上前に更新
Redmine本家のユーザID単位変更情報取得方法¶
下記手順で、指定したユーザの過去コメント情報を取得できた。
以下、redmine本家のユーザID=1234567、登録日が2017/1/24だった場合の実施例
1.Redmine本家登録日の確認¶
redmine.org上のユーザID登録日を確認する。
登録日はそのユーザIDのリンクからわかる。
この登録日より前の活動履歴を取得する必要は無い(単なる無駄)
2.活動履歴一括取得¶
下記のように、3日単位のユーザID指定した活動履歴取得バッチを作成し一括実行する。
本家登録日より前の日時は検索不要。
指定したユーザIDによる変更のリンクのみが出力される。
curl -o 2019-09-30.txt "http://www.redmine.org/activity?from=2019-09-30&user_id=1234567" curl -o 2019-09-27.txt "http://www.redmine.org/activity?from=2019-09-27&user_id=1234567" curl -o 2019-09-24.txt "http://www.redmine.org/activity?from=2019-09-27&user_id=1234567" ... curl -o 2017-01-24.txt "http://www.redmine.org/activity?from=2019-01-24&user_id=1234567"
本家サーバ負荷集中を考えると、途中でSleep入れた方が良い。
1回のアクセスに平均1秒程度掛かった。
勿論curlでもwgetでも構わない。
3.変更履歴抽出¶
上で出力したファイルから抽出する。
"<a href=""/issues/" で検索すれば良い。
コメント
<a href="/issues/5358#change-86242">Feature #5358: Share Issues Categories for sub-projects</a> <a href="/issues/5358#change-92804">Feature #5358: Share Issues Categories for sub-projects</a>
チケット作成
<a href="/issues/29164">Feature #29164 (New): Make the terms overwrite from the Redmine administration screen.</a>
4.実際の変更内容確認¶
上記の検索結果をredmineのURLに繋げれば、過去のコメントを参照できる。
http://www.redmine.org/issues/5358#change-92804
5.補足¶
多数のIDを一括調査したい場合は、user_idの指定無しで取得し、後からテキストを処理することも可能。(各注記は、下記形式で記録出力されている)
但し、本手順は、3日単位のactivities取得で、取りこぼしが無いことを前提にしている。
指定した3日間の途中で1日に10000件のコメントがあり、途中で1日分のデータが欠けたような場合は、欠測する。
(この現象が実際に発生するかは未確認)
<dt class="issue-note ">
<img alt="" class="gravatar" default="identicon" rating="PG" src="http://www.gravatar.com/avatar/5afa0b3a91d287fdf8b248a118a3975d?rating=PG&size=24&default=identicon" ssl="false" title="" />
<span class="time">05:09</span>
<span class="project">Redmine</span>
<a href="/issues/29482#change-93846">Patch #29482: Query system for Projects page</a>
</dt>
<dd class=""><span class="description">+1<br /></span>
<span class="author"><a href="/users/151432" class="user active">Yuuki NARA</a></span></dd>