Redmine0.9.0でredmine_chartsプラグインを動かしてやるぜ
社内でスクラムを広めてみたいなーと思って、Redmineのchartsプラグインを0.9.0にインストールしてみた。
がただでは動かない。
こちらをみるかぎり魅力的なプラグインなので、なんとしても入れたい。がんばってみたら、意外と簡単に直せた。Rubyはやはりわかりやすくて楽しい。
インストールは以下になる。
まずopen_flash_chart 2.1.1をもってきて、vendor/pluginsにつっこむ。
そして、redmine_charts 0.0.13をおなじくつっこむ。
redmine_charts/assets/open-flash-chart-bar-clicking.swfとredmine_charts/assets/open-flash-chart.swfをRedmineのpublicフォルダにつっこみ、redmine_charts/assets/javascripts/swfobject.jsをRedmineのpublic/javascriptsフォルダにつっこむ。
ここまでが正規の手順だが、このまま表示してもバーンダウン以外が404になる。
これは本家のフォーラムにも書いてあったが、project_idをパラメタで渡せていないバグが原因。
そして、これを解決しても、記録時間割合と記録時間予定で、
NoMethodError (undefined method `find_all_by_opt' for #):
となる。
原因は、migrateの20091225164732_remove_enumerations_opt.rbで、enumerationsテーブルのカラム名などが変わっているからだと思う。
これをまとめて修正したものが以下のパッチファイル。
diff -u -r C:\fujihara\before/app/controllers/charts_controller.rb C:\fujihara\after/app/controllers/charts_controller.rb
--- C:\fujihara\before/app/controllers/charts_controller.rb Thu Sep 3 03:59:44 2009
+++ C:\fujihara\after/app/controllers/charts_controller.rb Fri Jan 29 23:52:44 2010
@@ -237,6 +237,7 @@
# Finds current project or raises 404
def find_project
@project = Project.find(params[:project_id])
+ @project_id = params[:project_id]
rescue ActiveRecord::RecordNotFound
render_404
end
diff -u -r C:\fujihara\before/app/helpers/charts_helper.rb C:\fujihara\after/app/helpers/charts_helper.rb
--- C:\fujihara\before/app/helpers/charts_helper.rb Thu Sep 3 03:59:44 2009
+++ C:\fujihara\after/app/helpers/charts_helper.rb Fri Jan 29 23:53:21 2010
@@ -13,7 +13,7 @@
if controller.controller_name == controller_name
res << separator << link_name
else
- res << separator << link_to(link_name, :controller => controller_name)
+ res << separator << link_to(link_name, :controller => controller_name, :project_id => @project)
end
end
res
diff -u -r C:\fujihara\before/app/views/charts/index.rhtml C:\fujihara\after/app/views/charts/index.rhtml
--- C:\fujihara\before/app/views/charts/index.rhtml Thu Sep 3 03:59:44 2009
+++ C:\fujihara\after/app/views/charts/index.rhtml Fri Jan 29 23:54:06 2010
@@ -18,6 +18,7 @@
<% form_tag '#', :method => :get do %>
<%= hidden_field_tag :page, @page %>
+ <%= hidden_field_tag :project_id, @project_id %>
<% if @show_conditions %>
<% if @sub_project_condition %>
diff -u -r C:\fujihara\before/lib/redmine_charts/conditions_utils.rb C:\fujihara\after/lib/redmine_charts/conditions_utils.rb
--- C:\fujihara\before/lib/redmine_charts/conditions_utils.rb Thu Sep 3 03:59:44 2009
+++ C:\fujihara\after/lib/redmine_charts/conditions_utils.rb Sat Jan 30 00:33:06 2010
@@ -35,11 +35,11 @@
["time_entries.user_id".to_sym, users.to_a.unshift([l(:charts_condition_all), 0])]
when "time_entries.issue_id".to_sym then ["time_entries.issue_id".to_sym, nil]
- when "time_entries.activity_id".to_sym then ["time_entries.activity_id".to_sym, Enumeration.find_all_by_opt("ACTI").collect { |a| [a.name, a.id] }.unshift([l(:charts_condition_all), 0])]
+ when "time_entries.activity_id".to_sym then ["time_entries.activity_id".to_sym, Enumeration.find_all_by_type("TimeEntryActivity").collect { |a| [a.name, a.id] }.unshift([l(:charts_condition_all), 0])]
when "issues.category_id".to_sym then ["issues.category_id".to_sym, IssueCategory.find_all_by_project_id(project_and_its_children_ids(project_id)).collect { |c|
}.unshift([l(:charts_condition_all), 0])] when "issues.fixed_version_id".to_sym then ["issues.fixed_version_id".to_sym, Version.find_all_by_project_id(project_and_its_children_ids(project_id)).collect { |c|
}.unshift([l(:charts_condition_all), 0])] when "issues.tracker_id".to_sym then ["issues.tracker_id".to_sym, Tracker.all.collect { |c| [/c]
}.unshift([l(:charts_condition_all), 0])] - when "issues.priority_id".to_sym then ["issues.priority_id".to_sym, Enumeration.find_all_by_opt("IPRI").collect { |a| [a.name, a.id] }.unshift([l(:charts_condition_all), 0])] + when "issues.priority_id".to_sym then ["issues.priority_id".to_sym, Enumeration.find_all_by_type("IssuePriority").collect { |a| [a.name, a.id] }.unshift([l(:charts_condition_all), 0])] end end end
あとは、ロールと権限で見えるように設定すればOK。
ここまでくるのに1時間かかったー。でもかっこいいプラグインだ。
Download
- github (Recent version is here.)
Product Backlog
- 期限を設定するプルダウンの表示がおかしい
記事に関係したモノ
この記事に関係している話題
Redmine0.9.0のスクラム化 – Redmine Kanban Pluginを入れる
Redmine0.8.0をWindows Vistaにいれてみた
Redmine0.8.2からRedmine0.9.0へのアップデート
Redmine0.9.0のスクラム化 – バーンダウンチャート(Burndown Plugin)の導入方法
Redmine0.6.3インストールとことはじめ
Redmine0.9.0で0.8.xプラグインを動かしてみたらtranslation missing: ja
Redmine0.9.0のスクラム化 – backlog pluginでスプリント計画!
Redmine0.9.0のスクラム化 – タスクボード(Task Board Plugin)で見える化
ご意見
僕について
Dai Fujihara
A hero can be anyone.
藤原大はマネージャでありアジャイル実践者だ。そして、プロジェクトリーダー、チェンジ・エージェント、アジャイルコーチ、トレーナーでもある。彼はまたRedmine、Jenkinsといった開発を支援するツール環境の整備や、アジャイル開発を活用した創造的なソフトウェア開発の支援を行っている。さらに、趣味は沖縄離島巡りらしい。
ここ最近の人気
永久保存の本
Venkat Subramaniam (著), Andy Hunt (著), 木下 史彦 (監訳), 角谷 信太郎 (監訳)
アジャイルな習慣とは一体何なのか?本書ではプラクティスを交えながら、その姿勢を読者に問いかけている。世代や役割をこえて色褪せない「アジャイル」に対する良書。Amazonレビュー
Mike Cohn (著), マイク コーン (著), 安井 力 (翻訳), 角谷 信太郎 (翻訳)
採用した現在のタイトルは、見積りや計画づくりといったプロセスを、アジャイルに進めなければならないと謳っているのだ。見積りと計画づくりがアジャイルでないのに、プロジェクトがアジャイルであるということはありえない。(イントロダクションより)
Jonathan Rasmusson (著), 西村 直人 (翻訳), 角谷 信太郎 (翻訳)
アジャイルサムライ―それはソフトウェアを顧客に届ける猛々しきプロフェッショナルだ。本書では、圧倒的なアジャイルプロジェクトの姿を見せる。2011年爆発的にヒットしたアジャイル開発に情熱を持つエンジニアに届けたい本。タグ
Agile ant Apache bash Eclipse GlassFish install Java Javascript kobo Linux log4j Management Maven Open Source PHP Pukiwiki Python Redmine Ruby Ruby on Rails Scrum Spring Struts Struts2 Subversion Test Tomcat Trac VBA Web WebDriver WebLogic Windows WordPress 働く 勉強会 嫁(ベータ) 思い出し笑う 我思う 旅する 映画/ドラマ 英語を話す 読むと聞く 過去を語るアーカイブ












