トップ «前の日記(2008-04-29) 最新 次の日記(2008-05-01)» 編集

2008-04-30 [長年日記]

_ Retrospectivaを試してみた

実際に試したのは 4月29日。

Trac に対する不満

Trac からの移行を考えている。なんでかっていうと

  • Trac は複数のプロジェクトを扱うことができない
  • 1Trac : 1ユーザーDB になるのでプロジェクトが増えるとユーザー管理が面倒くさい

Trac は基本的に認証用のユーザー DB と権限管理のユーザー DB が分離している。デフォルトでは認証は HTTP サーバの BASIC 認証を利用していて、権限を Trac の DB に保存する形。この形のままプロジェクトごとに Trac が増えていくとかなり管理しにくいこと請け合い。

もしかするとリポジトリは1つにすべしという考え方に基づいているのかもしれない。でも自分の経験では適切に分割してある方がやはり扱いやすい。これは皮肉なことに(?)特に Trac を使い始めてから強く感じている。例えば複数のプロジェクトの branch が増えてくると Trac で browse するのも一苦労*1。開発プロジェクトと管理プロジェクトではチケットの設計だってずいぶん違う。

まぁそんな訳で複数のリポジトリ、複数のプロジェクトを一つの ITS で管理できたらいいなと思うようになってきていた。調べると Trac にも複数のプロジェクトを横断的に閲覧することを助けてくれる plugin はある。でもそれは目的と違うんだよなぁ。

ごく大雑把に特徴

というわけで Retrospectiva. ざっと調べたのと軽く動かしてみた印象での特徴は以下のような感じ。

  • Ruby on Rails アプリ
  • ということは ActiveRecord で扱えるすべての DBMS とともに動く
  • 機能的には Trac + WebAdmin + blog
  • 独自に認証の機構を持つ
  • 複数プロジェクトを管理可能、これらをグループと関連づけて運用する
    • プロジェクトごとに参加メンバーが違うなど

この時点で複数プロジェクトのために複数 Trac を設置して、それぞれバラバラにユーザー管理しなければいけないという事態からは解放される。

インストール

Rails のインストールは省略。今回はFreeBSD上で、すでにOpenFL(Fastladder.org)のために構築してあった Rails 2.0.2 の環境でテスト。

試した時点ではアーカイブのダウンロードという選択肢はなく、svn co する以外にない。ちょっとビジネス寄りの人にはいやがられるかもね。

Rails 2.0.2 では stable 1.0 は動かなかった。trunk(Rev.495) は動いた。

リポジトリとの関連付けは任意

Trac と大きく違うのは、

  • リポジトリとプロジェクトは必ずしも結びついていなくてよい
  • リポジトリは local だけでなく remote でもよい
    • 試してないけどたぶん*2

つまり、リポジトリを使わないプロジェクト(開発以外)などにも使えるってことだ。これはなかなかいいと思う。メニューのカスタマイズもできるので Browse のメニューは必要なければ消しちゃえばいい*3。開発者と非開発者で同じ Retrospectiva を共有しやすいと思う。

subversion 以外とも連携できるようにということは配慮されているみたいだけど、今のところ subversion しか使えないように見える。*4

migration

trac からの移行用スクリプトはある。どれだけ双方のバージョンに追随しているのかは分からないけど。

「とりあえず見るだけ」ってどうやんの?

「Default」グループに各Viewの権限を、すべてのプロジェクトに対して割り振っておく。これやっておかないと(少なくとも試した rev. では)ログインしないと何にもできない状態になる。Trac に慣れているとここは面食らう。

redMineとの比較

ついでに redMine とも比較してみた。ただし gihyo.jp の記事を読んだだけ。これによると Trac, Retrospectiva に対する特徴としては

  • 最近のバージョンはパッケージに Rails 同梱でインストール簡単
    • Rails との互換性の問題などは考える必要がない
  • ロールによる権限管理
  • ワークフローが定義可能
  • Issue ごとに進捗率が設定可能
  • svn commit メッセージ連携機能
    • Issue の close を commit だけで完了可能(たぶん Trac なんかでも plugin でできなくはないと思うけど、標準で用意されてるってのが大きいのかな?)
  • Wiki, 文書、ニュース
    • ニュースが blog 的なものだとすると文書は?
    • Wiki は履歴が残る
  • forum もある

個人的な印象だけど、

なんか全体的にグループウェア的で、Tracクローンとは呼べないと思う。

Trac の経験があるなら移行は Retrospectiva の方が楽。redMine の方がどちらかというと開発者よりもマネージャ寄りの機能が充実しているような気がするけど、それは単に Trac も Retrospectiva もそういうことをあまり考えていないだけかもしれない。

まとめ

いずれにせよ Retrospectiva も redMine も Trac のようには plugin も情報も充実していない。Trac のどこに不足を感じ、これらのどこに魅力を感じるのか考えて決めるべし。

余談 - API ってないの?

贅沢を言えば Retrospectiva を API で操作できればなーって感じ。例えば

Mylyn&Tracでリズムに乗ってタスクを大掃除♪ (1/4) - @IT

では Trac に XmlRpcPlugin を追加して Eclipse との連携を実現している。こういうのが Retrospectiva にもあれば、eclipse に限らず外部のツールと連携させやすくなる。ブラウザさえあれば管理できるのがこれらのツールのメリットでもあるけれど、やはり HTML 上の UI には限度があると思う。Mozilla アプリの extension でも AIR でもいいけど、扱いやすい外部ツールを用意しやすくする仕組みは大事だよなーと、Twitter を irc クライアントで利用しながらつくづく思うのであった。

Tags: Sysadmin ITS

*1 ViewCVS を使っていたときは HTML の table にズラッと出てくる形ではなかったのでそれほど気にならなかった。

*2 てゆーか svnsync なんてものが 1.4 以降からあったのか。

*3 はず。

*4 ちょっと grep 掛けてみただけ。