メイン

「redMine」のアーカイブ

2008年3月30日

Redmine 0.7.0 RC1 Release!

Redmineのバージョン0.7.0 RC1がリリースされました。

Redmine - Redmine 0.7.0 RC1 released - Redmine

ダウンロードはこちらから。

新規でインストールされる方は、
Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!:第2回 環境構築/redMineのインストール・初期設定|gihyo.jp … 技術評論社
を、既存のRedmineをバージョンアップして利用される方は、
Redmineを運用するためのイロハを身につけよう:第1回 新機能の紹介と最新版が利用できるまで|gihyo.jp … 技術評論社
を参考にしてみてください。

0.5から0.6にバージョンアップしたときには、UIががらりと変わりましたが、今回は見た目の大きな変化はありませんでした。ただ、Changelogを見ると、かなりたくさんの機能追加/Bugfixがあります。

個人的にはRSSフィードが取得できる画面が増えたのと、リンクが画面上に表示されるようになったのが良い感じかなと。

チェンジログを訳そうかと思いましたが、もしかするとgihyo.jpの連載の中で0.7の新機能について取り上げるかも、と思ったので様子見することにします。

2008年3月18日

gihyo.jpでのRedmineの運用に関する連載

会社の後輩が、gihyo.jpにてRedmineの運用に関する連載を開始しました。

Redmineを運用するためのイロハを身につけよう:第1回 新機能の紹介と最新版が利用できるまで|gihyo.jp … 技術評論社

彼らは、実際に社内でRedmineを使ってプロジェクト管理を実施していて、その方面ではかなりのノウハウを蓄えています(そのはず)。この連載で、その辺のノウハウを惜しむことなく出してくれるのでは、と勝手に期待している次第です。

gihyo.jpで以前に書かせてもらった記事が、未だにアクセスの数が多いらしいのですが、書いたときのバージョンが0.5系となっていて、情報が若干古いのではと気になっていたところでした。

今後は、JRuby上での運用や軽量Webサーバでの運用など、おもしろそうな内容を予定しているらしいので、楽しみ楽しみ。

2007年12月28日

IE6 で Redmine0.6 の右クリックコンテキストメニューのサブメニューを表示させる

Redmineのユーザグループに投げられた下記の問題。

 

IE6利用時に、Redmine0.6 の問題リストで右クリックしたときに表示されるコンテキストメニューのサブメニュー表示されない。

 

原因を探っていて、分かったことが色々あったので書いておきます。

 

・右クリックのコンテキストメニューの階層構造は、CSSで制御されている。

・li:hover という属性で、その下のulタグがdisplay:block;に切り替わる仕組み。

・でも、~IE6では、a タグ以外に :hover 属性が効かない

・そこで、Redmine では、csshover.htc を読み込んで、a タグ以外にも:hover が効くようにしている。

・でも出ない。

・コンテキストメニューは、右クリック時に、Ajax で動的に取得される

・csshover.htc の中にはjavascript が書いてあって、documentonready つまり、ドキュメントがすべて表示された段階で、parseStylesheets()という関数が実行されている。

・つまり、li:hover してほしいHTMLElementがページ表示時にページ内にいないので、読み込んでいるcsshover.htcがコンテキストメニューの部分に対して意味をなしていない。

・ということで、コンテキストメニューがサーバから取得され、ページ内に表示された段階で、parseStylesheets()を実行できれば良い。

 

で、対応方法は以下の通り。

 

/public/stylesheets/csshover.htc

の27行目(コメント行から下)すべてを

/public/javascripts/context_menu.js

の最終行より下に、コピー。

そして、同じ context_menu.js の 42行目にある


new Ajax.Updater({success:'context-menu'}, '../../issues/
context_menu/' + id, {asynchronous:true, evalScripts:true,
onComplete:function(request){Effect.Appear('context-menu', {duration:0.20});}})

 

を、


new Ajax.Updater({success:'context-menu'}, '../../issues/context_menu/' + id,
 {asynchronous:true, evalScripts:true,onComplete:function(request){
 Effect.Appear('context-menu', {duration: 0.20});
 parseStylesheets();
}})

に書き換えます。

 

ただし、この方法だと、コンテキストメニューが表示される毎にparseStylesheets()関数が実行されて、あまりいけてないです。


csshover.htcの中身は、CSSをチェックして、:hover と書いているところを探し、そのクラスが適用されているページ内のHTML Elementにonmouseover とonmouseout のイベントをattach しているだけ。

コンテキストメニューの構造は分かっているので、じゃあ、べた書きでイベントをattach するようにしたのが以下のソース。


new Ajax.Updater({success:'context-menu'}, '../../issues/context_menu/' + id, {asynchronous:true, evalScripts:true, onComplete:function(request){
  Effect.Appear('context-menu', {duration: 0.20});
  if(!navigator.userAgent.match(/MSIE/) || window.XMLHttpRequest) return;
  try{
    var uls = $('context-menu').getElementsByTagName('ul');
    uls[0].id = 'context-menu-base-ul';
    uls[1].id = 'context-menu-sub-ul_0';
    uls[2].id = 'context-menu-sub-ul_1';
    uls[3].id = 'context-menu-sub-ul_2';
    var lis = $('context-menu').getElementsByTagName('li');
    for(var i = 0,j = 0,len = lis.length;i<len;i++){
      if(lis[i].className.indexOf('folder') >= 0){
        lis[i].id = 'context-menu-folder_' + j;
        j++;
      }
    }
    var menuShow = function(event){
      var li = Event.findElement(event, 'li');
      li.style.zIndex='10';
      $('context-menu-sub-ul_'+li.id.split('_')[1]).style.display='block';
    }
    var menuHide = function(event){
      var li = Event.findElement(event, 'li');
      li.style.zIndex='0';
      $('context-menu-sub-ul_'+li.id.split('_')[1]).style.display='none';
    }
    $('context-menu-sub-ul_0','context-menu-sub-ul_1','context-menu-sub-ul_2','context-menu-folder_0','context-menu-folder_1','context-menu-folder_2').each(function(obj) {
      Event.observe(obj, "mouseover", menuShow, false);
    });
    $('context-menu-sub-ul_0','context-menu-sub-ul_1','context-menu-sub-ul_2','context-menu-folder_0','context-menu-folder_1','context-menu-folder_2').each(function(obj) {
      Event.observe(obj, "mouseout", menuHide, false);
    });
  }catch(e){
  }
}
});


べたべーたですが、これでIE6でも右クリックメニューのサブメニューが表示されるようになりました。


 

2007年12月22日

Redmine の wiki 編集画面を auto preview にする

Redmineのwikiのプレビューが、幸いなことにAjaxを利用してプレビュー部分を書き出していたので、それをうまくHackして、書いていると自動的にプレビューが生成されるようにしてみます。

方法は以下の通り。

1. custom_wiki_preview.js というファイルを /public/javascripts 以下に作成する。

2. custom_wiki_preview.js の中に以下の内容を記述する。

var preveiwTimerId;
var previewFunc = function(){
new Ajax.Updater('preview', '/wiki/1/Docs/preview',
{asynchronous:true, evalScripts:true, method:'post',
onComplete:function(request){
Element.setStyle($('content_text'),{'width':'50%'});
Element.setStyle($('preview'),
{'position':'absolute','width':'48%','top':'146px','right':'10px'});
}, parameters:Form.serialize('wiki_form')});
return false;
}
var previewTimerFunc = function(){
clearTimeout(preveiwTimerId);
preveiwTimerId = setTimeout(previewFunc,1000);

}
Event.observe('content_text', 'keyup', previewTimerFunc, false);


3. /app/views/wiki/edit.rhtml に以下の記述を追記する。

<script type="text/javascript" src="/javascripts/custom_wiki_preview.js"></script>


これでOKです。

wikiの編集画面で、編集エリアに何か入力を加え、1秒待つと↓このように、画面右側にプレビューが表示されるようになります(デフォルトでは画面下に表示される)。

redmine_auto_wiki_preview.png


上記JavaScriptの内容は、編集欄のKeyupイベントを監視して、イベント発生毎にpreviewTimerFunc()を実行します。
previewTimerFunc() の中では、previewFuncを1秒後に実行するようにタイマーをセットしています。ここで、前のタイマーIDをクリアしているので、連続してキーが入力されたときは、previewFuncが実行されずサーバに負担をかけにくいようにしています。

3のステップで、rhtmlをいじっちゃってますが、これがやだなーって人は、2で作ったjsファイルをページにappendするbookmarkletを作っても良いですし、FireFox限定でよければGreasemonkeyスクリプトを作るという方法もあります。

2007年8月24日

gihyo.jp redMine の連載第4回目

gihyo.jpに「Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!」の連載第3回が掲載されました。

Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!:第4回 redMineを使ったプロジェクト管理(その2)|gihyo.jp


今回は、「問題」の進捗管理やドキュメント系の機能について解説しています。

本連載はこれでおしまい。

8月中全4回の短い連載でしたが、お楽しみいただけましたでしょうか。


こういうところに連載を書かせていただくのはこれが初めてだったので、私としても良い経験になりました。

2007年8月17日

gihyo.jp redMine の連載第3回目

gihyo.jpに「Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!」の連載第3回が掲載されました。

Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!:第3回 redMineを使ったプロジェクト管理(その1)|gihyo.jp


今回は、プロジェクトの登録やメンバーの登録、そして「問題」の登録、表示について解説しています。

2007年8月10日

gihyo.jp redMine の連載第2回目

gihyo.jpに「Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!」の連載第2回が掲載されました。


Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!:第2回 環境構築/redMineのインストール・初期設定|gihyo.jp


今回は、redMine の環境を構築するところを解説しています。

興味がある方は、この土日でご自分のPCに環境を構築してみてはいかがでしょうか?

2007年8月 3日

gihyo.jp で redMine の連載始まりました。

一昨日も書きましたが、gihyo.jp で redMine の連載が始まりました。


連載:Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!|gihyo.jp


こういうところで連載を書かせていただくのは初めての経験なので、色々と不備があるかも知れませんが、おもしろい連載にしたいと思っていますので、どうぞチェックしてみてください。

