HTA

2009年8月23日 (日)

今までTrac関係で作ったものの関係をまとめる。

勉強会の発表資料は分かりにくかったのと,Trac関係に一区切りをつけたいなということで,最近は仕事でTrac使うことがないので,テストとかほとんどできてなくて,すべて中途半端ですが、私がやってきたこと(ProjectのVBAは後で登録します)をまとめておきます.

今まで,Tracの問題としてあげられてきた内容をまとめると.

  • プロジェクトの親子関係がない
  • チケットの粒度が違うものをどうするか
  • 項目(カスタムフィールド)が大きく違うものを同じプロジェクトで扱うこと
  • 複数のプロジェクトに分割したときの登録,確認,出力方法
  • コミットメッセージが一つのプロジェクトにしかつけられないため分割できない

これらを解決するために,私が作ってきたものがどこにからんでくるかということを,次の図にしました.この図ならなんとかわかってもらえるのではないかと

Multitracdep_3

1. InterTracCommitPatch

コミットメッセージを,同じサーバ上の隣のプロジェクトにつけることを可能にします.これにより,今までは,要件定義,工程,実作業,障害などは,同じリポジトリを使う必要があため,どれだけ扱う項目(カスタムフィールド)が違っていたとしても,同じプロジェクトで扱うしか方法がありませんでした.これがあれば,リポジトリの縛りから解放され,プロジェクトを自由に分割することができます.

2. TracDepenecencyPlugin

同じサーバのTracプロジェクト間でチケットの親子関係と,依存関係を扱えるように拡張し,Tracのプロジェクトを分割することが容易になります.カスタムフィールドの入力のところのチェックがまだ追加できてないので,先行チケットを複数指定するときはカンマで区切り,スペースを追加しないとだめなはず.

3. レポート,クエリのHTA

複数のプロジェクトの状況を確認するには,いろいろやらなければならないことが多かったため,これを使用することで,一つのクエリ,レポートの状況を一目で確認できるようにします.いまはTraM(まだ確認してません)があるので必要ないのでしょうか.このHTAは,環境によるのだと思いますが,接続できない未解決の問題があるようです.

4. チケット登録/編集用Excel VBA

XML-RPC経由でチケットの登録と編集を行います.単純に複数のシートに書き込めるようにしただけですが,あれば結構便利です.

5. MS-Project - Trac 連携VBA InterTrac対応版(未公開)

このVBAは,2.のプラグインの情報を元に,ガントチャートが作成でき,先行タスクのところにカッコつきで指定した,四つの依存関係(SS,FS,SF,FF))に対応もしています.作ったものの,仕事で使う機会がなく,デバッグできてないので,公開してません.どの範囲の親子や依存関係を取ってくるかは情報の取得時に設定するため,開発者個人のプロジェクトやレビュープロジェクトを含め内容にすることができます.(MasterTicketsのように,双方向のリンクをDBに保存してないのはそういう理由だったんですが,今となってはあってもよかったのかなぁと思ってます.)

最近出てきたTraMとか含めると,いろいろなところで出ていたTracの問題や,RedMineより劣る点って,解決すると思うんですがどうでしょうか.

| | コメント (0) | トラックバック (0)

2009年3月14日 (土)

Tracのレポートをチェックして表示するHTA

Tracの通知メールが埋もれてわからなくなるとかよく言われます。今までは「一日何回かレポートを確認すればわかるだろう」って思っていたんですが、自分自身も承認し忘れていたりするなぁということで、レポートに一件でもあればアイコンを表示する簡単なHTAを作ってみました。

Tracreport

起動:

  • 「TracReportCheck.hta」をダウンロード
  • ファイルを選択して,コンテキストメニューの"プロパティ"を表示する。
  • "全般"タブのセキュリティで"ブロックの解除ボタン"を押す
  • ファイルをダブルクリック

※接続できない場合はエラーが出ると思いますので下の1.のところを先に修正しておいてください。

機能:5分に一回(変更可能)指定したユーザ名でレポートを確認し件数を表示します。

カスタマイズ方法:

1. 次の箇所のアドレスとユーザ名とレポート番号を変更してください。

    Sub Requery
     s = "<tr bgcolor=""#cccccc""><th></th><th>レポート名</th><th>数</th></tr>"
     strURI = "http://localhost/trac/SampleProject/report/1
  s = s + QueryTracReport(strURI,"admin","admin")
     strURI = "http://localhost/trac/SampleProject/report/2
  s = s + QueryTracReport(strURI,"admin","admin")
     strURI = "http://localhost/trac/SampleProject/report/3
  s = s + QueryTracReport(strURI,"admin","admin")
     strURI = "http://localhost/trac/SampleProject/report/4
  s = s + QueryTracReport(strURI,"admin","admin")
     DataArea.InnerHTML = "<table border=4 width=250>" + s + "</table>"
    End Sub

2. アイコンは適切なものを作成して、green.pngのところを変更してください。

3. レポートを作成する

  承認待ちとかのレポートを作成しておくとこのHTAを起動しておく意味が出てくると思います。

課題:サイドバー化(このHTAの中身のほとんどはVBScriptでできているので設定と表示をgadget化するぐらい)、タスクトレイ化(VB.NET化と設定部分のUI追加)

MSXML2.XMLHTTPを使っているので環境によっては動かないこともあると思いますが、ご報告いただけるとありがたいです。

| | コメント (5) | トラックバック (1)