There are No Perfect Redmine
-
Upload
junya-ogura -
Category
Technology
-
view
13.535 -
download
3
description
Transcript of There are No Perfect Redmine
181,696
22
projects
tickets
users
2008.10~
社内Redmineの規模
Saturday, June 13, 2009
自己紹介
• Junya Ogura (おぐらじゅんや)
• 株式会社サーバーワークス 所属• PHP, Ruby, Javaプログラマ
id:junosooey.comtwitter.com/junyagithub.com/juno
Saturday, June 13, 2009
アジェンダ
•なぜTracをやめたか•移行にあたってやったこと• Textile記法ないわー• CSVで一括インポート•楽しく利用してもらうための細工•パッチのプラグイン化
Saturday, June 13, 2009
なぜTracをやめたか
Saturday, June 13, 2009
説明しなくてもわかりますよね
Saturday, June 13, 2009
なぜTracをやめたか
•管理画面の機能が貧弱•拡張しづらい (Python...)
•開発の停滞感 などなど
Saturday, June 13, 2009
移行にあたってやったこと
Saturday, June 13, 2009
移行にあたってやったこと
•マニュアルの作成•段階的な導入•積極的な要望の吸い上げ•自分が率先して使う
Saturday, June 13, 2009
マニュアルの作成
PDF 34 pagesSaturday, June 13, 2009
段階的な導入
• Tracとの並行運用• 新規プロジェクトはRedmineで• 既存のプロジェクトはTracのまま• フェーズの変わり目でRedmineに移行• TracはRead Only扱いで残す (チケットは移行しない)
新規プロジェクト
既存プロジェクト
Saturday, June 13, 2009
積極的な要望の吸い上げ
•「Tracよりよくなった」感の演出• 不評なところをどんどん改善していく• Railsアプリケーションなので手が入れやすい• CSSのカスタマイズなど
Saturday, June 13, 2009
自分が率先して使う
• 「それ、RedmineのWikiに書いておきました」• 小さな社内プロジェクトでもRedmineを使う• 社内ブログで使い方に触れる
Saturday, June 13, 2009
Textile記法ないわー
Saturday, June 13, 2009
説明しなくてもわかりますよね
Saturday, June 13, 2009
Textile記法ないわーh1.修正してほしいところ
*登録フォーム**送信ボタンの位置をもう少し右にして下さい
h2.コード例
<pre>Codehere...</pre>
"参考資料":http://example.com/
• けっこうHTMLむきだし• plain textの状態だと非常に見づらい• とくに再編集があるWikiの記法としては使いづらい
Saturday, June 13, 2009
Markdownが使いたい!
修正してほしいところ====
*登録フォーム*送信ボタンの位置をもう少し右にして下さい
コード例‐‐‐‐
Codehere...
[参考資料](http://example.com/)
• 自然なPlain Textに見える
Saturday, June 13, 2009
redmine_markdown_formatter
http://github.com/bitherder/redmine_markdown_formatter/tree/master
Saturday, June 13, 2009
Markdown Extraが使いたい!
テーブル。|Fruit|Price||‐‐‐‐‐‐|‐‐‐‐‐‐||Apple|100||Orange|95|
脚注付きの文が書けます。[^1]
[^1]:MarkdownExtra拡張です。
ヘッダ1{#header1}
====
[ヘッダ1へのリンク](#header1)
http://michelf.com/projects/php‐markdown/extra/
Saturday, June 13, 2009
redmine_markdown_extra_formatter
http://github.com/juno/redmine_markdown_extra_formatter/tree/master
Saturday, June 13, 2009
CSVで一括インポート
Saturday, June 13, 2009
CSVで一括インポート• PMからの要望 (Excel派)
• テスト項目をチケット管理する際はとくに欲しい• 一括登録さえできればいい (一括更新はいらない)
怒濤のテスト
Saturday, June 13, 2009
CSVで一括インポート
redmine_importer (スカイアークシステムさん)http://www.skyarc.co.jp/engineerblog/entry/post_12.html
post_issue_vbs (ファーエンドテクノロジーさん)http://code.google.com/p/farend‐redmine‐tools/wiki/post_issue_vbs
ExcelRedmineAddIn (id: kaorun55さん)http://d.hatena.ne.jp/kaorun55/20090524/1243177625
Saturday, June 13, 2009
redmine_importer (Martin Liu’s)
http://www.martinliu.info/2009/04/redmine_importer‐redmine‐csv‐import‐plugin/
Saturday, June 13, 2009
redmine_importer (Martin Liu’s)
よさそうなので、日本語化しました
http://github.com/juno/redmine_importer/tree/master
Saturday, June 13, 2009
redmine_importer (Martin Liu’s)
id,title,body1,"xxxxxを実装する","がんばれ"
2,"xxxxxを修正する","がんばれ"
3,"xxxxxをテストする","がんばれ"
用意するCSVはこんな感じ
Saturday, June 13, 2009
redmine_importer (Martin Liu’s)
CSVのアップロード
Saturday, June 13, 2009
redmine_importer (Martin Liu’s)
列のマッチングをしてインポート
Saturday, June 13, 2009
楽しく利用してもらうための細工
Saturday, June 13, 2009
ユーザーアイコン
Saturday, June 13, 2009
ユーザーアイコン
活動状況も一目瞭然
Saturday, June 13, 2009
ユーザーアイコン
Gravatarを利用する (Redmine 0.8.0-)
• デフォルトで使える• ユーザーが自由に画像を変更できる• メールアドレスをGravatarに登録する必要がある
Saturday, June 13, 2009
ユーザーアイコン
Local avatars Pluginを利用するhttp://www.redmine.org/boards/3/topics/5365
• 画像はRedmineサーバ上に格納される• 画像の変更は管理画面からしかできない
Saturday, June 13, 2009
他にも• favicon.icoをちゃんと作る• グラフィカルなプラグイン (Gompertanなど)
• スニペット共有プラグイン (redmine_codebook)
redmine_codebookhttp://github.com/sroegner/redmine_codebook/tree/master
Saturday, June 13, 2009
パッチのプラグイン化
Saturday, June 13, 2009
パッチのプラグイン化
•通知メールのSubjectを変更する• UTF-8で長いSubjectのメールが文字化けするので• OutlookやiPhoneでたまに発生
• Changesetのコミッタ名を整形する• リポジトリアクセスにはLDAP認証を使っており、Changesetのauthorが [email protected] となる
• 表示の際にドメイン部を除去するようにした
こんなパッチを作っていました
Saturday, June 13, 2009
パッチのプラグイン化
バージョンアップの度に、パッチをあてる必要がある
問題点
‐‐‐app/models/changeset.rb.orig+++app/models/changeset.rb@@‐59,7+59,7@@enddefauthor‐user||committer.to_s.split('<').first+(user||committer.to_s.split('<').first).gsub(/@.+/,'')enddefbefore_create
Saturday, June 13, 2009
パッチのプラグイン化
Changesetのauthor整形プラグインをつくる
プラグイン化
Saturday, June 13, 2009
パッチのプラグイン化
Plugin Tutorial
プラグイン作成の資料
http://www.redmine.org/wiki/redmine/Plugin_Tutorial
Plugin Internalshttp://www.redmine.org/wiki/redmine/Plugin_Internals
Saturday, June 13, 2009
パッチのプラグイン化
$cdredmine$script/generateredmine_pluginsimplify_changeset_author
ひな形を作成
プラグイン名
Saturday, June 13, 2009
パッチのプラグイン化init.rbを編集
require'redmine'
require'dispatcher'require'changeset_patch'
Dispatcher.to_preparedoChangeset.send(:include,ChangesetPatch)end
Redmine::Plugin.register:redmine_simplify_changeset_authordoname'SimplifyChangesetAuthorplugin'author'Authorname'description'ThisisapluginforRedmine'version'0.0.1'end
vendor/plugins/redmine_simplify_changeset_author/init.rb
Saturday, June 13, 2009
パッチのプラグイン化
require_dependency'changeset'moduleChangesetPatchdefself.included(base)#:nodoc:base.send(:include,InstanceMethods)base.class_evaldoalias_method_chain:author,:simplifyendendmoduleInstanceMethodsdefauthor_with_simplifyauthor_without_simplify.gsub(/@.+/,'')endendend
lib/changeset_patch.rbを作成
redmine_simplify_changeset_author/lib/changeset_patch.rb
Saturday, June 13, 2009
パッチのプラグイン化
• これでバージョンアップ作業も簡単に• alias_method_chainを使いこなすのがポイント• パッチ対象のクラスによっては上手くいかないときもある• クラスのロードのタイミングや、リロードされることを考慮する
Saturday, June 13, 2009
Fin.
Saturday, June 13, 2009