« 2007年03月 | 過去ログ一覧 | 2007年05月 »

2007-04-02 (Mon)

Trac 0.10 系列にアップグレイド

しました。のでメモ。

インタアクトさんの所 に日本語版があるので、これを使用。

最初に既存の trac の実行エンジンは消しておいた方が安心みたいです。多分これをやらないと、後述するエラーメッセージが出てしまう。

$ rm -r /usr/lib/python2.3/site-packages/trac/

こうしたらインストールを実行。

$ sudo python setup.py install

次はプロジェクトのデータを更新する。これを忘れると InternalServerError になるよ。

$ trac-admin XXXX upgrade
$ trac-admin XXXX wiki upgrade

もし upgrade 時に以下のようなエラーが出た場合は、インストールがうまくいってなって事だと思われます。一端 trac を消してから再インストールしましょう。

$ trac-admin XXXX upgrade
Command failed: Unsupported database type "sqlite"

最後にウェブサーバを再起動してアップグレードは完了です。

さて、文字コードの判別方法が変わったのかわかりませんが、今までちゃんと表示されていた一部のファイルが文字化けするようになりました。調べてみたら、Tracでファイルの文字コードを自動判定 と言う事で文字化けに対応する方法が書かれていたので、パッチをあてて Universal Encoding Detector をインストールした所、期待通りに文字化けせずに表示できるようになりました。文字コード混在環境の人はやっておいた方が良いでしょう。

0.10 になって変わった点は調べてないのですが、パッと見た感じだと以下のような点に変化が見られました。

  • wiki で diff が見られるようになった
  • diff の表示範囲が指定できるようになった (リビジョン10〜20のdiffを表示、とか)
  • 日付が yyyy/mm/dd になった (これはインタアクトさんのおかげ)
  • チケットに「返信」機能が付いた

やっぱ diff は範囲が指定出来ないと実用的じゃないよね。

△トップ | コメント (2) | トラックバック(0)

2007-04-08 (Sun)

それにしても、どういう理由で彫り込んだのでしょうかこれは。

さまざまな動物の彫刻が彫り込まれた一本の大樹

この木はフロリダのディズニー・ワールドにあるツリー・オブ・ライフっていうシンボルなんですよ、とか訳知り顔にコメントしてみる。

ツリー・オブ・ライフ

これが置いてあるアニマルキングダムで、バックヤードに連れていかれてパレードの車に乗せてもらいました。

△トップ | コメント (0) | トラックバック(0)

2007-04-12 (Thu)

便利な vim のブラケットコマンド

カーソル位置の単語を一覧表示してくれるコマンドがあったよな〜って思って調べていたら ]I (大文字の i ね)で出来る事がわかりました。これ、便利です。

でまぁ ] ← こんなの使うコマンドなんて全然知らないなと思ったので、他のコマンドもチェックしてみる事にしました。

KaoriYa.netコマンド索引 と :h index の該当の項を見れば全部わかりますが、実際はいたってマニアックな移動系のコマンドばかりで、わざわざ覚えるよりも普通に検索で移動した方が良さそうな感じ。

その中でも、ちょっといいと思ったやつ。すぐ忘れると思うけど。

[p    インデントを揃えてペースト (P)
]p    インデントを揃えてペースト (p)
[z    fold の開始位置へ移動
]z    fold の終了位置へ移動

あとは、最初に挙げた i なんかは、インクルードしているファイルからも探してくれるので、例えば

use CGI;
my $cgi = new CGI;
print $cgi->header;
print "hehehe";

