こんにちは、新しい Trac プラグイン「WikiGanttChartPlugin」をリリースいたしました。
このプラグインを使うと、Trac の Wiki やマイルストーン(ロードマップ画面)でガントチャートを作成することが出来ます。

動作しているスクリーンショット(イメージ図)は以下です。
WikiGanttChartPlugin
WikiGanttChartPlugin - Red
WikiGanttChartPlugin - Gray

このエントリーではインストールと初期設定について見ていきます。

1. easy_install でインストール

easy_install に http://trac-hacks.org/svn/wikiganttchartplugin/0.12 を渡せばインストールできます。
svn コマンドがインストールされていない環境では、easy_install は利用できません。その場合、Trac-hacks の WikiGanttChartPluginから手動でダウンロードを行い、ダウンロードしたディレクトリを easy_install に渡すようにしてください。

$ easy_install http://trac-hacks.org/svn/wikiganttchartplugin/0.12

TracLightning(Windows)の例:

C:\TracLight\bin>easy_install http://trac-hacks.org/svn/wikiganttchartplugin/0.12
Downloading http://trac-hacks.org/svn/wikiganttchartplugin/0.12
Doing subversion checkout from http://trac-hacks.org/svn/wikiganttchartplugin/0.12 to c:\docume~1\admini~1.ope\locals~1\
temp\easy_install-eif74t\0.12
Processing 0.12
Running setup.py -q bdist_egg --dist-dir c:\docume~1\admini~1.ope\locals~1\temp\easy_install-eif74t\0.12\egg-dist-tmp-cj
zevi
error: wikiganttchart/locale\ja\LC_MESSAGES\wikiganttchart.po:37: unknown named placeholder u'lineno'
wikiganttchartplugin 0.12.0.1 is already the active version in easy-install.pth

Installed c:\traclight\python\lib\site-packages\wikiganttchartplugin-0.12.0.1-py2.6.egg
Processing dependencies for wikiganttchartplugin==0.12.0.1
Finished processing dependencies for wikiganttchartplugin==0.12.0.1
C:\TracLight\bin>

2. trac.ini でプラグインを有効にする

有効にしたい Trac プロジェクトの conf/trac.ini でこのプラグインを有効にします。(inherit-file で共有している trac.ini でも可能)

# trac.ini
[components]
wikiganttchart.* = enabled

WikiGanttChartPlugin は trac.ini でオプション設定が可能です。
オプション設定は必須ではありません。

[wikiganttchart]
ticket.default_type = 
ticket.due_date = due_date
ticket.due_date.format = YYYY-MM-dd
ticket.start_date = due_date
ticket.start_date.format = YYYY-MM-dd

この後、Trac を動作させている Web サーバを再起動させます。
ガントチャートの開始日[start_date]と終了日[due_date]を指定していますが必須ではありません。このフィールドはガントチャートのタスクからチケット作成するときに自動連動させることが出来ます。

利用するためにチケットのカスタムフィールドに「start_date」「due_date」2項目追加する必要があります。

例示した設定の場合

  • start_date ・・・作業開始日
  • due_date ・・・作業終了日

を設定しています。利用する前にカスタムフィールドを追加してください。
これでインストール作業は終了です。

利用方法の説明についてはこちらのエントリー「[trac][tracpath] Wiki書式によるシンプルなガントチャート(使い方)」を参照してください。

3. 設定の説明とカスタマイズ

WikiGanttChartPlugin は trac.ini で日付の書式や開始日、終了日に利用するカスタムフィールド名をカスタマイズすることができます。
WikiGanttChartPlugin の設定項目の説明と利用方法についてまとめています。

WikiGanttChartPlugin 設定一覧
解説 設定例
ticket.default_type ガントチャートのタスクからチケット作成したとき、チケットの分類を定義します。(新規チケットを作成する際の使用するデフォルトの分類)
ticket.default_type = バグ
ticket.due_date ガントチャートのタスクからチケット作成したとき、チケットの終了日を設定します。(必須ではありません)チケットの期限日フィールドの名前を指定します。
ticket.due_date = due_date
ticket.due_date.formatn チケットの期限日フィールドの書式。「YYYY/MM/dd」「YYYY-MM-dd」「YYYY.MM.dd」の3種類が設定可能です。
ticket.due_date.format = YYYY/MM/dd
ticket.start_date ガントチャートのタスクからチケット作成したとき、チケットの開始日を設定します。(必須ではありません)チケットの開始日フィールドの名前を指定します。
ticket.start_date = start_date
ticket.start_date.format チケットの開始日フィールドの書式。「YYYY/MM/dd」「YYYY-MM-dd」「YYYY.MM.dd」の3種類が設定可能です。
ticket.start_date.format = YYYY/MM/dd

Wiki書式によるシンプルなガントチャート

 こんにちは、以前 trac や tracpath で利用する事を想定した「シンプルなガントチャート」を技術チームブログで紹介しました。
これまで会社内部のプロジェクトや関係者のみで利用してきましたが、やっと trac と tracpath 用にリリースすることができました。

Wiki書式によるシンプルなガントチャートについて、機能を紹介したいと思います。

Wiki書式によるシンプルなガントチャートの機能

シンプルな最小限の機能が利用でき、Excelのガントチャートより使いやすく、更新がしやすいことを目標に私達が「ガントチャートに求める点」を決めて開発してきました。

  • 「項目、開始日、終了日、進捗率、担当」の最小構成が管理出来ること
  • メンテナンスが簡単・・・ガントチャート作成に時間をとられたくない
  • サクサク変更できる・・・Web-UIとテキストベース(Wiki書式)による更新ができること
  • 更新履歴
  • 見た目がシンプルで分かりやすい

