2008年12月31日

Redmine 0.8.0, 0.7.4 リリース

Redmine 0.7.4 and 0.8.0 released

個人的にうれしい機能はこんなところか。
- e-Mailによるチケットの登録
- プロジェクト横断検索
- 階層型Wikiページ
- Redmineユーザとリポジトリユーザのマッピング

プロジェクト横断Wikiが先送りされたのが若干痛いか。
タグはつくんだろうか。

時間を見てアップグレードしてみよう。

2008年12月16日

Redmine のショートカット

日常的に使うようになるとマウス操作が面倒になるが、実はRedmineの一部メニューにはショートカットが用意されている。

操作ショートカット
Shift+Alt+7新しいチケット
Shift+Alt+Ewiki編集 or wiki編集エリアにフォーカス移動
Shift+Alt+Rwiki編集時 プレビュー
Shift+Alt+F検索フィールドにフォーカス移動


Firefoxの場合は上記操作でOK。
IEの場合、フォーカスが移動するだけなので、その後Enterを押す必要があるのでイマイチ。

後、時々Ctrl+Rでページの再読み込みしないように注意。

2008年12月12日

Redmine テーマ(スタイル)をカスタマイズする

Redmineは独自CSSを用意する事で、テーマ(スタイル)をカスタマイズする事ができる。仕事でまじめにRedmineを使うと気になるところがいくつかあったので、組み込んでみた。

手順は以下のとおり。
  1. redmine-0.7.3/public/themes以下にフォルダを作成(このフォルダがテーマ名になる)
  2. さらにその下にstylesheetsフォルダを作成する
  3. 2で作成したフォルダに application.css を作成し、カスタムスタイルを定義する。
  4. Redmineを再起動
  5. 管理 > 設定 > 全般 > テーマで、追加テーマを選択


フォルダ構造は以下のようになる。

redmine-0.7.3/public/themes
/alternate
/classic
/my_theme ←ここ以下を追加
/stylesheets
application.css


application.cssは、こんな風にしてみた。

/* デフォルトスタイルシートをインポート */
@import url(../../../stylesheets/application.css);

/* 日付フィールドを幅広に。数字フィールドは右寄せ。*/
#issue_start_date { width: 80px; }
#issue_due_date { width: 80px; }
#issue_estimated_hours { text-align: right; }
#issue_done_ratio { text-align: right; }
#time_entry_hours { text-align: right; }

/*
* 本文をインデントしてh1~h3を目立たせる
* (全体をインデントして、見出しをマイナスインデント)
* h2, h3に章番号を表示(Firefox用、IE未対応)
*/

fieldset.preview {
margin-left: -20px;
padding-left: 20px;
padding-right: -40px;
}

div.wiki {
margin-left: 20px;
margin-right: 20px;
}

div.wiki h1, div.wiki h2, div.wiki h3 {
margin-left: -20px;
}

div.wiki h1 {
margin-right: -20px;
}

div.wiki h2 {
counter-increment: chapter;
counter-reset: section;
}

div.wiki h2:before {
content: counter(chapter) ". ";
}

div.wiki h3 {
counter-increment: section;
}

div.wiki h3:before {
content: counter(chapter) "." counter(section) ". ";
}

div.wiki h4 {
border-bottom-width: 0px;
text-decoration: underline;
}


/*
* 警告と情報の強調表示
* *(warn) xxxxx
* *(info) xxxxx
*/
ul.warn>li {
border: 1px solid silver;
margin: 5px 0px 5px -20px;
padding: 2px 0px 3px 30px;
background-image: url(../../../images/warning.png);
background-repeat: no-repeat;
background-position: 5px 50%;
list-style-type: none;
}

ul.info>li {
border: 1px solid silver;
margin: 5px 0px 5px -20px;
padding: 2px 0px 3px 30px;
background-image: url(../../../images/help.png);
background-repeat: no-repeat;
background-position: 5px 50%;
list-style-type: none;
}

/* テキストエリアのフォントを小さく */
textarea.wiki-edit {
font-size: 12px;
}

2008年12月5日

Redmine Wiki用ブックマークレット(IE TAB対応)

机の上よりましでしょう:redMineのWiki用ブックマークレット が便利なので使っていたが、FirefoxのIE TABでIEレンダリングしている時は誤ったURLが表示される。ちょっと修正してみた。

変更前:

javascript:void(a=prompt(%27%27,%27"%27+document.title+%27":%27+location.href));


変更後:

javascript:void(a=prompt(%27%27,%27"%27+document.title+%27":%27+location.href.replace(%27chrome://ietab/content/reloaded.html?url=%27, %27%27)));


ブックマークレットとして登録するには、URLを上記コードに指定したお気に入り(IE) or ブックマーク(Firefox)に追加する。

2008年12月3日

Redmine トップメニューをカスタマイズする

トップにチケット一覧を表示するメニューがほしかったので追加した。
これ本番ですか? Redmineリンク追加 を参考にした。

redmine-0.7.3/lib/redmine.rb の 96行目あたりから始まる MenuManager.map :top_menu do |menu| を修正する。(一番下の行を追加)

Redmine::MenuManager.map :top_menu do |menu|
menu.push :home, :home_path, :html => { :class => 'home' }
menu.push :my_page, { :controller => 'my', :action => 'page' }, :html => { :class => 'mypage' }, :if => Proc.new { User.current.logged? }
# チケット
menu.push :issues, { :controller => 'issues', :action => 'index', :query_id => '2' }, :caption => :label_issue_plural


カスタムクエリを追加する場合は以下のように :query_id => x を追加すればいい。
  menu.push :issues, { :controller => 'issues', :action => 'index', :query_id => '2' }, :caption => :label_issue_plural


活動を追加するには以下を追加する
  menu.push :activity, { :controller => 'projects', :action => 'activity' }


ホームを任意のプロジェクトのメインwikiに変更するには redmine-0.7.3/routes.rb を修正する。9行目あたり、map.home ...を以下のように変更する。:id はプロジェクトID。
  #map.home '', :controller => 'welcome'
map.home 'wiki/:id/:page/:action', :controller => 'wiki', :id => 'tetu', :page => nil


特定のwiki名にするなら:pageを変更すればいいと思う。