GoogleChart の GraphViz Charts で Redmine のワークフローを視覚化してみた
Google Chart が GraphViz をサポートしたので、懸案だったワークフローの視覚化をやってみました。
http://code.google.com/intl/ja/apis/chart/docs/gallery/graphviz.html
気力とやる気の問題からプラグイン化はしていません。
環境
Redmine: 1.0.0(RC)
コード
WorkFlowHelper にチャート出力用URL+パラメータ出力メソッドを追加
module WorkflowsHelper def generate_graph(role, tracker) edges = role.workflows.inject("") do |edge, workflow| workflow.tracker_id == tracker.id ? "#{edge}#{workflow.old_status}->#{workflow.new_status};" : edge end "http://chart.apis.google.com/chart?cht=gv&chl=digraph{#{CGI.escape(edges.gsub(/ /, '_').toutf8)}}&chs=500x500" end end
ワークフロー編集ビューにグラフ描画を追加
app/views/workflows/edit.rhtmlの最後に以下を加える。
<%= image_tag(generate_graph(@role, @tracker)) if @role %>