Wiki Graphviz macro プラグイン
例によって無保証です。
redmineの wikiマクロで graphviz その1
redmineの wikiマクロで graphviz その2
redmineの wikiマクロで graphviz その3
上のwikiマクロをgihubに置いている。
tckz's redmine-wiki_graphviz_plugin at master - GitHub

自分ところのredmineはまだ0.8.7なんだけど、早食いな人はもう0.9を使っているらしく、0.9で動かないよ、というメッセージが来た。
せっせと自分のところでも環境を作って試してみると「Filter chain halted as [:authorize] rendered_or_redirected.」が出ている。

リンクの作り方がまずいと言えばまずいんだけど、0.8.x時代のWikiのURLと0.9からのURLが異なることが原因みたい。
0.8.7: http://example.com/wiki/project_id/WikiPage
0.9-stableブランチ: http://example.com/projects/project_id/wiki/WikiPage
それでは、とroutes.rbを書き換えてみるも反応なし。
どうもプラグインROOT/config/routes.rbに置かないと読んでくれないっぽい。

0.8系でも0.9系でも動くように二か所にroutes.rbを置くことにした。

プラグインROOT/
 routes.rb ←(1):こっちは(2)をrequireするだけ
 config/
  routes.rb ←(2):redmineが0.9以降かどうかでURLマップを設定しわける

(1)
require File.join(File.dirname(__FILE__), "config", "routes.rb")

(2)
ActionController::Routing::Routes.draw do |map|

if (Redmine::VERSION.to_a <=> [0, 9, 0]) >= 0
# 0.9.0 or higher
map.connect 'projects/:id/wiki/:page/graphviz', :controller => 'wiki_graphviz', :action => 'graphviz'
else
map.connect 'wiki/:id/:page/graphviz', :controller => 'wiki_graphviz', :action => 'graphviz'
end
end

0.9もfeature freezeしたことだしリリースが待ち遠しい。
「バージョンに状態(進行中、ロック中、終了)を設定出来て、チケットの編集画面に終了済みバージョンがドロップダウンに表示されない」機能が地味にうれしい。


環境:
 CentOS 5.4
  ruby-1.8.7-p248(from source)
  mysql-server-5.0.77-3.el5
  graphviz-2.26.0(from source)
  redmine-0.9-stable branch at 2010/01/07(JST)