本当は Yapra でやりたかったことナンバーワンだったはずなのに全然やってなかったイントラの Trac の timeline の一本化をやりました。(面倒くさがってただけでやり始めたら割とすぐできた。)
今回のキモはイントラの Trac の URL が
http://host/trac/NAME
の形で統一されているので、/ で split して NAME を引っぱり出すところかな? これで一本化された feed を読んでいてもどの Trac からの情報かが title だけで分かる。(まぁリンクを踏めば間違いなく分かるんだけど。)
- module: RSS::load
config:
url:
- http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
- http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
- http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
- http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
- http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
- http://host/trac/NAME/timeline?VARIOUS_OPTIONS&format=rss
- module: Filter::sort
config:
method: date
- module: Filter::ApplyTemplate
config:
title: '<%= "[#{item.link.split( /\// )[4]}] #{item.title}" %>'
- module: RSS::save
config:
title: "multitrack"
link: http://HOST/PATH
filename: /PATH/TO/FEED
実際の Trac の URL とか保存先のファイル名とかよしなにしてください。
本当は My Tickets の一本化もやりたいんだけど、なんかあまりうまい方法が思いつかないんだなぁ。ユーザーごとに feed を作るようにするしかないかな? 人数少ないうちなら全然それでも問題ないんだよな。
あーあと本当に今いちばん欲しいのは Roadmap の iCal データを merge して出してくれるものだな。あったらすっげー便利だと思う。
trac の情報を引き出す plugin にしちゃった方が応用はやりやすいんだろうなぁ。