Trac Lightningのワークフローを変更した。

保留の追加と、解決の前に起票者の確認を入れるためにワークフローを変更した。

参考にさせていただいたのはこちら:ワークフロー機能のカスタマイズ方法 - かおるんダイアリー


C:\TracLight\projects\trac\SampleProject\conf\trac.ini

[ticket-workflow]
hold = new,assigned -> pending
hold.name = 保留する
hold.permissions = TICKET_MODIFY
leave = * -> *
leave.default = 1
leave.name = 変更しない
leave.operations = leave_status
reassign = new,assigned,pending,resolved -> assigned
reassign.name = 担当者変更
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
resolve = new,assigned -> resolved
resolve.name = 確認待ち
resolve.permissions = TICKET_MODIFY
close = resolved -> closed
close.name = 解決にする
close.permissions = TICKET_MODIFY
reject = new,assigned,pending -> rejected
reject.name = 対応不要
reject.permissions = TICKET_MODIFY


subversionへのコミット時にclosedでステータスを"closed"ではなく"resolved"に変えるように変更。

C:\TracLight\python-lib\trac\contrib\trac-post-commit-hook
195行目付近を

    def _cmdClose(self, ticket):
        ticket['status'] = 'closed'
        ticket['resolution'] = 'fixed'

から

    def _cmdClose(self, ticket):
        ticket['status'] = 'resolved'

に変更。



なおGraphvizで可視化するときに日本語が化けた(はじめて使った。。)ので、.dotファイルにフォント指定(Edge[fontname="meiryo"])を追加。
参考:graphviz で日本語フォントを表示する @Windows No Bugs, No Life/ウェブリブログ

digraph G {
center=1
size="10,8"
Edge[fontname="meiryo"]
"new" -> "resolved" [label="確認待ち" color=black fontcolor=black]
"assigned" -> "resolved" [label="確認待ち" color=black fontcolor=black]
"*" -> "*" [label="変更しない" color=blue fontcolor=blue]
"new" -> "rejected" [label="対応不要" color=red fontcolor=red]
"assigned" -> "rejected" [label="対応不要" color=red fontcolor=red]
"pending" -> "rejected" [label="対応不要" color=red fontcolor=red]
"new" -> "assigned" [label="担当者変更" color=green fontcolor=green]
"assigned" -> "assigned" [label="担当者変更" color=green fontcolor=green]
"pending" -> "assigned" [label="担当者変更" color=green fontcolor=green]
"resolved" -> "assigned" [label="担当者変更" color=green fontcolor=green]
"resolved" -> "closed" [label="解決にする" color=purple fontcolor=purple]
"new" -> "pending" [label="保留する" color=orange fontcolor=orange]
"assigned" -> "pending" [label="保留する" color=orange fontcolor=orange]
}