みたいなコードがあったとして、header の上で [I とかやると CGI.pm とか Cookie.pm とか、なんかそこら中から探してきてくれます。

] がカーソル位置からの検索で、[ だとファイルの先頭から検索のようです。とにかく、サクッと grep っぽい結果を得たい事はあるので、そんな時に重宝しそう。

ちなみに i じゃなくて Ctrl-i とすると、検索結果の一番最初の位置に移動するらしいです、が、これは使いにくいので忘れます。

△トップ | コメント (0) | トラックバック(0)

2007-04-20 (Fri)

redMine 使ってみる

この前の Rails 勉強会の時にちょっと話題になったのですが、プロジェクト管理ツールの redMine と言うのがありまして、trac の代替になりそうな感じだったのでちょっと試してみました。

複数プロジェクト(SVNリポジトリ)の管理が出来て、ガントチャートも使えるし、ウェブ上の管理機能も充実していてかなり期待が出来そうです。

Rails のプロジェクトなので、Rails を使ってる人ならセットアップも簡単です。

まずは自分の環境を晒してから。

$ ruby -v
ruby 1.8.5 (2006-08-25) [i486-linux]
$ rails -v
Rails 1.2.3

ディレクトリ作って svn でデータを持ってきます。

$ mkdir redmine
$ cd redmine
$ svn checkout svn://rubyforge.org/var/svn/redmine/trunk .

次はデータベースの設定。 なぜか sqlite だと SVN リポジトリの設定が出来なかったので、無難に mysql を使うのがいいと思います。

なんか、こんな風にしました。

$ vi config/database.yml
production:
  adapter: mysql
  database: redmine
  username: redmine
  password: PASSWORD
  socket: /var/run/mysqld/mysqld.sock
  encoding: utf8

mysql のユーザとデータベースも作っておきます。

mysql> create database redmine character set utf8;
Query OK, 1 row affected (0.01 sec)

mysql> grant all privileges on redmine.* to redmine@localhost identified by 'PASSWORD';
Query OK, 0 rows affected (0.10 sec)

テーブルのセットアップ。

$ rake db:migrate RAILS_ENV="production"

初期データのインポート。 言語を聞かれるので、ja にすると日本語のデータが入ります。

$ rake load_default_data RAILS_ENV="production"
(in /home/takayama/rails/redmine)

Select language: de, en, es, fr, it, ja, zh [en]

あとは SMTP サーバの設定。 ユーザ登録とかバグ登録の時にガンガンメール飛ぶので、適当にプロバイダの SMTP サーバでも設定しておいた方が良いでしょう。

$ vi config/environment.rb
# SMTP server configuration
config.action_mailer.smtp_settings = {
    :address => "smtp.example.com",
    :port => 25,
}

以上で設定完了。

次のコマンドでサーバが起動します。

$ ./script/server -e production

http://127.0.0.1:3000/ にアクセスして画面が表示されたらオッケーです。 id:admin, pw:admin で管理者としてログイン出来るので、最初に「MyAccount」→「Language」→「Japanese 日本語 」として画面を日本語にしましょう。 あとは適当にユーザ作ったりプロジェクト作ったり好きなように遊んで下さい。

私が遊んだ記録は、このちょっと下のトラックバックを見ると辿れるので、参考にして下さい。

△トップ | コメント (0) | トラックバック(3)

redMine で textile

redMine のバグトラッキングとか wiki とか色々なテキストフォームは textile っていう記法でリッチなテキストが書けます。

RedCloth っていうのをインストールすると使えるようでして、Debian だと libredcloth-ruby っていうパッケージとして提供されていたので、難なく導入する事が出来ました。 apt-get した後にサーバを再起動させたらすぐに有効になります。

でも、正直あんまり使い易そうに見えないんだよなー。無いよりは全然マシだけど。

* 関連記事

△トップ | コメント (0) | トラックバック(0)

2007-04-21 (Sat)

redMine をいじる

redMine 使ってみる の続きです。

プロジェクトに関する機能を、ちょっと触ってみました。

* プロジェクト登録

まずはプロジェクトを登録しないと始まりません。 管理者アカウントで簡単にプロジェクトの登録が出来ます。 名前を決めて、リポジトリの URL を入れてと言った具合で、別にどうと言う事はないです。 ローカルだけじゃなく、ネットワーク越しのプロジェクトも登録出来るので、何かと融通が効きます。

新しいプロジェクトを登録したら、そのプロジェクトに所属するユーザを指定する事になります。 自分が所属しているプロジェクトにしかバグ報告とか出来ないので、細かく利用者権限を振り分ける事が出来るようになっています。

所属ユーザを変更する場合は「プロジェクト」から該当のプロジェクトを選択し、「設定」の「メンバー」を選びます。追加するユーザには「管理者」とか「開発者」とか、権限を指定する事が出来ます。 この権限については「管理」の「ロールと権限」で設定出来まして、カテゴリが追加出来るのかとか、Wiki が削除出来るのかとか、かなり細かい権限を設定する事が出来るようになっています。 まぁ初期状態で用意されている「管理者」「開発者」「報告者」で大抵は足りると思いますが。

プロジェクト自体を非公開にして、所属メンバーのみに公開するような設定も出来るので、多人数でコラボレーションする場合にも安心して利用出来るような気がします。

* issue 管理

では登録したプロジェクトを使って遊んでいきましょう。

やっぱメインはバグトラッキングですよね。 カレンダやガントチャートなど、時間に関する機能が充実している感じです。

新しい「問題」を登録すると、設定されているワークフローに従ってステータスを変更していき、順に処理を行なう流れになっているようです。

ここで言うワークフローは、管理者アカウントで「問題トラッキング」→「ワークフロー」で設定した「状態」ステータスの管理方法です。 初期状態だと「新規」から「終了」までぶっ飛べますが、設定次第で「解決」のステータスを経由しないと「終了」には行けないようにも出来るし、結構柔軟に設定が可能です。

「時間を記録」をクリックすると、作業時間を記録しておく事が出来るようです。 こまめに時間管理したいような人はいいんじゃないでしょうか。

「作業の期限」を指定しておくとガントチャートにも反映されるし、進捗状況も自分で指定出来たり至れり尽くせり。 項目が足りないと思ったら、「カスタムフィールド」から簡単に追加出来ますし、issue 管理に関しては、もう必要な機能はほぼ揃っていると言えますね。

カレンダが ical を吐き出すようになってくれれば、Google Calendar なんかを連携出来そうなので、追加されたら嬉しいですね。

* ロードマップ

「設定」から新しい「バージョン」を登録すると、それが「ロードマップ」として扱われるようになります。 「問題」を登録する時に「バージョン」を指定するようにしておけば、ここのロードマップで簡単に確認が出来るような、そんな機能です。

* SVNリポジトリ

単なるリポジトリブラウザなんだけど、正直ここが不満です。 素の subversion の WebDAV に差分とログが見れる機能がついたくらいか。ブラウザ上でコードも画像も確認出来ないのは結構不便に感じます。

* そのほか

「文書」ってのが良くわからん。 Wiki でよくね? 「ニュース」は多分管理者からの連絡事項として使ったりするんでしょう。

「検索」はリポジトリのログも対象になっているので、何気に便利です。

* 感想

今まで trac ラブな身でしたが、redMine は複数のプロジェクトが管理出来るのと、コマンドラインを使わなくて良いので、乗り換えようかと考えています。

私の場合はプロジェクト毎にリポジトリを分けてるので、それぞれのプロジェクトの情報が切り替えやすい redMine の方が使い易そうに見えます。なんだかんだ行ってウェブ上で管理出来るのも楽ですしね。 redMine の調子が良さそうならもう躊躇する理由もあんまりありません。

問題は subversion と trac とで認証を共有するためにダイジェスト認証を使っていたのが、意味なくなってしまった事でしょうか…。 これ何とかうまく出来ないもんかなぁ。

△トップ | コメント (1) | トラックバック(1)

2007-04-25 (Wed)

マトリックス風 twitter

名付けて matwitter

ニコったー を見たら思い付いたから作っただけで、反省はしていない。

デフォルトだと、オレのアカウント+フレンドのメッセージが流れます。あと Firefox でしか見てないから、IE とかだと動かないかも。

もしこれを自分のサイトに置きたいとかそういう奇特な人がいましたら、ご自由にどうぞ。

スクリプトすげえ短いので、マトリックス風に文字を流したい欲求があれば、使いまわしやすいかもね。

ていうか、マトリックスってこんな感じだったっけ?

△トップ | コメント (5) | トラックバック(6)

2007-04-26 (Thu)

TinyURL はリンク先を開く前に URL を確認できる

人気のTwitterにセキュリティ問題、研究者が指摘 に URL 短縮サービスの事が書いてありましたが、だいたい TinyURL ですよね。これは私も気になってたので、ページ内に TinyURL があったら元の URL に戻す Greasemonkey を作ろうと思ったんですが、HEAD リクエストの返答がリダイレクト先のサイトの情報になってしまって、なんかめんどくさくなったので飽きました。

それで、TinyURL の仕様とか確認している時に気づいたんですが、2ch で言う所の ime.nu みたいな確認用のページを挟み込む設定があるようです。とりあえず、当面はこれでしのぐと良いでしょう。

以下からセッティング出来ます。

NEW って書いてあるから、まだ新しい機能なのかな?「Click here to enable previews.」と書いてある所をクリックしておくと設定完了です。これで次からはいちいち確認用の画面を経由する事になります。まあ実際は確認しづらくてなんじゃコリャって感じなんだけど、何だかわかんないリンクを踏むのって結構勇気がいる行為なんで、この設定はしておいた方が安心ですよね。

そもそも、プレビュー相当の機能はデフォルトで ON になっているべきものだと思うんだけどな。多分すぐにそうなるだろうけど。だいたい TinyURL のサイトを見に行く機会なんて無いし、プレビュー機能の存在にどうやって気付けばいいんだろうか。

△トップ | コメント (0) | トラックバック(2)

 
Copyright (C) Kyosuke Takayama, Some rights reserved.