プロジェクト管理ツールを使ったことがない人、もしくはTrac しか使ったことがない人が、この連載を読んで、redMineを使ってくれるようになったら嬉しいです。

あと、連載にもちょろっと書いていますが、仕事でRuby on Rails を使いたくて、でもなかなかそういう話がこないと言う人も、この手のプロジェクトツールを社内に導入するところから始めてみれば、社内でのRuby on Rails への認知度も上がるんじゃないかと思っています。

2007年7月16日

redMine 0.5.1 公開

redMine の バージョン 0.5.1 が7/15に公開されました。

ということで、例の如くいんちき日本語でチェンジログを訳してみました。間違いがあればご指摘ください。

  • per project forums added
    • プロジェクト毎のフォーラムを追加
  • added the ability to archive projects
    • プロジェクトをアーカイブできる機能の追加
  • added “Watch” functionality on issues. It allows users to receive notifications about issue changes
    • 問題を「ウォッチ」する機能の追加。これにより、問題について変更があったときに通知を受け取ることができる。
  • custom fields for issues can now be used as filters on issue list
    • 問題に追加したカスタムフィールドを問題一覧でフィルターとして利用することが可能になった。
  • added per user custom queries
    • ユーザ毎のカスタムクエリを追加
  • commit messages are now scanned for referenced or fixed issue IDs (keywords defined in Admin -> Settings)
    • コミットメッセージを参照されている問題や解決した問題から利用することが可能になった。
  • projects list now shows the list of public projects and private projects for which the user is a member
    • プロジェクトのリストで、ユーザがメンバーとして参加している公開プロジェクトやプライベート(非公開)プロジェクトのリストを表示
  • versions can now be created with no date
    • 日付を入れずにバージョンを作成することが可能に
  • added issue count details for versions on Reports view
    • レポートビューにバージョン毎の問題数を追加
  • added time report, by member/activity/tracker/version and year/month/week for the selected period
    • 選択した期間(年/月/週)でのメンバー/活動/トラッカー/バージョンによる時系列レポートを追加
  • each category can now be associated to a user, so that new issues in that category are automatically assigned to that user
    • 該当するカテゴリーの新しい問題がユーザに自動的にアサインされるように、すべてのカテゴリはユーザに関連づけられるようになった
  • added autologin feature (disabled by default)
    • オートログイン機能(デフォルトでは利用不可)
  • optimistic locking added for wiki edits
    • wikiの編集に楽観ロックを追加
  • added wiki diff
    • wikiのdiff機能を追加
  • added the ability to destroy wiki pages (requires permission)
    • wikiのページに削除機能を追加(権限が必要)
  • a wiki page can now be attached to each version, and displayed on the roadmap
    • wikiのページにバージョンを追加し、ロードマップ上に表示するできるようになった
  • attachments can now be added to wiki pages (original patch by Pavol Murin) and displayed online
    • wiki のページにファイル添付機能を追加し、画面上に表示可能に
  • added an option to see all versions in the roadmap view (including completed ones)
    • ロードマップビューにすべてのバージョン(完結したものも含む)を表示するオプションを追加
  • added basic issue relations
    • 基本的な問題の関係を追加
  • added the ability to log time when changing an issue status
    • 問題のステータスを変更した時間をログに取る機能の追加
  • account information can now be sent to the user when creating an account
    • アカウントを作成したときに、アカウントに関する情報をユーザに送信する機能の追加
  • author and assignee of an issue always receive notifications (even if they turned of mail notifications)
    • 問題の作成者とアサインされたメンバーが常に通知を受け取るになった(メール通知を選択していたら)
  • added a quick search form in page header
    • ページのヘッダーにクイックサーチフォームを追加
  • added ‘me’ value for ‘assigned to’ and ‘author’ query filters
    • 「担当者」と「起票者」のクエリフィルターに「自分」という値を追加
  • added a link on revision screen to see the entire diff for the revision
    • リビジョンに対する差分を見ているときにリビジョンへのリンクを画面に追加
  • added last commit message for each entry in repository browser
    • リポジトリブラウザのすべてのエントリに最後のコミットメッセージを追加 
  • added the ability to view a file diff with free to/from revision selection.
    • リビジョン選択へ/から自由にファイルの差分を見るこうとができる機能の追加 
  • text files can now be viewed online when browsing the repository
    • リポジトリブラウザにてテキストファイルがオンラインで見られるようになった 
  • added basic support for other SCM: CVS (Ralph Vater), Mercurial and Darcs
    • CVSやMercurial 、Darcs といった他のSCM(ソフトウェア構成管理システム)との基本的なサポートを追加
  • added fragment caching for svn diffs
    • svnの差分を断片化してキャッシュする機能の追加
  • added fragment caching for calendar and gantt views
    • カレンダーやガントチャートの表示を断片化してキャッシュする機能の追加
  • login field automatically focused on login form
    • ログインフォームのログインフィールドにフォーカスが当たるように修正
  • subproject name displayed on issue list, calendar and gantt
    • 問題リストやカレンダー、ガントチャートにサブプロジェクトの名前を表示
  • added an option to choose the date format: language based or ISO 8601
    • 日付のフォーマットを選択できるオプションを追加:言語に基づいたものかISO 8601に基づいたものか
  • added a simple mail handler. It lets users add notes to an existing issue by replying to the initial notification email.
    • シンプルなメール半銅鑼ーを追加。最初の通知メールに返信することで、既存の問題をノートに追加できるようになった。
  • a 403 error page is now displayed (instead of a blank page) when trying to access a protected page
    • 保護されたページへアクセスしようとした際に(白紙ページの代わりに)403エラーページを表示
  • added portuguese translation (Joao Carlos Clementoni)
    • ポルトガル語の翻訳を追加
  • added partial online help japanese translation (Ken Date)
    • 日本語翻訳ついての部分的なオンラインヘルプを追加
  • added bulgarian translation (Nikolay Solakov)
    • ブルガリア語の翻訳を追加 
  • added dutch translation (Linda van den Brink)
    • オランダ語の翻訳を追加
  • added swedish translation (Thomas Habets)
    • スウェーデン語の翻訳を追加
  • italian translation update (Alessio Spadaro)
    • イタリア語の翻訳をアップデート
  • japanese translation update (Satoru Kurashiki)
    • 日本語の翻訳をアップデート
  • fixed: error on history atom feed when there’s no notes on an issue change
    • (不具合修正)注意事項や問題の変更点がない場合の履歴のatomフィードのエラーを修正
  • fixed: error in journalizing an issue with longtext custom fields (Postgresql)
    • (不具合修正)カスタムフィールドの文字が長いときに問題を報告する歳のエラーを修正(Postgresql)
  • fixed: creation of Oracle schema
    • (不具合修正)Oracle スキーマを作成する際の問題を修正
  • fixed: last day of the month not included in project activity
    • (不具合修正)プロジェクトの有効期間に月の最終日が含まれない不具合を修正
  • fixed: files with an apostrophe in their names can’t be accessed in SVN repository
    • (不具合修正)SVNリポジトリで、アポストロフィがある名前のファイルにアクセスできなかった点を修正
  • fixed: performance issue on RepositoriesController#revisions when a changeset has a great number of changes (eg. 100,000)
    • (不具合修正)チェンジセットが(例えば100,000のような)大きな数になったとき、リポジトリコントローラのパフォーマンスが悪くなっていた点を修正
  • fixed: open/closed issue counts are always 0 on reports view (postgresql)
    • (不具合修正)レポートビューにて問題の解決/未解決数が常に0だった点を修正(postgresql)
  • fixed: date query filters (wrong results and sql error with postgresql)
    • (不具合修正)日付のクエリフィルタを修正(postgresqlにてSQLのエラーや間違った結果が出ていた)
  • fixed: confidentiality issue on account/show (private project names displayed to anyone)
    • (不具合修正)プライベートな(非公開の)プロジェクト名が表示されていた点を修正
  • fixed: Long text custom fields displayed without line breaks
    • (不具合修正)長いテキストのカスタムフィールドが改行されることなく表示されるように修正
  • fixed: Error when editing the wokflow after deleting a status
    • (不具合修正)ステータスを削除した後ワークフローの編集でエラーがでる不具合を
  • fixed: SVN commit dates are now stored as local time
    • (不具合修正)SVNのコミット日付がローカルの時間で保存されるように修正

    今回は、ブルガリア、オランダ、スウェーデンの言語が追加され、redMineが世界で注目されていることを伺わせます。

    SCMがCVSもサポートされたり、日本語に関してはオンラインヘルプが登場したりと、使い勝手も向上しているようですね。

    まだインストールして使うところまで至っていませんが、近々レポートしたいと思います。

    2007年4月28日

    redMine 0.5.0 のスクリーンショット

    redMineの雰囲気を知ってもらおうかと画面キャプチャをいくつか取ってみました。

    red と付く割にブルーの画面です。

    lightbox風に表示されるので、スライドショー的にお楽しみください。


    ちなみに、このスライドショーに利用したのは、「JavaScriptとLightBoxを組み合わせたスマートな写真の見せ方サンプル「Suckerfish HoverLightbox Redux」:phpspot開発日誌」で紹介されていた「Suckerfish HoverLightbox Redux - Monday By Noon」です。

    設置は意外と簡単でした。


    2007年4月27日

    redMine 0.5.0 リリース

    2007/4/11 に redMine の version 0.5.0 がリリースされました。

    全バージョンから何が変わったのかGhange log をインチキ翻訳してみました。

    • プロジェクト毎のWikiを追加
    • プロジェクトレベルでのrss/atomフィードを追加(フィードとしてカスタムクエリを利用可)
    • 検索エンジンを追加(問題、ニュース、変更記録、wikiページ、ドキュメントを検索)
    • 簡単なタイムトラッキング機能を追加
    • カレンダーとガントチャートにバージョンの期限を追加
    • プロジェクトのレポートページにサブプロジェクトの問題数を追加
    • 新しいトラッカーを作成するときに既存のワークフローをコピーする機能を追加
    • カレンダーとガントチャートにサブプロジェクトを包括する機能を追加
    • カレンダーとガントチャートに表示するトラッカーを選択可能にする機能を追加(Jeffrey Jones)
    • 左右でsvnのdiffを表示するviewを追加(Cyril Mougel)
    • 問題リストにサブプロジェクトのフィルタを追加
    • 管理者ページに権限情報レポートを追加
    • ユーザリストにステータスのフィルターを追加
    • パスワード保護されたSVNリポジトリへのサポート
    • SVNのコミットをデータベースに格納
    • シンプルなsvn解析SVGグラフを追加
    • ロードマップバージョンでのプログレスバー(進捗表示)(Nick Read)
    • 問題履歴でファイルのアップロード/削除の記録も表示
    • 詳細情報やコミットメッセージで、 #id 記法で問題へのリンクを自動生成する
    • 日本語訳を追加(Satoru Kurashiki)
    • 中国語(簡体字)訳を追加(Andy Wu)
    • イタリア語訳を追加(Alessio Spadaro)
    • ssh+svnを利用したSVNリポジトリの生成やユーザのアクセスコントロールを管理するスクリプトを追加(Nicolas Chuche)
    • カレンダ表示の時間を短縮
    • strictモードのmysql5で実行するマイグレーションのスクリプトを修正
    • バグ修正:マイ/ページレイアウトでブロックを選択せず「追加」をクリックしたときのエラー
    • バグ修正:ナビゲーションバーのハードコーディング
    • バグ修正:テーブル名の接頭/接尾後サポート

    RSSとWikiが付いて、Trac で出来ることは大体できるようになってきました。

    ただ、心配していたとおり、Wikiの使い勝手はいまいちっぽいです(PukiWikiとかのI/Fに慣れすぎなだけかもしれませんが)。

    redMine は RoR で作られているので、Python で作られている Trac よりも、カスタマイズ・拡張がやりやすそう。以前のエントリで、Plugin について触れましたが、そもそも rails のアプリを拡張していく感じで、欲しい機能は自分で足していけそうです。

    また、このエントリ→「redMine をいじる」で、Kyosuke Takayama さんが利用した印象をレポートされているので、導入に興味があるかたはご覧ください。

    あと、コメントでgaryoさんより「日本語で情報交換できる場所があるといいですね。 」との要望があったので、Google グループに redMine のグループ作りました。

    よろしければ興味のある方はご参加ください。(とはいえ、redMine のDL数を見ていると、そんなに賑わいそうにもないんですけどね)

    redMine Users (japanese) | Google グループ

    <関連カテゴリ>
    でぃべろっぱーず・さいど: 「redMine」のアーカイブ

    2007年3月 7日

    プロジェクト管理ツール比較表

    なんかこのエントリが好評だったので、みなさんプロジェクト管理ツールに興味があるのかと思い、とりあえずTracとredMineの比較表を作ってみました。

    Google Docs & SpreadSheet で作ってますので、間違いがあったらちょいちょい修正するかもしれません。

    ↓sheetのURLはこちら
    http://spreadsheets.google.com/pub?key=piV-xE0pxQrgxSmrLXZf_ZA

    PJで実際にTracを使った経験と、redMineを触ってみた感触から考えると、Tracはプログラミング中心のチーム向きで、redMineは作業系のタスクが多いチーム向きなのかなぁと思います。

    後は、自分でごりごりカスタマイズしていきたい人はTrac、プラグインのインストールとかめんどくさいって人はredMineという棲み分けもあるかも。

    2007年2月27日

    redMine インストール&日本語化手順

    プロジェクト管理ツールredMineが気になっていたので、fedoraにインストールしてみました。

    rails -v

    を実行してrailsのバージョンを確認します。

    1.2.0以下なら、下記コマンドからrailsをアップデート。

    gem install rails --include-dependencies

    これで1.2.2になりました。

    ここから、最新版のredmineをダウンロードして、インストール先へアップします。

    日本語化用のファイルはこちら
    。(←結構適当に訳しているのでおかしいところは直してください。文字コードはUTF-8です)

    このja.ymlをlangフォルダ(en.ymlとかあるところ)へ配置します。

    ※2007.4.11 0.5.0のリリースで公式に日本語化されました。(2007.4.12 追記)

    以下の内容は、docs/INSTALLにも書いてあります。

    tar zxvf [filename]

    で解凍します。

    続いてmysqlに接続。

    mysql -u root -p
    password:****

    でもって、redmineスキーマを作成。

    create database redmine;

    続いて、解凍後のフォルダのconfig/database.ymlを開いて、productionの項目を修正します。

    production:
    adapter: mysql
    database: redmine
    host: localhost
    username: root
    password:

    さて、いよいよrakeコマンド。アプリケーションのルートディレクトリ(Rakefileがあるところ)へ移動して、以下のコマンドを実行。

    rake migrate RAILS_ENV="production"

    続いて以下のコマンドも。

    rake load_default_data RAILS_ENV="production"

    ここで言語設定を聞いてくるので、jaを入力(選択)します。

    で、以下のコマンドでWEBrickを起動すればportが3000番で開始されます。

    ruby script/server -e production

    ここまで約10分(もかかってないかも)。Tracに比べると簡単だなぁという印象です。

    SMTPと連携してメールを出したりしたい場合は、config/environment.rbの以下の箇所を修正しましょう。

    # SMTP server configuration
    config.action_mailer.smtp_settings = {
    :address => "127.0.0.1",
    :port => 25,
    :domain => "somenet.foo",
    :authentication => :login,
    :user_name => "redmine",
    :password => "redmine",
    }

    注意点が1つ。

    admin/adminで管理者のログインができますが、このユーザのデフォルト言語設定がenになっているので、日本語で見えていてもログイン後英語になってしまいます。

    user settingから言語設定をjaに変更すれば管理者も日本語で見ることができます。

    2007/2/28 追記
    上記以外にもちゃんと使うにはいくつか設定が必要です。

    日本語環境でカレンダーを使うには、下記calendar-ja.jsを、javascriptのlangフォルダの中に入れてください。
    カレンダー.jsをダウンロード

    2007年2月23日

    Railsで作られたプロジェクト管理ツール"redMine"

    redMine - project management and issue tracking

    Rubyで作られたプロジェクト管理ツールです。

    GanttチャートやMyページなど、Tracにはデフォルトで備わっていない機能が付いてますね。

    デモサイトはこちらです。

    Tracよりも使いやすいのかしら。

    サイトに書かれている特徴には以下のものが挙げられています。

    ・Multiple users/multiple projects
     →多様なユーザ/プロジェクトに対応
    ・Fully customizable role based access control
     →アクセス制御によるカスタマイズ可能な権限管理
    ・Issue tracking system
     →問題課題追跡システム(トラッキングシステム)
    ・Fully customizable workflow
     →カスタマイズ可能なワークフロー
    ・Documents/files repository
     →ドキュメント/ファイル・リポジトリ
    ・News management
     →ニュース(連絡事項)管理
    ・SVN browser and diff viewer
     →SVNブラウザと差分表示
    ・Email notifications
     →Emailによる連絡
    ・Custom fields for projects, users and issues
     →プロジェクトやユーザや問題・課題に固有の項目を追加可能
    ・Multiple LDAP authentication support
     →多様なLDAP認証をサポート
    ・User self-registration support
     →ユーザ自身によるユーザ登録をサポート
    ・Multilanguage support (english, french, german, spanish)
     →他言語対応(英語、フランス語、ドイツ語、スペイン語)
    ・Multiple databases support: MySQL, PostgreSQL, Oracle, SQL Server, SQLite
     →多様なデータベースをサポート

    そして、今後予定されている機能として、以下のものが挙げられています。

    ・Time tracking
     →時間による追跡機能(タイムトラッキング)
    ・Per project wiki
     →プロジェクト毎のWiki

    Tracを触っている経験から、「プロジェクトやユーザや問題・課題に固有の項目を追加可能」とか、「ユーザ自身によるユーザ登録をサポート」とか、「多様なデータベースをサポート」は魅力的かも。

    Tracだと、Pluginを入れないと使い勝手がなかなか向上しない部分が上手くフォローされている気がします。

    また、Railsで書かれているということで、日本語対応も意外と簡単なのではと、勝手に思っていたり。

    今後予定されている「プロジェクト毎のWiki 」は是非とも使い勝手が良いWikiにして欲しいです。TracのWikiは使えないです。

    逆にTracでサポートされている、RSS配信やPluginとかはまだこれからなのでしょうか。

    ちょっと調べてみて、会社の勉強会で発表しようかな。

    <関連エントリ>
    redMine 0.5.1 公開 (でぃべろっぱーず・さいど)(2007/7/17 追記)
    ・その他当サイト内のredMine情報はこちら↓
    でぃべろっぱーず・さいど: 「redMine」のアーカイブ

    でぃべろっぱーず・さいど http://dev.chrisryu.com/ 鹿児島出身子持ちSEのディベロッパーとしての一面 ja Copyright 2013 Sun, 30 Mar 2008 21:49:31 +0900 http://www.sixapart.com/movabletype/ http://blogs.law.harvard.edu/tech/rss Redmine 0.7.0 RC1 Release! Redmineのバージョン0.7.0 RC1がリリースされました。

    Redmine - Redmine 0.7.0 RC1 released - Redmine

    ダウンロードはこちらから。

    新規でインストールされる方は、
    Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!:第2回 環境構築/redMineのインストール・初期設定|gihyo.jp … 技術評論社
    を、既存のRedmineをバージョンアップして利用される方は、
    Redmineを運用するためのイロハを身につけよう:第1回 新機能の紹介と最新版が利用できるまで|gihyo.jp … 技術評論社
    を参考にしてみてください。

    0.5から0.6にバージョンアップしたときには、UIががらりと変わりましたが、今回は見た目の大きな変化はありませんでした。ただ、Changelogを見ると、かなりたくさんの機能追加/Bugfixがあります。

    個人的にはRSSフィードが取得できる画面が増えたのと、リンクが画面上に表示されるようになったのが良い感じかなと。

    チェンジログを訳そうかと思いましたが、もしかするとgihyo.jpの連載の中で0.7の新機能について取り上げるかも、と思ったので様子見することにします。

    ]]>
    http://dev.chrisryu.com/2008/03/redmine_070_rc1_release.html http://dev.chrisryu.com/2008/03/redmine_070_rc1_release.html redMine Sun, 30 Mar 2008 21:49:31 +0900
    gihyo.jpでのRedmineの運用に関する連載 会社の後輩が、gihyo.jpにてRedmineの運用に関する連載を開始しました。

    Redmineを運用するためのイロハを身につけよう:第1回 新機能の紹介と最新版が利用できるまで|gihyo.jp … 技術評論社

    彼らは、実際に社内でRedmineを使ってプロジェクト管理を実施していて、その方面ではかなりのノウハウを蓄えています(そのはず)。この連載で、その辺のノウハウを惜しむことなく出してくれるのでは、と勝手に期待している次第です。

    gihyo.jpで以前に書かせてもらった記事が、未だにアクセスの数が多いらしいのですが、書いたときのバージョンが0.5系となっていて、情報が若干古いのではと気になっていたところでした。

    今後は、JRuby上での運用や軽量Webサーバでの運用など、おもしろそうな内容を予定しているらしいので、楽しみ楽しみ。

    ]]>
    http://dev.chrisryu.com/2008/03/gihyojp_redmine_part2.html http://dev.chrisryu.com/2008/03/gihyojp_redmine_part2.html redMine Tue, 18 Mar 2008 22:31:13 +0900
    IE6 で Redmine0.6 の右クリックコンテキストメニューのサブメニューを表示させる

    Redmineのユーザグループに投げられた下記の問題。


     


    IE6利用時に、Redmine0.6 の問題リストで右クリックしたときに表示されるコンテキストメニューのサブメニュー表示されない。


     

    原因を探っていて、分かったことが色々あったので書いておきます。

     


    ・右クリックのコンテキストメニューの階層構造は、CSSで制御されている。


    ・li:hover という属性で、その下のulタグがdisplay:block;に切り替わる仕組み。


    ・でも、~IE6では、a タグ以外に :hover 属性が効かない


    ・そこで、Redmine では、csshover.htc を読み込んで、a タグ以外にも:hover が効くようにしている。


    ・でも出ない。


    ・コンテキストメニューは、右クリック時に、Ajax で動的に取得される


    ・csshover.htc の中にはjavascript が書いてあって、documentonready つまり、ドキュメントがすべて表示された段階で、parseStylesheets()という関数が実行されている。


    ・つまり、li:hover してほしいHTMLElementがページ表示時にページ内にいないので、読み込んでいるcsshover.htcがコンテキストメニューの部分に対して意味をなしていない。


    ・ということで、コンテキストメニューがサーバから取得され、ページ内に表示された段階で、parseStylesheets()を実行できれば良い。


     


    で、対応方法は以下の通り。


     


    /public/stylesheets/csshover.htc

    の27行目(コメント行から下)すべてを


    /public/javascripts/context_menu.js

    の最終行より下に、コピー。


    そして、同じ context_menu.js の 42行目にある


    new Ajax.Updater({success:'context-menu'}, '../../issues/
    context_menu/' + id, {asynchronous:true, evalScripts:true,
    onComplete:function(request){Effect.Appear('context-menu', {duration:0.20});}})

     

    を、


    new Ajax.Updater({success:'context-menu'}, '../../issues/context_menu/' + id,
     {asynchronous:true, evalScripts:true,onComplete:function(request){
     Effect.Appear('context-menu', {duration: 0.20});
     parseStylesheets();
    }})

    に書き換えます。

     

    ただし、この方法だと、コンテキストメニューが表示される毎にparseStylesheets()関数が実行されて、あまりいけてないです。


    csshover.htcの中身は、CSSをチェックして、:hover と書いているところを探し、そのクラスが適用されているページ内のHTML Elementにonmouseover とonmouseout のイベントをattach しているだけ。

    コンテキストメニューの構造は分かっているので、じゃあ、べた書きでイベントをattach するようにしたのが以下のソース。


    new Ajax.Updater({success:'context-menu'}, '../../issues/context_menu/' + id, {asynchronous:true, evalScripts:true, onComplete:function(request){
      Effect.Appear('context-menu', {duration: 0.20});
      if(!navigator.userAgent.match(/MSIE/) || window.XMLHttpRequest) return;
      try{
        var uls = $('context-menu').getElementsByTagName('ul');
        uls[0].id = 'context-menu-base-ul';
        uls[1].id = 'context-menu-sub-ul_0';
        uls[2].id = 'context-menu-sub-ul_1';
        uls[3].id = 'context-menu-sub-ul_2';
        var lis = $('context-menu').getElementsByTagName('li');
        for(var i = 0,j = 0,len = lis.length;i<len;i++){
          if(lis[i].className.indexOf('folder') >= 0){
            lis[i].id = 'context-menu-folder_' + j;
            j++;
          }
        }
        var menuShow = function(event){
          var li = Event.findElement(event, 'li');
          li.style.zIndex='10';
          $('context-menu-sub-ul_'+li.id.split('_')[1]).style.display='block';
        }
        var menuHide = function(event){
          var li = Event.findElement(event, 'li');
          li.style.zIndex='0';
          $('context-menu-sub-ul_'+li.id.split('_')[1]).style.display='none';
        }
        $('context-menu-sub-ul_0','context-menu-sub-ul_1','context-menu-sub-ul_2','context-menu-folder_0','context-menu-folder_1','context-menu-folder_2').each(function(obj) {
          Event.observe(obj, "mouseover", menuShow, false);
        });
        $('context-menu-sub-ul_0','context-menu-sub-ul_1','context-menu-sub-ul_2','context-menu-folder_0','context-menu-folder_1','context-menu-folder_2').each(function(obj) {
          Event.observe(obj, "mouseout", menuHide, false);
        });
      }catch(e){
      }
    }
    });


    べたべーたですが、これでIE6でも右クリックメニューのサブメニューが表示されるようになりました。


     

    ]]>
    http://dev.chrisryu.com/2007/12/show_redmine06_context_sub_menu_in_ie6.html http://dev.chrisryu.com/2007/12/show_redmine06_context_sub_menu_in_ie6.html redMine Fri, 28 Dec 2007 23:07:13 +0900
    Redmine の wiki 編集画面を auto preview にする Redmineのwikiのプレビューが、幸いなことにAjaxを利用してプレビュー部分を書き出していたので、それをうまくHackして、書いていると自動的にプレビューが生成されるようにしてみます。

    方法は以下の通り。

    1. custom_wiki_preview.js というファイルを /public/javascripts 以下に作成する。

    2. custom_wiki_preview.js の中に以下の内容を記述する。

    var preveiwTimerId;
    var previewFunc = function(){
    new Ajax.Updater('preview', '/wiki/1/Docs/preview',
    {asynchronous:true, evalScripts:true, method:'post',
    onComplete:function(request){
    Element.setStyle($('content_text'),{'width':'50%'});
    Element.setStyle($('preview'),
    {'position':'absolute','width':'48%','top':'146px','right':'10px'});
    }, parameters:Form.serialize('wiki_form')});
    return false;
    }
    var previewTimerFunc = function(){
    clearTimeout(preveiwTimerId);
    preveiwTimerId = setTimeout(previewFunc,1000);

    }
    Event.observe('content_text', 'keyup', previewTimerFunc, false);


    3. /app/views/wiki/edit.rhtml に以下の記述を追記する。

    <script type="text/javascript" src="/javascripts/custom_wiki_preview.js"></script>


    これでOKです。

    wikiの編集画面で、編集エリアに何か入力を加え、1秒待つと↓このように、画面右側にプレビューが表示されるようになります(デフォルトでは画面下に表示される)。

    redmine_auto_wiki_preview.png


    上記JavaScriptの内容は、編集欄のKeyupイベントを監視して、イベント発生毎にpreviewTimerFunc()を実行します。
    previewTimerFunc() の中では、previewFuncを1秒後に実行するようにタイマーをセットしています。ここで、前のタイマーIDをクリアしているので、連続してキーが入力されたときは、previewFuncが実行されずサーバに負担をかけにくいようにしています。

    3のステップで、rhtmlをいじっちゃってますが、これがやだなーって人は、2で作ったjsファイルをページにappendするbookmarkletを作っても良いですし、FireFox限定でよければGreasemonkeyスクリプトを作るという方法もあります。

    ]]>
    http://dev.chrisryu.com/2007/12/redmine_wiki_auto_preview.html http://dev.chrisryu.com/2007/12/redmine_wiki_auto_preview.html redMine Sat, 22 Dec 2007 23:20:24 +0900
    gihyo.jp redMine の連載第4回目 gihyo.jpに「Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!」の連載第3回が掲載されました。

    Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!:第4回 redMineを使ったプロジェクト管理(その2)|gihyo.jp


    今回は、「問題」の進捗管理やドキュメント系の機能について解説しています。

    本連載はこれでおしまい。

    8月中全4回の短い連載でしたが、お楽しみいただけましたでしょうか。


    こういうところに連載を書かせていただくのはこれが初めてだったので、私としても良い経験になりました。

    ]]>
    http://dev.chrisryu.com/2007/08/gihyojp_redmine_part4.html http://dev.chrisryu.com/2007/08/gihyojp_redmine_part4.html redMine Fri, 24 Aug 2007 23:03:43 +0900
    gihyo.jp redMine の連載第3回目 gihyo.jpに「Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!」の連載第3回が掲載されました。

    Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!:第3回 redMineを使ったプロジェクト管理(その1)|gihyo.jp


    今回は、プロジェクトの登録やメンバーの登録、そして「問題」の登録、表示について解説しています。

    ]]>
    http://dev.chrisryu.com/2007/08/gihyojp_redmine_part3.html http://dev.chrisryu.com/2007/08/gihyojp_redmine_part3.html redMine Fri, 17 Aug 2007 21:11:03 +0900
    gihyo.jp redMine の連載第2回目 gihyo.jpに「Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!」の連載第2回が掲載されました。


    Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!:第2回 環境構築/redMineのインストール・初期設定|gihyo.jp


    今回は、redMine の環境を構築するところを解説しています。

    興味がある方は、この土日でご自分のPCに環境を構築してみてはいかがでしょうか?

    ]]>
    http://dev.chrisryu.com/2007/08/gihyojp_redmine_part2.html http://dev.chrisryu.com/2007/08/gihyojp_redmine_part2.html redMine Fri, 10 Aug 2007 22:59:38 +0900
    gihyo.jp で redMine の連載始まりました。 一昨日も書きましたが、gihyo.jp で redMine の連載が始まりました。


    連載:Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!|gihyo.jp


    こういうところで連載を書かせていただくのは初めての経験なので、色々と不備があるかも知れませんが、おもしろい連載にしたいと思っていますので、どうぞチェックしてみてください。

    プロジェクト管理ツールを使ったことがない人、もしくはTrac しか使ったことがない人が、この連載を読んで、redMineを使ってくれるようになったら嬉しいです。

    あと、連載にもちょろっと書いていますが、仕事でRuby on Rails を使いたくて、でもなかなかそういう話がこないと言う人も、この手のプロジェクトツールを社内に導入するところから始めてみれば、社内でのRuby on Rails への認知度も上がるんじゃないかと思っています。

    ]]>
    http://dev.chrisryu.com/2007/08/wrote_article_of_redmine_on_gihyojp.html http://dev.chrisryu.com/2007/08/wrote_article_of_redmine_on_gihyojp.html redMine Fri, 03 Aug 2007 23:48:44 +0900
    redMine 0.5.1 公開 redMine の バージョン 0.5.1 が7/15に公開されました。

    ということで、例の如くいんちき日本語でチェンジログを訳してみました。間違いがあればご指摘ください。


  • per project forums added



    • プロジェクト毎のフォーラムを追加



  • added the ability to archive projects



    • プロジェクトをアーカイブできる機能の追加



  • added “Watch” functionality on issues. It allows users to receive
    notifications about issue changes



    • 問題を「ウォッチ」する機能の追加。これにより、問題について変更があったときに通知を受け取ることができる。



  • custom fields for issues can now be used as filters on issue list



    • 問題に追加したカスタムフィールドを問題一覧でフィルターとして利用することが可能になった。



  • added per user custom queries



    • ユーザ毎のカスタムクエリを追加



  • commit messages are now scanned for referenced or fixed issue IDs (keywords
    defined in Admin -> Settings)



    • コミットメッセージを参照されている問題や解決した問題から利用することが可能になった。



  • projects list now shows the list of public projects and private projects for
    which the user is a member



    • プロジェクトのリストで、ユーザがメンバーとして参加している公開プロジェクトやプライベート(非公開)プロジェクトのリストを表示



  • versions can now be created with no date



    • 日付を入れずにバージョンを作成することが可能に



  • added issue count details for versions on Reports view



    • レポートビューにバージョン毎の問題数を追加



  • added time report, by member/activity/tracker/version and year/month/week for
    the selected period



    • 選択した期間(年/月/週)でのメンバー/活動/トラッカー/バージョンによる時系列レポートを追加



  • each category can now be associated to a user, so that new issues in that
    category are automatically assigned to that user



    • 該当するカテゴリーの新しい問題がユーザに自動的にアサインされるように、すべてのカテゴリはユーザに関連づけられるようになった



  • added autologin feature (disabled by default)



    • オートログイン機能(デフォルトでは利用不可)



  • optimistic locking added for wiki edits



    • wikiの編集に楽観ロックを追加



  • added wiki diff



    • wikiのdiff機能を追加



  • added the ability to destroy wiki pages (requires permission)



    • wikiのページに削除機能を追加(権限が必要)



  • a wiki page can now be attached to each version, and displayed on the roadmap



    • wikiのページにバージョンを追加し、ロードマップ上に表示するできるようになった



  • attachments can now be added to wiki pages (original patch by Pavol Murin) and
    displayed online



    • wiki のページにファイル添付機能を追加し、画面上に表示可能に



  • added an option to see all versions in the roadmap view (including completed
    ones)



    • ロードマップビューにすべてのバージョン(完結したものも含む)を表示するオプションを追加



  • added basic issue relations



    • 基本的な問題の関係を追加



  • added the ability to log time when changing an issue status



    • 問題のステータスを変更した時間をログに取る機能の追加



  • account information can now be sent to the user when creating an account



    • アカウントを作成したときに、アカウントに関する情報をユーザに送信する機能の追加



  • author and assignee of an issue always receive notifications (even if they
    turned of mail notifications)



    • 問題の作成者とアサインされたメンバーが常に通知を受け取るになった(メール通知を選択していたら)



  • added a quick search form in page header



    • ページのヘッダーにクイックサーチフォームを追加



  • added ‘me’ value for ‘assigned to’ and ‘author’ query filters



    • 「担当者」と「起票者」のクエリフィルターに「自分」という値を追加



  • added a link on revision screen to see the entire diff for the revision



    • リビジョンに対する差分を見ているときにリビジョンへのリンクを画面に追加



  • added last commit message for each entry in repository browser



    • リポジトリブラウザのすべてのエントリに最後のコミットメッセージを追加 



  • added the ability to view a file diff with free to/from revision selection.



    • リビジョン選択へ/から自由にファイルの差分を見るこうとができる機能の追加 



  • text files can now be viewed online when browsing the repository



    • リポジトリブラウザにてテキストファイルがオンラインで見られるようになった 



  • added basic support for other SCM: CVS (Ralph
    Vater), Mercurial and Darcs



    • CVSやMercurial 、Darcs といった他のSCM(ソフトウェア構成管理システム)との基本的なサポートを追加



  • added fragment caching for svn diffs



    • svnの差分を断片化してキャッシュする機能の追加



  • added fragment caching for calendar and gantt views



    • カレンダーやガントチャートの表示を断片化してキャッシュする機能の追加



  • login field automatically focused on login form



    • ログインフォームのログインフィールドにフォーカスが当たるように修正



  • subproject name displayed on issue list, calendar and gantt



    • 問題リストやカレンダー、ガントチャートにサブプロジェクトの名前を表示



  • added an option to choose the date format: language based or
    ISO 8601



    • 日付のフォーマットを選択できるオプションを追加:言語に基づいたものかISO 8601に基づいたものか



  • added a simple mail handler. It lets users add notes to an existing issue by
    replying to the initial notification email.



    • シンプルなメール半銅鑼ーを追加。最初の通知メールに返信することで、既存の問題をノートに追加できるようになった。



  • a 403 error page is now displayed (instead of a blank page) when trying to
    access a protected page



    • 保護されたページへアクセスしようとした際に(白紙ページの代わりに)403エラーページを表示



  • added portuguese translation (Joao Carlos Clementoni)



    • ポルトガル語の翻訳を追加



  • added partial online help japanese translation (Ken Date)



    • 日本語翻訳ついての部分的なオンラインヘルプを追加



  • added bulgarian translation (Nikolay Solakov)



    • ブルガリア語の翻訳を追加 



  • added dutch translation (Linda van den Brink)



    • オランダ語の翻訳を追加



  • added swedish translation (Thomas Habets)



    • スウェーデン語の翻訳を追加



  • italian translation update (Alessio Spadaro)



    • イタリア語の翻訳をアップデート



  • japanese translation update (Satoru Kurashiki)



    • 日本語の翻訳をアップデート



  • fixed: error on history atom feed when there’s no notes on an issue change



    • (不具合修正)注意事項や問題の変更点がない場合の履歴のatomフィードのエラーを修正



  • fixed: error in journalizing an issue with longtext custom fields (Postgresql)



    • (不具合修正)カスタムフィールドの文字が長いときに問題を報告する歳のエラーを修正(Postgresql)



  • fixed: creation of Oracle schema



    • (不具合修正)Oracle スキーマを作成する際の問題を修正



  • fixed: last day of the month not included in project activity



    • (不具合修正)プロジェクトの有効期間に月の最終日が含まれない不具合を修正



  • fixed: files with an apostrophe in their names can’t be accessed in
    SVN repository



    • (不具合修正)SVNリポジトリで、アポストロフィがある名前のファイルにアクセスできなかった点を修正



  • fixed: performance issue on RepositoriesController#revisions when a changeset
    has a great number of changes (eg. 100,000)



    • (不具合修正)チェンジセットが(例えば100,000のような)大きな数になったとき、リポジトリコントローラのパフォーマンスが悪くなっていた点を修正



  • fixed: open/closed issue counts are always 0 on reports view (postgresql)



    • (不具合修正)レポートビューにて問題の解決/未解決数が常に0だった点を修正(postgresql)



  • fixed: date query filters (wrong results and sql error with postgresql)



    • (不具合修正)日付のクエリフィルタを修正(postgresqlにてSQLのエラーや間違った結果が出ていた)



  • fixed: confidentiality issue on account/show (private project names displayed
    to anyone)



    • (不具合修正)プライベートな(非公開の)プロジェクト名が表示されていた点を修正



  • fixed: Long text custom fields displayed without line breaks



    • (不具合修正)長いテキストのカスタムフィールドが改行されることなく表示されるように修正



  • fixed: Error when editing the wokflow after deleting a status



    • (不具合修正)ステータスを削除した後ワークフローの編集でエラーがでる不具合を



  • fixed: SVN commit dates are now stored as local time



    • (不具合修正)SVNのコミット日付がローカルの時間で保存されるように修正


    今回は、ブルガリア、オランダ、スウェーデンの言語が追加され、redMineが世界で注目されていることを伺わせます。

    SCMがCVSもサポートされたり、日本語に関してはオンラインヘルプが登場したりと、使い勝手も向上しているようですね。

    まだインストールして使うところまで至っていませんが、近々レポートしたいと思います。

    ]]>
    http://dev.chrisryu.com/2007/07/redmine_051.html http://dev.chrisryu.com/2007/07/redmine_051.html redMine Mon, 16 Jul 2007 23:26:08 +0900
    redMine 0.5.0 のスクリーンショット redMineの雰囲気を知ってもらおうかと画面キャプチャをいくつか取ってみました。



    red と付く割にブルーの画面です。



    lightbox風に表示されるので、スライドショー的にお楽しみください。









    ちなみに、このスライドショーに利用したのは、「JavaScriptとLightBoxを組み合わせたスマートな写真の見せ方サンプル「Suckerfish HoverLightbox Redux」:phpspot開発日誌」で紹介されていた「Suckerfish HoverLightbox Redux - Monday By Noon」です。


    設置は意外と簡単でした。


    ]]>
    http://dev.chrisryu.com/2007/04/redmine_050_1.html http://dev.chrisryu.com/2007/04/redmine_050_1.html redMine Sat, 28 Apr 2007 21:32:30 +0900
    redMine 0.5.0 リリース 2007/4/11 に redMine の version 0.5.0 がリリースされました。

    全バージョンから何が変わったのかGhange log をインチキ翻訳してみました。

    • プロジェクト毎のWikiを追加
    • プロジェクトレベルでのrss/atomフィードを追加(フィードとしてカスタムクエリを利用可)
    • 検索エンジンを追加(問題、ニュース、変更記録、wikiページ、ドキュメントを検索)
    • 簡単なタイムトラッキング機能を追加
    • カレンダーとガントチャートにバージョンの期限を追加
    • プロジェクトのレポートページにサブプロジェクトの問題数を追加
    • 新しいトラッカーを作成するときに既存のワークフローをコピーする機能を追加
    • カレンダーとガントチャートにサブプロジェクトを包括する機能を追加
    • カレンダーとガントチャートに表示するトラッカーを選択可能にする機能を追加(Jeffrey Jones)
    • 左右でsvnのdiffを表示するviewを追加(Cyril Mougel)
    • 問題リストにサブプロジェクトのフィルタを追加
    • 管理者ページに権限情報レポートを追加
    • ユーザリストにステータスのフィルターを追加
    • パスワード保護されたSVNリポジトリへのサポート
    • SVNのコミットをデータベースに格納
    • シンプルなsvn解析SVGグラフを追加
    • ロードマップバージョンでのプログレスバー(進捗表示)(Nick Read)
    • 問題履歴でファイルのアップロード/削除の記録も表示
    • 詳細情報やコミットメッセージで、 #id 記法で問題へのリンクを自動生成する
    • 日本語訳を追加(Satoru Kurashiki)
    • 中国語(簡体字)訳を追加(Andy Wu)
    • イタリア語訳を追加(Alessio Spadaro)
    • ssh+svnを利用したSVNリポジトリの生成やユーザのアクセスコントロールを管理するスクリプトを追加(Nicolas Chuche)
    • カレンダ表示の時間を短縮
    • strictモードのmysql5で実行するマイグレーションのスクリプトを修正
    • バグ修正:マイ/ページレイアウトでブロックを選択せず「追加」をクリックしたときのエラー
    • バグ修正:ナビゲーションバーのハードコーディング
    • バグ修正:テーブル名の接頭/接尾後サポート

    RSSとWikiが付いて、Trac で出来ることは大体できるようになってきました。

    ただ、心配していたとおり、Wikiの使い勝手はいまいちっぽいです(PukiWikiとかのI/Fに慣れすぎなだけかもしれませんが)。

    redMine は RoR で作られているので、Python で作られている Trac よりも、カスタマイズ・拡張がやりやすそう。以前のエントリで、Plugin について触れましたが、そもそも rails のアプリを拡張していく感じで、欲しい機能は自分で足していけそうです。

    また、このエントリ→「redMine をいじる」で、Kyosuke Takayama さんが利用した印象をレポートされているので、導入に興味があるかたはご覧ください。

    あと、コメントでgaryoさんより「日本語で情報交換できる場所があるといいですね。 」との要望があったので、Google グループに redMine のグループ作りました。

    よろしければ興味のある方はご参加ください。(とはいえ、redMine のDL数を見ていると、そんなに賑わいそうにもないんですけどね)

    redMine Users (japanese) | Google グループ

    <関連カテゴリ>
    でぃべろっぱーず・さいど: 「redMine」のアーカイブ

    ]]>
    http://dev.chrisryu.com/2007/04/redmine_050.html http://dev.chrisryu.com/2007/04/redmine_050.html redMine Fri, 27 Apr 2007 22:01:08 +0900
    プロジェクト管理ツール比較表 なんかこのエントリが好評だったので、みなさんプロジェクト管理ツールに興味があるのかと思い、とりあえずTracとredMineの比較表を作ってみました。

    Google Docs & SpreadSheet で作ってますので、間違いがあったらちょいちょい修正するかもしれません。

    ↓sheetのURLはこちら
    http://spreadsheets.google.com/pub?key=piV-xE0pxQrgxSmrLXZf_ZA

    PJで実際にTracを使った経験と、redMineを触ってみた感触から考えると、Tracはプログラミング中心のチーム向きで、redMineは作業系のタスクが多いチーム向きなのかなぁと思います。

    後は、自分でごりごりカスタマイズしていきたい人はTrac、プラグインのインストールとかめんどくさいって人はredMineという棲み分けもあるかも。

    ]]>
    http://dev.chrisryu.com/2007/03/post_87.html http://dev.chrisryu.com/2007/03/post_87.html Trac redMine Wed, 07 Mar 2007 21:20:30 +0900
    redMine インストール&日本語化手順 プロジェクト管理ツールredMineが気になっていたので、fedoraにインストールしてみました。

    rails -v

    を実行してrailsのバージョンを確認します。

    1.2.0以下なら、下記コマンドからrailsをアップデート。

    gem install rails --include-dependencies

    これで1.2.2になりました。

    ここから、最新版のredmineをダウンロードして、インストール先へアップします。

    日本語化用のファイルはこちら
    。(←結構適当に訳しているのでおかしいところは直してください。文字コードはUTF-8です)

    このja.ymlをlangフォルダ(en.ymlとかあるところ)へ配置します。

    ※2007.4.11 0.5.0のリリースで公式に日本語化されました。(2007.4.12 追記)

    以下の内容は、docs/INSTALLにも書いてあります。

    tar zxvf [filename]

    で解凍します。

    続いてmysqlに接続。

    mysql -u root -p
    password:****

    でもって、redmineスキーマを作成。

    create database redmine;

    続いて、解凍後のフォルダのconfig/database.ymlを開いて、productionの項目を修正します。

    production:
    adapter: mysql
    database: redmine
    host: localhost
    username: root
    password:

    さて、いよいよrakeコマンド。アプリケーションのルートディレクトリ(Rakefileがあるところ)へ移動して、以下のコマンドを実行。

    rake migrate RAILS_ENV="production"

    続いて以下のコマンドも。

    rake load_default_data RAILS_ENV="production"

    ここで言語設定を聞いてくるので、jaを入力(選択)します。

    で、以下のコマンドでWEBrickを起動すればportが3000番で開始されます。

    ruby script/server -e production

    ここまで約10分(もかかってないかも)。Tracに比べると簡単だなぁという印象です。

    SMTPと連携してメールを出したりしたい場合は、config/environment.rbの以下の箇所を修正しましょう。

    # SMTP server configuration
    config.action_mailer.smtp_settings = {
    :address => "127.0.0.1",
    :port => 25,
    :domain => "somenet.foo",
    :authentication => :login,
    :user_name => "redmine",
    :password => "redmine",
    }

    注意点が1つ。

    admin/adminで管理者のログインができますが、このユーザのデフォルト言語設定がenになっているので、日本語で見えていてもログイン後英語になってしまいます。

    user settingから言語設定をjaに変更すれば管理者も日本語で見ることができます。

    2007/2/28 追記
    上記以外にもちゃんと使うにはいくつか設定が必要です。

    日本語環境でカレンダーを使うには、下記calendar-ja.jsを、javascriptのlangフォルダの中に入れてください。
    カレンダー.jsをダウンロード

    ]]>
    http://dev.chrisryu.com/2007/02/redmine_1.html http://dev.chrisryu.com/2007/02/redmine_1.html redMine Tue, 27 Feb 2007 22:49:11 +0900
    Railsで作られたプロジェクト管理ツール"redMine" redMine - project management and issue tracking

    Rubyで作られたプロジェクト管理ツールです。

    GanttチャートやMyページなど、Tracにはデフォルトで備わっていない機能が付いてますね。

    デモサイトはこちらです。

    Tracよりも使いやすいのかしら。

    サイトに書かれている特徴には以下のものが挙げられています。

    ・Multiple users/multiple projects
     →多様なユーザ/プロジェクトに対応
    ・Fully customizable role based access control
     →アクセス制御によるカスタマイズ可能な権限管理
    ・Issue tracking system
     →問題課題追跡システム(トラッキングシステム)
    ・Fully customizable workflow
     →カスタマイズ可能なワークフロー
    ・Documents/files repository
     →ドキュメント/ファイル・リポジトリ
    ・News management
     →ニュース(連絡事項)管理
    ・SVN browser and diff viewer
     →SVNブラウザと差分表示
    ・Email notifications
     →Emailによる連絡
    ・Custom fields for projects, users and issues
     →プロジェクトやユーザや問題・課題に固有の項目を追加可能
    ・Multiple LDAP authentication support
     →多様なLDAP認証をサポート
    ・User self-registration support
     →ユーザ自身によるユーザ登録をサポート
    ・Multilanguage support (english, french, german, spanish)
     →他言語対応(英語、フランス語、ドイツ語、スペイン語)
    ・Multiple databases support: MySQL, PostgreSQL, Oracle, SQL Server, SQLite
     →多様なデータベースをサポート

    そして、今後予定されている機能として、以下のものが挙げられています。

    ・Time tracking
     →時間による追跡機能(タイムトラッキング)
    ・Per project wiki
     →プロジェクト毎のWiki

    Tracを触っている経験から、「プロジェクトやユーザや問題・課題に固有の項目を追加可能」とか、「ユーザ自身によるユーザ登録をサポート」とか、「多様なデータベースをサポート」は魅力的かも。

    Tracだと、Pluginを入れないと使い勝手がなかなか向上しない部分が上手くフォローされている気がします。

    また、Railsで書かれているということで、日本語対応も意外と簡単なのではと、勝手に思っていたり。

    今後予定されている「プロジェクト毎のWiki 」は是非とも使い勝手が良いWikiにして欲しいです。TracのWikiは使えないです。

    逆にTracでサポートされている、RSS配信やPluginとかはまだこれからなのでしょうか。

    ちょっと調べてみて、会社の勉強会で発表しようかな。

    <関連エントリ>
    redMine 0.5.1 公開 (でぃべろっぱーず・さいど)(2007/7/17 追記)
    ・その他当サイト内のredMine情報はこちら↓
    でぃべろっぱーず・さいど: 「redMine」のアーカイブ

    ]]>
    http://dev.chrisryu.com/2007/02/railsredmine.html http://dev.chrisryu.com/2007/02/railsredmine.html redMine Fri, 23 Feb 2007 22:33:27 +0900
    でぃべろっぱーず・さいど: アーカイブ

    アーカイブ

    /* Base Weblog (base-weblog.css) */ /* basic elements */ html { margin: 0; /* setting border: 0 hoses ie6 win window inner well border */ padding: 0; } body { margin: 0; /* setting border: 0 hoses ie5 win window inner well border */ padding: 0; font-family: verdana, 'trebuchet ms', sans-serif; font-size: 12px; } form { margin: 0; padding: 0; } a { text-decoration: underline; } a img { border: 0; } h1, h2, h3, h4, h5, h6 { font-weight: normal; } h1, h2, h3, h4, h5, h6, p, ol, ul, pre, blockquote { margin-top: 10px; margin-bottom: 10px; } /* standard helper classes */ .clr { clear: both; overflow: hidden; width: 1px; height: 1px; margin: 0 -1px -1px 0; border: 0; padding: 0; font-size: 0; line-height: 0; } /* .pkg class wraps enclosing block element around inner floated elements */ .pkg:after { content: " "; display: block; visibility: hidden; clear: both; height: 0.1px; font-size: 0.1em; line-height: 0; } * html .pkg { display: inline-block; } /* no ie mac \*/ * html .pkg { height: 1%; } .pkg { display: block; } /* */ /* page layout */ body { text-align: center; } /* center on ie */ #container { position: relative; margin: 0 auto; /* center on everything else */ width: 720px; text-align: left; } #container-inner { position: static; width: auto; } #banner { position: relative; } #banner-inner { position: static; } #pagebody { position: relative; width: 100%; } #pagebody-inner { position: static; width: 100%; } #alpha, #beta, #gamma, #delta { display: inline; /* ie win bugfix */ position: relative; float: left; min-height: 1px; } #delta { float: right; } #alpha-inner, #beta-inner, #gamma-inner, #delta-inner { position: static; } /* banner user/photo */ .banner-user { float: left; overflow: hidden; width: 64px; margin: 0 15px 0 0; border: 0; padding: 0; text-align: center; } .banner-user-photo { display: block; margin: 0 0 2px 0; border: 0; padding: 0; background-position: center center; background-repeat: no-repeat; text-decoration: none !important; } .banner-user-photo img { width: 64px; height: auto; margin: 0; border: 0; padding: 0; } /* content */ .content-nav { margin: 10px; text-align: center; } .date-header, .entry-content { position: static; clear: both; } .entry, .trackbacks, .comments, .archive { position: static; overflow: hidden; clear: both; width: 100%; margin-bottom: 20px; } .entry-content, .trackbacks-info, .trackback-content, .comment-content, .comments-open-content, .comments-closed { clear: both; } .entry-excerpt, .entry-body, .entry-more-link, .entry-more { clear: both; } .entry-footer, .trackback-footer, .comment-footer, .comments-open-footer, .archive-content { clear: both; margin: 5px 10px 20px 10px; } .comments-open label { display: block; } #comment-author, #comment-email, #comment-url, #comment-text { width: 240px; } #comment-bake-cookie { margin-left: 0; vertical-align: middle; } .comments-open-header { clear: both; } #comment-post { font-weight: bold; } img.image-full { width: 100%; } .image-thumbnail { float: left; width: 115px; margin: 0 10px 10px 0; } .image-thumbnail img { width: 115px; height: 115px; margin: 0 0 2px 0; } /* modules */ .module { position: relative; overflow: hidden; width: 100%; } .module-content { position: relative; margin: 5px 10px 20px 10px; } .module-list, .archive-list { margin: 0; padding: 0; list-style: none; } .module-list-item { margin-top: 5px; margin-bottom: 5px; } .module-presence img { vertical-align: middle; } .module-powered .module-content { margin-bottom: 10px; } .module-photo .module-content { text-align: center; } .module-wishlist .module-content { text-align: center; } .module-calendar .module-content table { border-collapse: collapse; } .module-calendar .module-content th, .module-calendar .module-content td { width: 14%; text-align: center; } .typelist-thumbnailed { margin: 0 0 20px 0; } .typelist-thumbnailed .module-list-item { display: block; clear: both; margin: 0; } /* positioniseverything.net/easyclearing.html */ .typelist-thumbnailed .module-list-item:after { content: " "; display: block; visibility: hidden; clear: both; height: 0.1px; font-size: 0.1em; line-height: 0; } * html .typelist-thumbnailed .module-list-item { display: inline-block; } /* no ie mac \*/ * html .typelist-thumbnailed .module-list-item { height: 1%; } .typelist-thumbnailed .module-list-item { display: block; } /* */ .typelist-thumbnail { float: left; min-width: 60px; width: 60px; /* no ie mac \*/width: auto;/* */ margin: 0 5px 0 0; text-align: center; vertical-align: middle; } .typelist-thumbnail img { margin: 5px; } .module-galleries .typelist-thumbnail img { width: 50px; } .typelist-description { margin: 0; padding: 5px; } .module-featured-photo .module-content, .module-photo .module-content { margin: 0; } .module-featured-photo img { width: 100%; } .module-recent-photos { margin: 0 0 15px 0; } .module-recent-photos .module-content { margin: 0; } .module-recent-photos .module-list { display: block; height: 1%; margin: 0; border: 0; padding: 0; list-style: none; } /* positioniseverything.net/easyclearing.html */ .module-recent-photos .module-list:after { content: " "; display: block; visibility: hidden; clear: both; height: 0.1px; font-size: 0.1em; line-height: 0; } * html .module-recent-photos .module-list { display: inline-block; } /* no ie mac \*/ * html .module-recent-photos .module-list { height: 1%; } .module-recent-photos .module-list { display: block; } /* */ .module-recent-photos .module-list-item { display: block; float: left; /* ie win fix \*/ height: 1%; /**/ margin: 0; border: 0; padding: 0; } .module-recent-photos .module-list-item a { display: block; margin: 0; border: 0; padding: 0; } .module-recent-photos .module-list-item img { width: 60px; height: 60px; margin: 0; padding: 0; } /* mmt calendar */ .module-mmt-calendar { margin-bottom: 15px; } .module-mmt-calendar .module-content { margin: 0; } .module-mmt-calendar .module-header { margin: 0; } .module-mmt-calendar .module-header a { text-decoration: none; } .module-mmt-calendar table { width: 100%; } .module-mmt-calendar th { text-align: left; } .module-mmt-calendar td { width: 14%; height: 75px; text-align: left; vertical-align: top; } .day-photo { width: 54px; height: 54px; } .day-photo a { display: block; } .day-photo a img { width: 50px; height: 50px; } /* Vicksburg II (theme-vicksburg.css) */ /* basic page elements */ body { font-family: 'trebuchet ms', verdana, helvetica, arial, sans-serif; font-size: 12px; } a { color: #666666; text-decoration: underline; } a:hover { color: #66cc33; } #banner a { color: #fff; text-decoration: none; } #banner a:hover { color: #fff; } .module-content a { color: #666666; } .module-content a:hover { color: #66cc33; } h1, h2, h3, h4, h5, h6 { font-family: 'trebuchet ms', verdana, helvetica, arial, sans-serif; } .module-header, .trackbacks-header, .comments-header, .comments-open-header, .archive-header { color: #000000; font-family: 'Trebuchet MS', Verdana, sans-serif; font-size: x-small; border-bottom: 1px dashed #999999; text-align: left; font-weight: bold; text-transform: uppercase; padding: 3px; letter-spacing: .3em; } .module-header a, .module-header a:hover, .trackbacks-header a, .trackbacks-header a:hover, .comments-header a, .comments-header a:hover, .comments-open-header a, .comments-open-header a:hover .archive-header a, .archive-header a:hover { color: #fff; } .entry-more-link, .entry-footer, .comment-footer, .trackback-footer, .typelist-thumbnailed { font-size: 11px; } .commenter-profile img { vertical-align: middle; } /* page layout */ body { min-width: 720px; color: #333; background: #FFFFFF; } #container { width: 720px; margin-bottom: 20px; background: #fff; } #container-inner { border-width: 0 5px 5px 5px; border-style: solid; border-color: #FFFFFF; } #banner { width: 710px; /* necessary for ie win */ background: #66cc33; } #banner-inner { padding: 15px 13px; border-width: 0px 0px 0 0px; border-style: solid; border-color: #fff; } .banner-user { width: 70px; margin-top: 5px; font-size: 10px; } .banner-user-photo { border: 1px solid #fff; } #banner-header { margin: 0; color: #fff; font-size: 30px; font-weight: bold; line-height: 1; text-shadow: #666666 0 2px 3px; } #banner-description { margin-top: 5px; margin-bottom: 0; color: #fff; background: none; font-size: 12px; line-height: 1.125; text-shadow: #666666 0 1px 2px; } #alpha { margin: 15px 15px 0 15px; width: 480px; } #beta { width: 200px; background: #e6ecf2; } #gamma, #delta { width: 180px; background: #dddddd; } #beta-inner, #gamma-inner, #delta-inner { padding: 10px 10px 0 10px; border-width: 0px 0px 0px 0; border-style: solid; border-color: #fff; } .date-header { margin-top: 0; font-size: 11px; font-weight: bold; text-transform: uppercase; } .entry-header { margin-top: 0; border-left: 5px solid #66CC33; padding: 0 0 0 10px; color: #000000; font-size: 18px; font-weight: bold; } .entry-content, .comment-content, .trackback-content { margin: 0; line-height: 1.5; } .entry-tags { margin: 0 0 10px 10px; } .entry-tags-header, .entry-tags-list, .entry-tag { display: inline; } .entry-tags-list { list-style:none; padding: 0px; } .entry-footer, .comment-footer, .trackback-footer { margin: 0 0 20px 0; border-top: 1px solid #DDDDDD; padding-top: 3px; color: #666; font-size: 10px; text-align: right; } .comment-content, .trackback-content, .comment-footer, .trackback-footer { margin-left: 10px; } .content-nav { margin-top: 0; } #trackbacks-info { margin: 10px 0; border: 1px dashed #66cc33; padding: 0 10px; color: #292e33; font-size: 11px; text-align: center; background: #dddddd; } .comments-open-footer { margin: 10px 0; } /* modules */ .module { margin: 0 0 10px 0; border-bottom: 1px solid #f3f6f9; background: #DDDDDD; } .module-content { margin: 0 0 10px 0; padding: 10px 10px 0 10px; font-size: 10px; line-height: 1.2; } .module-search input { font-size: 10px; } .module-search #search { width: 100px; } .module-mmt-calendar .module-content table, .module-calendar .module-content table { font-size: 10px; } .module-powered { border-width: 0; } .module-powered .module-content { margin-bottom: 0; border: 1px dashed #66cc33; padding-bottom: 10px; color: #292e33; background: #fff; } .module-photo { background: none; } .module-photo img { border: solid 1px #fff; } .module-list { margin: 0 15px 10px 15px; list-style: disc; } .module-list .module-list { margin: 5px 0 0 0; padding-left: 15px; list-style: circle; } .module-list-item { margin-top: 0; color: #666; line-height: 1.2; } .typelist-thumbnailed .module-list { margin: 0 0 10px 0; list-style: none; } .typelist-thumbnailed .module-list-item { margin: 1px 0; padding: 0; background: #f3f6f9; } .typelist-thumbnail { background: #fff; } .module-photo img { border: 1px solid #fff; } .module-featured-photo { width: 398px; } .module-featured-photo .module-content { margin: 0; border-width: 0; padding: 0; } .module-featured-photo img { width: 398px; } .module-recent-photos .module-content { padding: 10px 0 0 19px; } .module-recent-photos .module-list { margin: 0; } .module-recent-photos .module-list-item { width: 64px; /* mac ie fix */ margin: 0 10px 10px 0; padding: 0; background: none; } .module-recent-photos .module-list-item a { border: #cfd4d9 1px solid; padding: 1px; background: #fff; } .module-recent-photos .module-list-item a:hover { border-color: #666666; background: #fff; } .module-tagcloud .module-list {text-align: center; } .module-tagcloud .module-list { list-style: none; } .module-tagcloud .module-list-item { display: inline; } .module-tagcloud li.taglevel1 { font-size: 19px; } .module-tagcloud li.taglevel2 { font-size: 17px; } .module-tagcloud li.taglevel3 { font-size: 15px; } .module-tagcloud li.taglevel4 { font-size: 13px; } .module-tagcloud li.taglevel5 { font-size: 11px; } .module-tagcloud li.taglevel6 { font-size: 9px; } /* calendar tweaks */ .layout-calendar #alpha { width: 260px; } .layout-calendar #beta { width: 420px; } .layout-calendar #gamma, .layout-calendar #delta { width: 190px; } .layout-calendar #gamma-inner, .layout-calendar #delta-inner { border: 0; padding: 0; } .module-mmt-calendar { width: 398px; } .module-mmt-calendar .module-content { margin: 0; border-width: 0; padding: 10px; } .module-mmt-calendar table { width: 378px; background: #66cc33; } .module-mmt-calendar th { color: #fff; border-top: 1px solid #fff; border-right: 1px solid #f3f6f9; border-bottom: 1px solid #cfd4d9; padding: 2px; text-align: right; font-weight: bold; } .module-mmt-calendar td { border-top: 1px solid #fff; border-right: 1px solid #f3f6f9; border-bottom: 1px solid #cfd4d9; padding: 2px; text-align: right; font-weight: normal; background: #dddddd; } th.weekday-7, td.day-7, td.day-14, td.day-21, td.day-28, td.day-35, td.day-42 { border-right: none; } .module-mmt-calendar td { height: 70px; } .day-photo { width: 49px; height: 49px; } .day-photo a { border: #cfd4d9 1px solid; padding: 1px; background: #fff; } .day-photo a:hover { border-color: #666666; background: #fff; } .day-photo a img { width: 45px; height: 45px; } /* artistic tweaks */ .layout-artistic #alpha { width: 260px; } .layout-artistic #beta { width: 420px; } .layout-artistic #gamma, .layout-artistic #delta { width: 190px; } .layout-artistic #gamma-inner, .layout-artistic #delta-inner { border: 0; padding: 0; } /* moblog1 tweaks */ .layout-moblog1 #alpha { margin: 0; width: 180px; background: #dddddd; } .layout-moblog1 #alpha-inner { padding: 10px 10px 0 10px; border-width: 0px 0 0px 0px; border-style: solid; border-color: #fff; } .layout-moblog1 #beta { margin: 15px 15px 0 15px; width: 320px; background: none; } .layout-moblog1 #beta-inner { padding: 0; border-width: 0; } .layout-moblog1 .module-recent-photos .module-content { padding: 10px 0 0 10px; } /* moblog2 tweaks */ .layout-moblog2 #alpha { margin: 0; width: 86px; background: #dddddd; } .layout-moblog2 #alpha-inner { padding: 10px 10px 0 10px; border-width: 0px 0 0px 0px; border-style: solid; border-color: #fff; } .layout-moblog2 #beta { margin: 15px 15px 0 15px; width: 260px; background: none; } .layout-moblog2 #beta-inner { padding: 0; border-width: 0; } .layout-moblog2 #delta { width: 154px; } .layout-moblog2 .module-recent-photos { border: 0; background: none; } .layout-moblog2 .module-recent-photos .module-content { padding: 0; border: 0; } .layout-moblog2 .module-recent-photos .module-list-item { margin: 0 0 10px 0; } /* timeline tweaks */ .layout-timeline #alpha { width: 260px; } .layout-timeline #beta { width: 420px; } .layout-timeline #gamma, .layout-timeline #delta { width: 190px; } .layout-timeline #gamma-inner, .layout-timeline #delta-inner { border: 0; padding: 0; } /* one-column tweaks */ .layout-one-column body { min-width: 520px; } .layout-one-column #container { width: 520px; } .layout-one-column #banner { width: 510px; } /* necessary for ie win */ /* two-column-left tweaks */ .layout-two-column-left #alpha { margin: 0; width: 200px; background: #dddddd; } .layout-two-column-left #alpha-inner { padding: 10px 10px 0 10px; border-width: 0px 0 0px 0px; border-style: solid; border-color: #fff; } .layout-two-column-left #beta { margin: 15px 15px 0 15px; width: 480px; background: none; } .layout-two-column-left #beta-inner { padding: 0; border-width: 0; } /* three-column tweaks */ .layout-three-column #alpha { margin: 0; width: 180px; background: #DDDDDD; } .layout-three-column #alpha-inner { padding: 10px 10px 0 10px; border-width: 0px 0 0px 0px; border-style: solid; border-color: #fff; } .layout-three-column #beta { margin: 15px 15px 0 15px; width: 320px; background: none; } .layout-three-column #beta-inner { padding: 0; border-width: 0; } /* * Preliminary styles added by Jay for Vicksburg II * for review by Luke/Walt and rest of team */ /* All or multiple templates Suppress underlines on linked entry titles */ .entry-header a { text-decoration: none; } /* Suppress the prev/next nav */ .content-nav { margin: 0px; display: none; } /* Search results templates */ .mt-search-results .search-results-header { border: 2px solid #669; background-color: #666666; color: #eee; padding: 5px; } .mt-search-results .search-results-container { margin-left:10px; } .mt-search-results form#search-form { width: 400px; margin: 0px auto 20px auto; } .mt-search-results form#search-form input#search { width: 80%; } .mt-search-results form#search-form p#search-options { text-align:center; } /* Entry tag display */ div.entry-tags { margin:0 0 10px 10px; } ul.entry-tags-list { list-style:none; padding: 0px; } h4.entry-tags-header, ul.entry-tags-list, li.entry-tag { display: inline; } /* Main index styles Suppress date header on main index */ .main-index .date-header { display: none; } /* Comment preview and individual entry Widen the comment form */ form textarea#comment-text { width:400px; } /* All archive templates Informational "where am I?" module at top of sidebar */ .module-welcome p { font-size: 12px; } .module-content p.first { margin-top:0px; } /* Date-based and category archives Archive title banner at top of page, below blog banner */ .master-archive-index #archive-title, .individual-entry-archive #archive-title, .date-based-archive #archive-title, .category-archive #archive-title { /* ie win (5, 5.5, 6) bugfix */ p\osition: relative; width: 100%; w\idth: auto; margin: 0; border-left: 10px solid #66cc33; padding: 5px; color: #fff; background: #666666; } /* Experimental comment styles Not currently in use anywhere in default templates For testing only... */ #comments-experimental .comment, #comments-experimental .comment .comment-inner { width:36em; } #comments-experimental .comment { padding: 0px; margin: 10px 15px; background-color:#eef; border:2px solid #bbb; } #comments-experimental .comment .comment-inner { position:relative; margin:-5px 0 0 -3px; background:#f3f3ff; border:1px solid #003; } #comments-experimental .comment:hover .comment-inner { border:1px solid #000; background-color: #fff; } #comments-experimental .comment a { text-decoration: none; border-bottom: 1px dotted #666666; } #comments-experimental .comment:hover a { color: #333; border-bottom: 1px solid #666; } #comments-experimental .comment .comment-footer, #comments-experimental .comment .comment-content { margin-right: 25px; margin-left: 25px; margin-bottom: 15px; } #comments-experimental .comment .comment-header { font-size: 16px; margin: 5px auto 5px 10px; text-shadow: #99A 2px 2px 1px #66F; color: #666; } #comments .comment-header { display: none; } #comments .comment-footer-experimental { display: none; } #comments-experimental .comment-footer { display: none; } でぃべろっぱーず・さいど: コメントの保留

    コメントを受け付けました。

    コメントを受け付けました。受け付けたコメントは、ブログの管理者の承認のため保留されています。

    エントリーのページに戻る