Hatena::ブログ(Diary)

Basic このページをアンテナに追加 RSSフィード

2010-04-11

Tracのwikiに図面を入れる

| 22:48 | Tracのwikiに図面を入れるを含むブックマーク Tracのwikiに図面を入れるのブックマークコメント

wikiにアレコレ書くのが好きなので、日常的にメモや仕様書、打合せの議事録を書いている。たぶん「月刊wikiマガジン」なんていう雑誌が有れば喜んで買ってしまうことだろう。

そんな便利なwikiだけど、図面は苦手だ。説明用に簡単な図面を入れたい時には、他のソフトで作った図面を貼り付けているものの少々面倒。wikiの中でテキストを書いたらそのまま図面として表示してくれると有り難い。そんなわけで、graphvizやmscgenプラグインを導入して使っている。打合せの場で、話をしながら処理フロー図やシーケンス図を描いて確認出来るのは結構便利だ。UML記法に準じている訳ではないし、やや大雑把な図だけど、wikiの中で使う程度なら充分だと思う。

動作環境は下記の通り。

以下、ソフトとプラグインの導入手順。

Graphviz

% sudo port install graphviz
% sudo /opt/local/bin/easy_install-2.6 http://trac-hacks.org/svn/graphvizplugin/0.11
 'darwin':   ['/opt/local/bin',
              '/sw/bin',],       
  • tracのadmin画面のPluginsに"graphviz"が表示されていることを確認し、"Enabled"チェックボックスをオンにして"Apply changes"をクリック。
  • wikiに下記のような記述を書いて更新すると、処理フローが表示される。
{{{
#!graphviz
digraph G {Hello->World}
}}}
  • 表示例

f:id:rabbit2go:20100411215745p:image

Mscgen

% sudo port install mscgen
self.proc_path = "/opt/local/bin/mscgen"
% sudo /opt/local/bin/python2.6 setup.py install
  • tracのadmin画面のPluginsに"mscgen"が表示されていることを確認し、"Enabled"チェックボックスをオンにして"Apply changes"をクリック。
  • プロジェクトディレクトリ内に”mscgen"フォルダを作成しておく。(画像ファイル出力用)
  • wikiに下記のような記述を書いて更新すると、シーケンス図が表示される。
{{{
#!mscgen
msc {
  hscale = "1";

  a,b,c;

  a->b [ label = "call1()" ] ;
  b=>c [ label = "call2()" ];
  ...;
  c=>c [ label = "process(n)" ];
  a<<=c [ label = "callback()"];
  ---  [ label = "If more to run", ID="*" ];
  a->a [ label = "next()"];
}
}}}
  • 表示例

f:id:rabbit2go:20100411215744p:image


関連