シンプルなガントチャート機能

  • trac / tracpath に対応したガントチャート機能
  • Wiki / マイルストーン でガントチャートを作成可能
  • シンプルな書式を入力するだけでガントチャートが作成可能
  • ガントチャートの項目からチケット作成が可能
  • ガントチャートの項目とチケット連携が可能
  • ガントチャートは「項目名、開始日、終了日、進捗、担当」が管理可能
  • 項目は階層化することが可能(3段階)
  • 進捗(%)を管理し、カラフルなバーで表示可能
  • テーマ機能(6色から選択)

Wiki書式によるシンプルなガントチャートの使い方

使い方はとても簡単です。Wiki / マイルストーンのページで新規ページを作成します。既存のページでガントチャートを利用する場合は「編集」します。

1. Wiki ページにガントチャートマクロを記述

 [[Gantt]]

これだけです。記述後、ページを更新します。

step01step02

2. ガントチャートを作成します。

ガントチャートにデータを作成する方法は2つあります。
1つは、ページの編集画面を開いて Wiki 書式を入力する方法です。

step03

もう1つはガントチャート上からマウスの右クリックでメニューを表示し、「タスクの挿入」を選択します。

step04step05

3. Wiki 書式による入力方法

Wiki書式による入力では以下のような入力ルールがあります。
入力ルールはとても簡単です。入力順番と階層の2つを理解してください。

  1. ガントチャートの項目はカンマ区切りで入力します。順番は「項目」「担当者」「開始日」「終了日」「進捗率」です。
  2. 空白で始まる行は階層構造を表示します。階層構造のレベルに制限はありません。

step06

開発マイルストーン, , 2014-07-01, 2014-09-30, 
要件定義, , , , 
 プロジェクト計画の作成, OG, 2014-07-01, 2014-07-11, 80%
 要件ヒアリング打合せ, OG, 2014-07-07, 2014-07-09, 50%
 技術調査, OG, 2014-07-07, 2014-07-14, 70%
   技術調査1, OG, 2014-07-07, 2014-07-14, 70%
   技術調査2, OG, 2014-07-07, 2014-07-14, 70%

4. ガントチャート上で入力する方法

ガントチャートを表示している画面で入力するための機能があります。ガントチャートの上で右クリックメニューを押下します。対応するメニューが表示されますので選択するだけです。すでに登録しているタスクはダブルクリックすることで編集画面を表示することが可能です。

step07step08

ガントチャートの操作メニュー

タスクの編集 タスクの編集用画面を表示し、対象のタスクを編集します。
タスクの削除 タスクを削除します。削除は即時実行されます。
タスクの挿入 新しいタスクを挿入します。タスクの挿入は選択した行の下に挿入されます。
サブタスクの挿入 新しいサブタスクを挿入します。
上へ移動 タスクを上に移動します。
下へ移動 タスクを下に移動します。
レベルを上げる タスクの階層を1つ上げます。
レベルを下げる タスクの階層を1つ下げます。
チケットの作成 新規チケットを作成します。新規チケットは「タスク」「開始日」「終了日」「担当」が設定されているときはチケットに自動反映されます。

サンプルデータ

サンプルデータを作成しました。Wikiに貼り付けてください。Wiki書式によるシンプルなガントチャート機能をすぐに利用する事が出来ます。

step09

= シンプルなガントチャート

{{{#!Gantt id="3124d31e34b0" style="blue"
開発マイルストーン, , 2014-07-01, 2014-09-30, 
定例ミーティング(要件ヒアリングの同時開催), OG, 2014-07-01, 2014-09-30, 
お客様イベント, , , , 
要件定義, , , , 
  プロジェクト計画の作成, OG, 2014-07-01, 2014-07-11, 80%
  要件ヒアリング打合せ, OG, 2014-07-07, 2014-07-09, 50%
  技術調査, OG, 2014-07-07, 2014-07-14, 70%
基本設計, , , , 
  アーキテクチャ設計, OG, 2014-07-14, 2014-07-25, 10%
  機能実現調査, OG, 2014-07-14, 2014-07-31, 0%
  システムデータ設計, OG, 2014-07-28, 2014-07-31, 
  外部連携プラグイン、技術調査, OG, 2014-07-22, 2014-07-31, 
詳細設計, , , , 
  No.01, OG, 2014-08-01, 2014-08-08, 
  No.02, OG, 2014-08-01, 2014-08-08, 
  No.03, OG, 2014-08-01, 2014-08-08, 
  No.04, OG, 2014-08-01, 2014-08-08, 
  No.05, OG, 2014-08-11, 2014-08-15, 
  No.06, OG, 2014-08-11, 2014-08-15, 
  No.07, OG, 2014-08-11, 2014-08-15, 
  No.08, OG, 2014-08-11, 2014-08-15, 
製造, , , , 
  No.01, OG, 2014-08-08, 2014-08-15, 
  No.02, OG, 2014-08-08, 2014-08-15, 
  No.03, OG, 2014-08-08, 2014-08-15, 
  No.04, OG, 2014-08-08, 2014-08-15, 
  No.05, OG, 2014-08-15, 2014-08-22, 
  No.06, OG, 2014-08-15, 2014-08-22, 
  No.07, OG, 2014-08-15, 2014-08-22, 
  No.08, OG, 2014-08-15, 2014-08-22, 
結合試験,  OG, 2014-08-22, 2014-08-26, 
統合試験(お客様確認試験),  OG, 2014-08-22, 2014-08-29,
移行作業,  OG, 2014-08-29, 2014-08-30,
リリース,  OG, 2014-08-29, 2014-08-30,
}}}