Trac0.11.2インストールメモ
久しぶりにTracのインストールをした。easy_installが便利だったのと、忘れがちなので、メモ
easy_installはpythonのモジュールのインストールを簡単にしてくれるコマンド
easy_install --prefix=~/code/python --install-dir=~/code/python http://svn.edgewall.org/repos/trac/tags/trac-0.11.2.1
引数に"-n"をつけておくと、実際にインストールしないでどうなるか、一応確認ができる。(でも実際にインストールしないので、モジュールがねぇって起こられました。)SVNのリポジトリパスを指定するとそこからダウンロードしてきてインスコできるとか、いいよね。
で、--install-dirや--prefixを指定しているのは、インスコする環境をバージョンごとに別にしようかと画策してたため。環境変数PYTHONPATHにさっきのパスが含まれるように、Shellの起動時に読み込まれる.bashrc(でよかったか。)にこんな風に書いておいてます。
if [ $PYTHONPATH ]; then export PYTHONPATH=$PYTHONPATH:~/code/python else export PYTHONPATH=~/code/python fi
実際、自分であおる時は実プロジェクトではなく、試すためのプロジェクトなので、trac-adminで適当なところにprojectを作り、Apacheなんか立ち上げるのも面倒なので、tracdで1025番以降のポート(1024番以下はroot権限がないと起動できない)で起動します。こんな風に
tracd -p 10080 -s test
さて。あおろう。
XmlRpcPluginってまだ0.11に対応してない?もしかして。trunkを使えってことか。
今月はリリースラッシュだ0.11リリースだ。
つーことで、長い間BetaだったTrac0.11が正式にリリースされた模様。一応MLを見ていたんですが、「リリースしたよ!」みたいなお知らせはまだ流れていませんでした。気づくとSubversionも1.5になっていたり、今月はもうお祭りだね。
みんな一気にバージョンアップするのかな。地雷踏んだらどしどしブログに上げてくれると屍を超えていこうとする人たちの役に立とうぜぃ。
assemblaを使いはじめました。
無料のTrac&Subversion or Git or Mercurialのホスティングサイト、assemblaを使い始めました。目的はTracを使って自分のプロジェクト運営を楽にしたかったのと、TracのXML-RPCプラグインを使ったMylynでのチケット管理です。CodeReposではXML-RPCプラグインが使えないような様子なので、assemblaを使い始めました。もしかすると使えるのかな?とりあえずハンドラが登録されてなさげだったので、XML-RPCはきっと使えないんだろうと勝手に判断しました。
チケットのインポート/エクスポートもできるので、他サイトのTracからの移行も容易そうです。ただし、TracのAdmin画面からPluginのインストールができそうな感じに見受けられますが、実際にアップロードしてもインストールできないようです。あしからず。
TracのXML-RPCプラグインはチケットが一件もない場合は動作しません。最初/xmlrpcにアクセスしてもエラーが表示されて焦りましたが、チケットを登録したら動作するようになりました。無料でTrac+Mylynが使えるサイトはなかなかないので結構お勧めです。
かっとなってWiki編集用ブックマークレットを作ってみた。(アクセスキーについて追記したよ)
TracWikiを編集するのに画面の一番下まで行って編集ボタンを押すのがあまりにもたるいので、ヵっとなってブックマークレットを作った。後悔はしていない。
Tracを編集する
javascript:window.location=window.location+'?action=edit'
Tracの編集結果をコミット
javascript:window.document.getElementsByName('save')[0].click()
マウスジェスチャと組み合わせて幸せになりました。はてブボタンみたいにブックマークするボタンがあったら共有に便利だろうけど、それは後でね。
多分追加していくんだろうね。このエントリも。
21:00杉に追記
コメントでTracにはアクセスキーがあるよーと教えていただいた。ざっと調べてみた。Firefoxの場合はAlt+Shift+アクセスキー、それ以外はAlt+アクセスキーでショートカットできる。
アクセスキー | どこをさしてる? |
---|---|
f | 右上の検索フォーム入力欄 |
6 | Help/Guide |
1 | wiki top |
2 | Timeline |
3 | Road map |
7 | New Ticket |
4 | Search |
4 | Search |
e | Edit This Page |
distutilsの使い方Tips
Linux環境でTrac月を再現するには
Oかもとさん曰く、decoratorプラグインやらなんやらOかもとさん謹製のプラグインを入れてしまえば同等の環境が作れるよ!らしい。
Trac0.11b1をUbuntuに入れてShibuya.tracに臨んでみた
今日はShibuya.trac meeting 1.0が豊洲で行われることをすっかり忘れてて、慌ててTrac 0.11bを試してみた。
Ubuntuへのインストール
やってみた感想はPYTHONPATH激しく便利だー。JavaでもJRE/ext以下にjarを配置すればおんなじ様なことを実現できるんだろうけど、あんまりやられないように思う。Javaの場合仮想マシンの上で動かすアプリケーションみたいな考えがあるからかですかね。
今回のインストールに対する基本的な考え
Tracと言えどもベータ版のパッケージなので、基本的に自分のホームディレクトリにソースを配置して、そこを環境変数PYTHONPATHで設定する。と言う方針なので、基本はUbuntuのパッケージを使わずに手でパッケージをインストールしてみた。
ソースで用意したもの
- Trac-0.11b1
- まぁ、とりあえずソースで用意
Trac-0.11b1をダウンロード後、解凍し、解凍したディレクトリパス($TRAC_HOME)とでもしましょうか。)をPYTHONPATHに含めまして
$TRAC_HOME/trac/admin/console.py Tracのプロジェクトパス
とかやると
trac-admin Tracのプロジェクトパス
と同じようにtrac-adminが起動し、
$TRAC_HOME/trac/web/standalone.py --port 8000 TRACのプロジェクトパス
とやると
tracd --port 8000 TRACのプロジェクトパス
と同じようにtracdが起動されます。まぁ僕は知らなかったんですが、easy_installは設定ファイルで書かれたpythonのクラスをコマンドとしてPATHの通ったところに配置してくれるみたいですね。要するに、上記のtrac-adminやtracdはpythonスクリプトを呼び出しているだけだったんですよ。えぇ。tracdを使っているときは認証とかどうするのか、わかんなかったんで、anonymousにTRAC_ADMIN権限与えていじってみました。
使用感
- 注目のワークフロー周りは全く触ってません。
- wikiの入力フォームで前回との差分を確認するRecent Changesボタンが追加されてた
- 個人設定のページが充実してます。アクセスキーを有効にするかどうかの設定とかできるようでございます。
- XML-RPCプラグインは0.11に入んないのかな。0.11b1にはなかったよ。
- Genshiのおかげでhtdocsとかtemplates辺りの知識に関しては再学習必要
一応インストールしてないものについて触れてみる
- Apache
- Python-Subversionブリッジ
Tracを試すためだけに上二つのパッケージを入れるのはイケテないと判断。0.9時代には考えられないほど、インストールが簡単になっている気がするのはおいらの気のせいか。
まとめると0.11b1を動作させる上で必須のものは
こんな感じで、SQLiteブリッジやsetuptoolsに関してはPythonを使っていると普通に入れてるんじゃないの?的なものなので、特筆すべき事項ではないし、ClearSilverがなくてもよくなったから、Cで書かれた環境依存なパッケージもない。もちろんneonとか、subversionとの連携に起因するパッケージも要らない。ってすごい時代になったもんだよ。最近話題のMercurialはPythonで書かれたSCMなので、Pythonだけ入っていればTracのシステムが一応作れちゃったりするんではなかろうか。