Reporting PluginというConfluenceの統計情報を出してくれるプラグインがある。
スペースのページ数や、任意のラベルがついているページ数などはConfluenceにコアで付いていたり、ユーザーマクロを使ったりして計算できるが、それよりもっと詳しくデータを出したい場合はこのプラグインが有効らしい。
ただ、ちょっと手ごわいので、ドキュメントを読んでみて理解したことをまとめていく。
読み始めるドキュメントはこちら
User Guide - Reporting - ServiceRocket Documentation
キャッシュをとったりしているわけではないらしく、ページ毎に計算しているので若干遅くなることがあるかもしれない。・・・らしい。
新人さん向けYouTubeビデオ
こちらを見ながら。
ざっと要点
ReportBlock
レポートを単純に表示するReportBlockは「****Reporter」というデータの供給定義部分と「****Info」というデータ表示の定義部分に分かれており、それらをラップしている。「****Reporter」は、レポートする対象。スペースとかコンテンツとか。対象によってはソートや絞り込み(Filter)というパラメータがある。
構造はかなり簡単。
ひとつ難しいとすると、ReportInfoマクロに「データの何のプロパティを表示させるか?」という項目(Key)があるが、これを指定するにはhttp://docs.servicerocket.com/display/AtlassianPlugins/Suppliersを知ってないとダメ。スペースキーだったら、「Space:key」というように指定する。:の右側は例えばSpaceならこちらのページを見て使えるプロパティを探して指定する。
ReportTable
テーブルでできるのは、複数のカラムを持てること。カラムはReport-Columnマクロで作成し、中に表示するデータを定義する「ReportInfo」マクロを入れてやる。その全体をラップしているのがレポートテーブル(表表示)という構造になっている。
当然というか、データソースであるReporterにスペースを指定してるのにReportInfoでcontent:titleとかを指定しても何の意味もない。
他のプラグインとの連携
Scaffoldingプラグインや、AdhocWorkFlowsのプラグインとも連携できるらしい。
そして、何よりmetadata pluginと連携してmetadataを集計できるらしいというところに興味がある。