« tracのワークフローをExcelの図で作った状態遷移図から作ってみる | トップページ | Redmineに負けないようにTracのワークフロープラグインを作る »

2011年2月28日 (月)

状態遷移図からTracのワークフローを作るマクロにTracの設定の取り込み機能追加

ひとつ前の記事のマクロを拡張し、Tracからの取り込みを作りました。確認の手順は次のように。

0. 準備
このファイルはマクロが動作しないとなんの意味もないので、どこかで調べて、Excelでマクロを実行できるように準備しておいてください。マクロが実行できる状態でファイルを開けば、セルのコンテキストメニューにいろいろ追加されているはずですが、追加されていないようなら、VBEditorを開きThisWorkbookの"Workbook_Open"を手動で実行してください。

Exceltracworkflow000

1. Tracの設定を貼り付け
Trac.iniのワークフローの設定を"アクション"シートのK30にそのまま貼り付けます。
Exceltracworkflow001

2. 取り込み
どこかのセルを選択して、セルのコンテキストメニューの"ワークフロー設定の取り込み"を実行すると、"設定"シートのstatus,operation,permissionと"アクション"シートの表示名,次のステータス,権限,オペレーション,defaultに値が取り込まれ、ワークフローシートに図とコネクタの一覧が設定されていることが確認できます。
アクションシート
Exceltracworkflow002
設定シート
Exceltracworkflow003
ワークフローシート
Exceltracworkflow004

3. 仮に設定を出力
"コンテキストメニューの"設定を出力する"で"アクション"シートのA30に設定が出力されています。
Exceltracworkflow005

4. 図をできるだけきれいに作りたいので、ステータスの順番の変更
図のステータスは左方向から右回りの順に書かれていきますので、設定シートのステータスの順番を変更しておきます。ついでにstatusにfixedも追加しておきます。
Exceltracworkflow006
チケットの種類がか言っていますが気にしないでください。

5. もう一度取り込み
もう一度取り込みを行うと多少ましな図になっていてほしいんですが、Excelの曲線コネクタの限界のようです。当然statusにfixedは存在しますが、何の接続もされていません。
Exceltracworkflow008

6. ワークフローを編集
権限にTICKET_CLOSEを追加し、コンテキストメニューの"statusとoperationの名前設定"を実行します。次のように、アクションにfixを追加し、resolveを修正します。

fixの表示名は実装済みに変更してください
Exceltracworkflow009_4   

8. 図を編集します
実際どうするかはいろいろ考えないといけないと思いますが、closedに入ってきているコネクタをすべてfixedに接続して、fixedからclosedに入る線(曲線矢印コネクタ)を追加します。(図は下の9のところのを参照)

9. コネクタの一覧を出力して、対応するアクションを確認します。
コンテキストメニューの"コネクタの一覧を更新する"を実行します。
すべてのコネクタにアクションが入っていることを確認してください。同じステータスに遷移するアクションが複数ある場合はアクションをリストから選択してください。

Exceltracworkflow010
7. 設定を出力
コンテキストメニューの"設定を出力"を選択して設定を出力します。

出来上がった設定は次のようになります。
accept = new,assigned,accepted,reopened -> accepted
accept.name = 着手する
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
leave = * -> *
leave.default = 1
leave.name = 変更しない
leave.operations = leave_status
reassign = new,assigned,accepted,reopened -> assigned
reassign.name = 担当者変更
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
reopen = closed -> reopened
reopen.name = 差し戻す
reopen.operations = del_resolution
reopen.permissions = TICKET_CREATE
resolve = fixed -> closed
resolve.name = 解決にする
resolve.permissions = TICKET_CLOSE
fix = new,assigned,accepted,reopened -> fixed
fix.name = 実装済み
fix.operations = set_resolution
fix.permissions = TICKET_MODIFY

だいぶでかくなったので、マクロのソースはファイルの中身を見てください

「TracWorkFlow20110228.zip」をダウンロード

|

« tracのワークフローをExcelの図で作った状態遷移図から作ってみる | トップページ | Redmineに負けないようにTracのワークフロープラグインを作る »

Trac」カテゴリの記事

VBA」カテゴリの記事

Excel」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 状態遷移図からTracのワークフローを作るマクロにTracの設定の取り込み機能追加:

» TracのワークフローをExcelで作るマクロを更新しました [いつまでもとりあえず]
TracのワークフローをExcelで作るマクロを更新しました。次の記事にある、T [続きを読む]

受信: 2011年4月16日 (土) 17時07分

» TracのワークフローをExcelで作るマクロを更新しました [いつまでもとりあえず]
TracのワークフローをExcelで作るマクロを更新しました。次の記事にある、T [続きを読む]

受信: 2011年4月16日 (土) 17時13分

« tracのワークフローをExcelの図で作った状態遷移図から作ってみる | トップページ | Redmineに負けないようにTracのワークフロープラグインを作る »