후속이 있을지는 예측하기 어렵지만 일단 이름은 그렇게 잡아봤다. 레드마인 플러그인 제 1 부다.
플러그인 선택
불과 얼마 전까지만 해도 플러그인 목록이 꽤 약했었던 기억인데, 정리가 잘 된 것인지 더 늘어난 것인지 쓸만한 것들이 늘었다. 플러그인 목록을 바탕으로 일단 oss/cc에 일부 적용한 것을 다시 선별하였다.
이번에 설치할 플러그인은 다음과 같다.
- Blog is a plugin which provides a blog within Redmine.
- Author: Andrew Chaika
- Latest release: 0.0.5, 2009-08-01
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/Ubik/redmine_blogs/tree
- Public ITS: http://github.com/Ubik/redmine_blogs/issues
- Bulk Time Entry is a plugin to enter multiple time entries at one time.
- Author: Eric Davis
- Latest release: 0.3.0, 2009-03-18
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/edavis10/redmine-bulk_time_entry_plugin/tree
- Public ITS: https://projects.littlestreamsoftware.com/projects/redmine-bte/issues
- Developer Rates is a plugin which will let you attach an hourly rate to each time entry thus providing a way to track any hourly costs in Redmine.
- Author: Shaun Gilroy
- Latest release: 0.2.0, 2009-05-21
- Compatible with: Redmine 0.8.x
- Public SCM: http://github.com/farviewsoft/redmine_dev_rates/tree
- Public ITS: http://github.com/farviewsoft/redmine_dev_rates/issues
- Kanban is a plugin to manage Redmine's issues in the Kanban style of Project Management.
- Author: Eric Davis
- Latest release: 0.1.1, 2009-07-21
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/edavis10/redmine_kanban/tree
- Public ITS: https://projects.littlestreamsoftware.com/projects/redmine-kanban/issues
- Markdown formatter adds Markdown text formatting capability to Redmine.
- Author: Lary Baltz
- Latest release: 0.0.1, 2008-11-14
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/bitherder/redmine_markdown_formatter/tree
- Public ITS: http://github.com/bitherder/redmine_markdown_formatter/issues
- Markdown Extra formatter adds Markdown Extra text formatting capability to Redmine.
- Author: Junya Ogura
- Latest release: 0.0.2, 2009-06-19
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/juno/redmine_markdown_extra_formatter/tree
- Public ITS: http://github.com/juno/redmine_markdown_extra_formatter/issues
- Project Scores is a plugin which will let a user score a project on different (hard-coded) criteria.
- Author: Eric Davis
- Latest release: 0.0.1, 2009-01-05
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/edavis10/redmine_score_plugin/tree
- Public ITS: https://projects.littlestreamsoftware.com/projects/redmine-scores/issues
- Rate is a plugin which will store billable rates for users.
- Author: Eric Davis
- Latest release: 0.1.0, 2009-04-21
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/edavis10/redmine_rate/tree
- Public ITS: https://projects.littlestreamsoftware.com/projects/redmine-rate/issues
- Scrumdashboard is a plugin which provides a scrum dashboard to Redmine and which can be used on a per-project base.
- Author: Terje Alexander Barth, Mats Klepsland, Einar Myre & Marius Olsen
- Latest release: 1.2, 2009-07-23
- Compatible with: Redmine 0.8.x
- Public SCM: http://github.com/thus/redmine-scrumdashboard-plugin/tree
- Public ITS: http://github.com/thus/redmine-scrumdashboard-plugin/issues
- Todo Lists is a plugin to create and manage "agile-esque" todo lists on a per-project and per-user base.
- Author: David Lyons
- Latest release: 0.0.3.6, 2009-07-27
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/dalyons/redmine-todos-scrum-plugin/tree
- Public ITS: http://github.com/dalyons/redmine-todos-scrum-plugin/issues
의도적으로, github의 것만 골랐다. (사실, 대부분이 github에서 호스팅되고 있기도 하고)
전체 목록은 여기서 : http://www.redmine.org/wiki/redmine/Plugin_List
플러그인 설치
Scremdashboard 플러그인
- Scrumdashboard is a plugin which provides a scrum dashboard to Redmine and which can be used on a per-project base.
- Author: Terje Alexander Barth, Mats Klepsland, Einar Myre & Marius Olsen
- Latest release: 1.2, 2009-07-23
- Compatible with: Redmine 0.8.x
- Public SCM: http://github.com/thus/redmine-scrumdashboard-plugin/tree
- Public ITS: http://github.com/thus/redmine-scrumdashboard-plugin/issues
일단, github에서 forking을 하고 forking한 트리를 받았다.
sio4@km:/opt/redmine/vendor/plugins$ scp heavy:~/.ssh/github* ~/.ssh
...
sio4@km:/opt/redmine/vendor/plugins$ vi ~/.ssh/config
sio4@km:/opt/redmine/vendor/plugins$ git clone git@github.com:sio4/redmine-scrumdashboard-plugin.git redmine_scrumdashboard
Initialized empty Git repository in /opt/redmine/vendor/plugins/redmine_scrumdashboard/.git/
remote: Counting objects: 90, done.
remote: Compressing objects: 100% (79/79), done.
remote: Total 90 (delta 34), reused 0 (delta 0)
Receiving objects: 100% (90/90), 32.06 KiB, done.
Resolving deltas: 100% (34/34), done.
sio4@km:/opt/redmine/vendor/plugins$
다음은 DB Migration
sio4@km:/opt/redmine$ export PATH=$PATH:/home/sio4/.gem/ruby/1.8/bin
sio4@km:/opt/redmine$ rake db:migrate_plugins RAILS_ENV=production
(in /opt/redmine)
Migrating engines...
Migrating acts_as_activity_provider...
Migrating acts_as_attachable...
Migrating acts_as_customizable...
Migrating acts_as_event...
Migrating acts_as_list...
Migrating acts_as_searchable...
Migrating acts_as_tree...
Migrating acts_as_versioned...
Migrating acts_as_watchable...
Migrating awesome_nested_set...
Migrating classic_pagination...
Migrating coderay-0.7.6.227...
Migrating gravatar...
Migrating open_id_authentication...
Migrating redmine_scrumdashboard...
== ScrumdashboardSetup: migrating ============================================
-- create_table("dashboards", {:force=>true})
-> 0.0834s
-- create_table("dashboard_trackers", {:force=>true})
-> 0.0081s
== ScrumdashboardSetup: migrated (0.8030s) ===================================
== Dashboardstatuses: migrating ==============================================
-- create_table("dashboard_statuses", {:force=>true})
-> 0.0116s
== Dashboardstatuses: migrated (0.2394s) =====================================
== MoreMaintrackers: migrating ===============================================
-- add_column(:dashboard_trackers, :maintracker, :integer, {:default=>0})
-> 0.0484s
-- remove_column(:dashboards, :maintracker_id)
-> 0.0165s
== MoreMaintrackers: migrated (0.0653s) ======================================
== AddColorFields: migrating =================================================
-- add_column(:dashboard_trackers, :bgcolor, :string, {:default=>"#FFFF00"})
-> 0.0306s
-- add_column(:dashboard_trackers, :textcolor, :string, {:default=>"#2A5685"})
-> 0.0315s
== AddColorFields: migrated (0.0628s) ========================================
Migrating rfpdf...
Migrating ruby-net-ldap-0.0.4...
sio4@km:/opt/redmine$
sio4@km:/opt/redmine$ /etc/init.d/redmine start
* Starting redmine...... [ OK ]
sio4@km:/opt/redmine$
동작은 확인되었으나, 언어 파일이 없어서 화면이 밉게 나온다. (이건 이럴 수 밖에 없는 것인가? ko.yml이 없으면 그냥 en.yml로 대체하도록 할 수 없는 것인가?) 어쨌든 한글화 작업을 진행한다.
sio4@km:/.../redmine_scrumdashboard$ cp config/locales/en.yml config/locales/ko.yml
sio4@km:/.../redmine_scrumdashboard$ vi config/locales/ko.yml
sio4@km:/.../redmine_scrumdashboard$ /etc/init.d/redmine stop
* Stopping redmine...... Sending TERM to Mongrel at PID 9349...Done.
[ OK ]
sio4@km:/.../redmine_scrumdashboard$ /etc/init.d/redmine start
* Starting redmine...... [ OK ]
sio4@km:/.../redmine_scrumdashboard$
이제 번역 결과를 올리자. 먼저 로컬 clone에 반영:
sio4@km:/.../redmine_scrumdashboard$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# config/locales/ko.yml
nothing added to commit but untracked files present (use "git add" to track)
sio4@km:/.../redmine_scrumdashboard$ git add config/locales/ko.yml
sio4@km:/.../redmine_scrumdashboard$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: config/locales/ko.yml
#
sio4@km:/.../redmine_scrumdashboard$
이제 github에 반영:
sio4@km:/.../redmine_scrumdashboard$ git commit -m "add korean translation"
Created commit 3f69128: add korean translation
1 files changed, 33 insertions(+), 0 deletions(-)
create mode 100644 config/locales/ko.yml
sio4@km:/.../redmine_scrumdashboard$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
sio4@km:/.../redmine_scrumdashboard$
sio4@km:/.../redmine_scrumdashboard$ git push origin master
Counting objects: 8, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 978 bytes, done.
Total 5 (delta 1), reused 0 (delta 0)
To git@github.com:sio4/redmine-scrumdashboard-plugin.git
f671be9..3f69128 master -> master
sio4@km:/.../redmine_scrumdashboard$
이렇게 플러그인 하나 정리. (꽤 오래 걸리네…)
알구야… 이것도 하나 더…
$ cp lang/en.yml lang/ko.yml
$ vi lang/ko.yml
$ git add lang/ko.yml
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: lang/ko.yml
#
$ git commit -m "add korean translation for old version."
Created commit 1e2da93: add korean translation for old version.
1 files changed, 32 insertions(+), 0 deletions(-)
create mode 100644 lang/ko.yml
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
$ git push origin master
Counting objects: 6, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 951 bytes, done.
Total 4 (delta 1), reused 0 (delta 0)
To git@github.com:sio4/redmine-scrumdashboard-plugin.git
3f69128..1e2da93 master -> master
$
아마도 0.8 버전 이전에 쓰이던 것이라고… 약간 기억하고 약간 추측한다.
Kanban
- Kanban is a plugin to manage Redmine's issues in the Kanban style of Project Management.
- Author: Eric Davis
- Latest release: 0.1.1, 2009-07-21
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/edavis10/redmine_kanban/tree
- Public ITS: https://projects.littlestreamsoftware.com/projects/redmine-kanban/issues
위의 ScrumDashBoard와 유사한 성격의 플러그인이다. 약간 방향은 다른데… 써보고 선택하거나 병행해서 사용하면 될 것 같다. 먼저 github에서 forking을 한 후,
sio4@km:/opt/redmine/vendor/plugins$ git clone git@github.com:sio4/redmine_kanban.git
Initialized empty Git repository in /opt/redmine/vendor/plugins/redmine_kanban/.git/
remote: Counting objects: 1248, done.
remote: Compressing objects: 100% (685/685), done.
remote: Total 1248 (delta 619), reused 857 (delta 422)
Receiving objects: 100% (1248/1248), 178.08 KiB | 130 KiB/s, done.
Resolving deltas: 100% (619/619), done.
sio4@km:/opt/redmine/vendor/plugins$
...
sio4@km:/opt/redmine$ rake db:migrate_plugins RAILS_ENV=production
(in /opt/redmine)
Migrating engines...
Migrating acts_as_activity_provider...
Migrating acts_as_attachable...
Migrating acts_as_customizable...
Migrating acts_as_event...
Migrating acts_as_list...
Migrating acts_as_searchable...
Migrating acts_as_tree...
Migrating acts_as_versioned...
Migrating acts_as_watchable...
Migrating awesome_nested_set...
Migrating classic_pagination...
Migrating coderay-0.7.6.227...
Migrating gravatar...
Migrating open_id_authentication...
Migrating redmine_kanban...
== CreateKanbanIssues: migrating =============================================
-- create_table(:kanban_issues)
-> 0.1054s
-- add_index(:kanban_issues, :user_id)
-> 0.0041s
-- add_index(:kanban_issues, :issue_id)
-> 0.0035s
-- add_index(:kanban_issues, :state)
-> 0.0064s
== CreateKanbanIssues: migrated (0.1205s) ====================================
Migrating redmine_scrumdashboard...
Migrating rfpdf...
Migrating ruby-net-ldap-0.0.4...
sio4@km:/opt/redmine$
깜빡 했는데, 이거 해줘야 한다. 그런데 이게 뭐하는 gem일까?
$ gem install rubyist-aasm --source http://gems.github.com
WARNING: Installing to ~/.gem since /var/lib/gems/1.8 and
/var/lib/gems/1.8/bin aren't both writable.
Successfully installed rubyist-aasm-2.1.1
1 gem installed
Installing ri documentation for rubyist-aasm-2.1.1...
Installing RDoc documentation for rubyist-aasm-2.1.1...
$
단번에 번역까지? 그리고 github에 동기화하고 끝내자.
sio4@km:/.../redmine_kanban$ cp config/locales/en.yml config/locales/ko.yml
sio4@km:/.../redmine_kanban$ vi config/locales/ko.yml
sio4@km:/.../redmine_kanban$ cp lang/en.yml lang/ko.yml
sio4@km:/.../redmine_kanban$ vi lang/ko.yml
sio4@km:/.../redmine_kanban$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# config/locales/ko.yml
# lang/ko.yml
nothing added to commit but untracked files present (use "git add" to track)
sio4@km:/.../redmine_kanban$ git add config/locales/ko.yml lang/ko.yml
sio4@km:/.../redmine_kanban$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: config/locales/ko.yml
# new file: lang/ko.yml
#
sio4@km:/.../redmine_kanban$ git commit -m "add korean translation"
Created commit f641c96: add korean translation
2 files changed, 62 insertions(+), 0 deletions(-)
create mode 100644 config/locales/ko.yml
create mode 100644 lang/ko.yml
sio4@km:/.../redmine_kanban$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
sio4@km:/.../redmine_kanban$ git push origin master
Counting objects: 11, done.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (7/7), 1.42 KiB, done.
Total 7 (delta 2), reused 0 (delta 0)
To git@github.com:sio4/redmine_kanban.git
200c6b2..f641c96 master -> master
sio4@km:/.../redmine_kanban$ git status
# On branch master
nothing to commit (working directory clean)
sio4@km:/.../redmine_kanban$
벌크로다가, Bulk Time Entry and
- Bulk Time Entry is a plugin to enter multiple time entries at one time.
- Author: Eric Davis
- Latest release: 0.3.0, 2009-03-18
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/edavis10/redmine-bulk_time_entry_plugin/tree
- Public ITS: https://projects.littlestreamsoftware.com/projects/redmine-bte/issues
sio4@km:/opt/redmine/vendor/plugins$ git clone git@github.com:sio4/redmine-bulk_time_entry_plugin.git bulk_time_entry_plugin
Initialized empty Git repository in /opt/redmine/vendor/plugins/bulk_time_entry_plugin/.git/
remote: Counting objects: 604, done.
remote: Compressing objects: 100% (436/436), done.
Receiving objects: 100% (604/604), 69.01 KiB | 114 KiB/s, done.
remote: Total 604 (delta 287), reused 279 (delta 122)
Resolving deltas: 100% (287/287), done.
sio4@km:/opt/redmine/vendor/plugins$ cp bulk_time_entry_plugin/config/locales/en.yml bulk_time_entry_plugin/config/locales/ko.yml
sio4@km:/opt/redmine/vendor/plugins$ vi bulk_time_entry_plugin/config/locales/ko.yml
sio4@km:/opt/redmine/vendor/plugins$ cp bulk_time_entry_plugin/lang/en.yml bulk_time_entry_plugin/lang/ko.yml
sio4@km:/opt/redmine/vendor/plugins$ vi bulk_time_entry_plugin/lang/ko.yml
...
- Todo Lists is a plugin to create and manage "agile-esque" todo lists on a per-project and per-user base.
- Author: David Lyons
- Latest release: 0.0.3.6, 2009-07-27
- Compatible with: Redmine 0.8.x & Redmine Trunk
- Public SCM: http://github.com/dalyons/redmine-todos-scrum-plugin/tree
- Public ITS: http://github.com/dalyons/redmine-todos-scrum-plugin/issues
sio4@km:/opt/redmine/vendor/plugins$ git clone git@github.com:sio4/redmine-todos-scrum-plugin.git redmine_todos_plugin
Initialized empty Git repository in /opt/redmine/vendor/plugins/redmine_todos_plugin/.git/
remote: Counting objects: 388, done.
remote: Compressing objects: 100% (346/346), done.
remote: Total 388 (delta 182), reused 0 (delta 0)
Receiving objects: 100% (388/388), 279.35 KiB | 109 KiB/s, done.
Resolving deltas: 100% (182/182), done.
sio4@km:/opt/redmine$ rake db:migrate_plugins RAILS_ENV=production
(in /opt/redmine)
Migrating engines...
Migrating acts_as_activity_provider...
Migrating acts_as_attachable...
Migrating acts_as_customizable...
Migrating acts_as_event...
Migrating acts_as_list...
Migrating acts_as_searchable...
Migrating acts_as_tree...
Migrating acts_as_versioned...
Migrating acts_as_watchable...
Migrating awesome_nested_set...
Migrating bulk_time_entry_plugin...
Migrating classic_pagination...
Migrating coderay-0.7.6.227...
Migrating gravatar...
Migrating open_id_authentication...
Migrating redmine_kanban...
Migrating redmine_scrumdashboard...
Migrating redmine_todos_plugin...
== CreateTodos: migrating ====================================================
-- create_table(:todos)
-> 0.0238s
== CreateTodos: migrated (0.0242s) ===========================================
== AddDoneToTodos: migrating =================================================
-- add_column(:todos, :done, :boolean)
-> 0.0485s
== AddDoneToTodos: migrated (0.0487s) ========================================
== AddCompletedAtToTodos: migrating ==========================================
-- add_column(:todos, :completed_at, :datetime)
-> 0.0375s
== AddCompletedAtToTodos: migrated (0.0378s) =================================
== AddPositionToTodos: migrating =============================================
-- add_column(:todos, :position, :integer)
-> 0.0407s
== AddPositionToTodos: migrated (0.0409s) ====================================
Migrating rfpdf...
Migrating ruby-net-ldap-0.0.4...
sio4@km:/opt/redmine$ cd -
/opt/redmine/vendor/plugins