Warning: リポジトリと同期できません (サポートされていないバージョンコントロールシステム "svn です。 Python のライブラリに "svn" が正しくインストールされているか確認してください。)

チケット #49 (new ブログ)

登録: 19 年

最終更新: 15 年

ガントチャートとマイルストーン

報告者: weekbuild 担当者: weekbuild
優先度: (´ー`*) コンポーネント: TracDoc
バージョン: キーワード:
関係者:

説明

Tracのマイルストーンは、「何かが完成するまでに必要な作業と、何が完了したか」を見ることが出来るできます。これは、ちょっとすごい機能ですね。 開発者が「進捗という資料」をつくらなくていい。 最初にマイルストーンを作成して、あとはチケットにやることを入力しておくだけで、 進捗表らしいものが出来るわけです。

ただ、仕事で使うにはちょっと物足りない。普通SEは、ガントチャートっていう もっと細かいスケジュールを使いますね。「何日~何日にこれをやって」「これが 終わらないとこれが開始できない」みたいな。クリティカルパスとか見たりするし。

そんなわけで、マイルストーンをガントチャートっぽく扱えるようにしたいなと。 次に作るものはそれにしようかな、と考えてます。

チケットに完了日項目を追加して、、ていう方法もあると思うんだけど、それはパスかな。 というか、実際にそういう方法でやってたんだけど、いまいち機能しなかったので。 開発者から見ると、1つ1つのチケットについて、これはxx日というのでは管理しづらいみたいですね。見落としやすいし、スケジュールの変更が発生したときに対応できないみたい。

添付ファイル

Trac-Gantt.zip (138.8 kB) - 登録者 anonymous 18 年 前.
担当者を引き継ぐようにした。

チケットの履歴

  更新者: anonymous (19 年 前)

いつも大変参考にさせて頂いています。

GanttProjectという素晴らしいツールがあるのですが、それとTracのチケットやマイルストーン等を双方向にリンクできないかなと思っています。

  • ガントチャートの開始日、終了日、依存関係等はTrac Gantt Pluginのように[ticket-custom]に保存し、Tracの情報はGanttProjectの「Custom Columns」に保存することで、お互いを紐付けする。
  • GanntProjectのファイルはMSXML2を使って読み書きし、TracはデータベースをPostgreSQLでインストールし、ODBC経由でデータベースを読み書きして双方向に同期する。

といったプログラムをVBScript等で作成すればよいのかなと思っています。

関連:TimeTrackingXmlRpcPlugin

フォローアップ: ↓ 3   更新者: weekbuild (19 年 前)

情報ありがとうございます。GanttProject面白そうですね~。

一般的なガントチャートの問題点は、「入力するのがめんどくさい」→「毎日入力するなんてとても無理」→「ちっともリアルタイムの情報が反映されない」ことかなと思います。その点Tracはリアルタイムの情報が反映されやすい。チケットやリポジトリは開発者の身近にあるツールなので。これをガントチャートとうまく連携できれば、開発者の手間を掛けずに「リアルタイムな進捗状況」がわかるようになるかもしれませんね。

↑ 2 への返信   更新者: anonymous (18 年 前)

weekbuild への返信
いつも大変参考にさせて頂いています。 最初にコメントした者です。

今更ですが、XML-RPCでTracのチケットを取得してGanttProjectのファイルに変換するツールを作ってみました。

フォローアップ: ↓ 5   更新者: weekbuild (18 年 前)

おおおっ。すごいですね。

↑ 4 への返信 ; フォローアップ: ↓ 6   更新者: anonymous (18 年 前)

weekbuild への返信

おおおっ。すごいですね。

とりあえず、作ってみましたけどGanttProject自体がまだまだアレなので、 まだあまり使っていません。

↑ 5 への返信   更新者: anonymous (18 年 前)

とりあえず、作ってみましたけどGanttProject自体がまだまだアレなので、 まだあまり使っていません。

GanttProjectってUIが微妙に独特な感じで馴染めないですよねぇ。

とはいえ、GanttProjectをフロントエンドにして、Trac(+TracGanttPlugin)のTicketやMilestoneと双方向にリンクして操作できたらそれはとてもすごいのでぜひ使ってみたいです!

ぜひ2006/05/20のコメントにあるようなプログラムを開発してください!

  更新者: weekbuild (18 年 前)

ひそかに@niftyのタイムラインに期待してたりして。API公開してほしいなぁ。

フォローアップ: ↓ 9   更新者: CentOS44 (18 年 前)

こんにちは

CentOS4.4 の Python 2.3.4 + Trac 0.10.3ja で試しました。 うまく動かなかったので、QuickHack したところ動きましたので、コメントしておきます。

Python 2.3.4 の xmlrpclib.py のバグのため、system.multicall が失敗するので、 XML-RPC Plugin に http://www.trac-hacks.org/ticket/871 のパッチを当てて インストールします。

つぎに、Trac-Gantt.hta 側に以下のパッチを当てます。

*** Trac-Gantt.hta.org	Sat Mar  3 17:55:10 2007
--- Trac-Gantt.hta	Fri Mar 30 14:02:52 2007
***************
*** 761,767 ****
  	Select Case TypeName(param)
  		Case	"String"
  '			valueToXML = "<string>" & Replace(Replace(param, "&", "&amp"), "<", "&lt;") & "</string>"
! 			valueToXML = Replace(Replace(param, "&", "&amp"), "<", "&lt;")
  		Case	"Variant()"
  			valueToXML = arrayToXML(param)
  		Case	"Dictionary"
--- 777,788 ----
  	Select Case TypeName(param)
  		Case	"String"
  '			valueToXML = "<string>" & Replace(Replace(param, "&", "&amp"), "<", "&lt;") & "</string>"
! 			If param >= "1" and param <= "999999" Then
! 				valueToXML = "<int>" & param & "</int>"
! 			Else
! 				valueToXML = "<string>" & Replace(Replace(param, "&", "&amp"), "<", "&lt;") & "</string>"
! '			valueToXML = Replace(Replace(param, "&", "&amp"), "<", "&lt;")
! 			End If
  		Case	"Variant()"
  			valueToXML = arrayToXML(param)
  		Case	"Dictionary"

VBScript は書いたことがないので、これでいいのかわかりませんが こちらではこれで動作しました。

次は、担当者のアサイン情報が引き継がれるととてもうれしいと思います。 続けての開発期待しています。

↑ 8 への返信   更新者: anonymous (18 年 前)

CentOS44 への返信

CentOS4.4 の Python 2.3.4 + Trac 0.10.3ja で試しました。 うまく動かなかったので、QuickHack したところ動きましたので、コメントしておきます。

こちらでの動作確認には FreeBSD-6.2, Python 2.4.4, trac-0.10.3.1-ja-1 を使用しています。関係ありそうな別のところを修正してみたのですが、これでも動きますか?

次は、担当者のアサイン情報が引き継がれるととてもうれしいと思います。 続けての開発期待しています。

では、まだタスクに割り当てられていない場合は、チケットから引き継ぐようにしてみました。

  • 担当者登録は名前のみ。役割は「未定義」
  • タスクへの担当者割り当ては、時間「100%」で「cordinator」とする。

更新者: anonymous (18 年 前)

担当者を引き継ぐようにした。

Note: チケットについてのヘルプは TracTickets を参照 して下さい。