- 着手するまでは課題を修正できる。
- 着手したら解決するだけ。
- 解決した課題は終了するか、差し戻しにする。
だけのワークフローにしよう。
Tracプロジェクトディレクトリ/conf/trac.iniを編集する。
[ticket-workflow]
revise = new,revised -> revised
revise.name = 課題を修正する
revise.permissions = TICKET_MODIFY
accept = new,revised,reopened -> accepted
accept.name = 着手する
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
reopen = resolved,closed -> reopened
reopen.operation = del_resolution
reopen.permissions = TICKET_CREATE
reopen.name = 差し戻す
resolve = accepted -> resolved
resolve.name = 解決にする
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY
close = resolved -> closed
close.name = 終了にする
close.permissions = TICKET_MODIFY
カスタマイズしたワークフローを画像で確認する。
trac.iniファイルをworkflow_parser.pyで処理して.dotファイルを作成してからGraphvizのdotコマンドでdotファイルを処理し画像ファイルに変換することで視覚化出きるそうだ。
workflow_parser.pyでtrac.iniファイルを処理し.dotファイルを作成する。
Trac-0.11.2.1.ja1/contrib/workflow/workflow_parser.py trac.ini
...
UnicodeEncodeError: 'ascii' codec can't encode ...
どうやらUTF-8でエンコードした日本語をasciiとして扱っているみたい。
http://trac.edgewall.org/ticket/6930 によるとworkflow_parser.py を修正すれば良いようだ。
import locale, codecs を追加し
sys.stdout.write(''.join(digraph_lines))
を
sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout);
sys.stdout.write(''.join(digraph_lines))
に修正してから動作確認。
$ workfloe_parser.py trac.ini > trac.dot
今度は無事dotファイルが作成できたようだ。
Graphvizのdotコマンドでdotファイルを処理し画像ファイルに変換する。
$ dot -T png < trac.dot > trac.png
いいじゃないですか!!
1 件のコメント:
dot ファイルが作れなくて、ここにたどり着きました。とても感謝いたします。ありがとうございました。
あと utf-8 は BOM があるとダメなようですので、utf-8n で出来ました。
コメントを投稿