読者です 読者をやめる 読者になる 読者になる

tohokuaikiのチラシの裏

技術的ネタとか。

Confluenceのプラグイン開発を承ります。ご連絡はこちらのホームページからお願いいたします。

Reporting Pluginを使ってみる(1)

confluence

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とかを指定しても何の意味もない。

ソートをしたいときは、NaturalSortマクロをReporterの中に入れてやる。

絞り込みを掛けたいときは、****FilterマクロをReporterの中に入れる。

他のプラグインとの連携

Scaffoldingプラグインや、AdhocWorkFlowsのプラグインとも連携できるらしい。

そして、何よりmetadata pluginと連携してmetadataを集計できるらしいというところに興味がある。