Warning: リポジトリと同期できません (サポートされていないバージョンコントロールシステム "svn です。 Python のライブラリに "svn" が正しくインストールされているか確認してください。)
Posts for the month of October 2006

TracでのRSSの活用

仕事で大人数で開発する場合に特にいえるのですが、 Tracのチケットの更新やWikiの更新通知をRSSで行いたいと考えると思います。 で、タイムラインや、クエリからRSSフィードを取得しようすると思います。 しかし、TracのRSSでは、自分が特に欲っしていない情報が多すぎて役に立たない(自分にとって重要な情報が埋もれてしまう)のです。

では、ホントに欲しいのがどんな情報かというと、

  • 自分宛ての情報が一番欲しい。チケットの担当者が自分になったとか、自分の書いたチケットやwikiにコメントが付いたとか。
  • 自分が登録した情報は全く欲しくない。そりゃすでに知っているので。

んで、こんな情報を取得できるようにRSSのフィードをカスタマイズできるといいのかなと。 具体的には、こんな機能があるといいかな。

自分宛ての情報をとるために、

(1) 特定キーワードを持つwiki/チケット/ログの登録・変更を取得したいので、キーワードの設定を行う画面(ユーザごとに)。
(2) 特定チケット番号でのチケットに関する変更。チケットについてピンを刺すような感じで、やはりユーザごとに設定を行う画面。
(3) 特定フォルダ、特定ファイルの登録・変更。これは(1)と似たようなもんか。

自分が登録した情報を除くために

(4) 上記(1)から(4)から特定ユーザが登録したものを取り除く機能

タイムライン(またはTickTackBlogプラグイン)の改造でできるかな。

ちなみに、皆さんはTracのRSSをうまく使えてますか?不満はありませんか?

FlashDevelopをActionScript3のIDEとして使う

FlashDevelopをActionScript3のIDEとして使うことが出来そうなので、 その手順をまとめました。
wiki:as3/FlashDevelop

haXeを紹介しておいて、あっさりFlex2に傾いちゃいました。く(*´ー`)
まあ、両方試してみようということで。。

Flex2の方がFlashDevelopでコード補間できそうなので、今のところ使いやすそう。

コンパイルはhaXeの方が早い。Flex2SDKのコンパイルにANTを使っているので、JDKの起動に時間がかかっている感じ。NANTを試そうと思ったら、 つながらない。。

言語としてどっちがいいかは微妙。 JavaやC#になれているので、 AS1.0やAS2.0と比べるとhaXeが圧倒的に分かりやすいんだけど、 AS3.0とhaXeは、どちらがいいというほどの違いが見えない。まあ、もうちょっと触ってみます。

さくらインターネットにtrac-0.10-ja-1をインストール

#102で触れたtrac-0.10-ja-1、早速このサイトに入れてみました。

FootNoteマクロがエラーになる。みたい。その他の変更点は私自身もこれから触ってみよーって感じです。

templateも0.10.0-jaにしてあります。日本語ドキュメントを見たい方はこちらからドーゾ。インタアクト株式会社に感謝しましょう。

以下は、trac0.9.5-jaからtrac-0.10.0-ja-1にアップグレードした手順のメモです。 trac0.9.5-jaはさくらインターネットにTracを構築するに沿ってインストールしたものを前提としています。

0.事前にチェック

trac0.10自体は、trac0.9.xが動いている環境であれば特に問題なく動きますが、 プラグインやマクロについてはそのままでは動かない可能性が高いです。 アップグレードする前に、使っているプラグインやマクロが0.10に対応しているかチェックしてください。

1.バックアップとクリーンアップ

環境のバックアップと、環境のクリーンアップを兼ねて、使っているTracのモジュールは フォルダごと別名に変更します。TracEnvについては別名でコピーした後、 pluginsフォルダの中身を全て削除します。

(1)モジュール

cd $HOME/local/lib/python2.4/site-packages
mv trac trac.bak
cd $HOME/local/share
mv trac trac.bak
cd $HOME/www
mv trac_.cgi trac_.cgi.bak

(1)TracEnv

cd $HOME/var
cp -r trac trac.bak
cd $HOME/var/trac/repo/plugins
rm *

2.tracのインストール

cd $HOME/local/src
wget http://www.i-act.co.jp/project/products/downloads/trac-0.10-ja-1.zip
unzip trac-0.10-ja-1.zip
python ./setup.py install --prefix=$HOME/local
cp $HOME/local/share/trac/cgi-bin/trac.cgi $HOME/www/trac_.cgi
cd $HOME
trac-admin var/trac/repo upgrade
trac-admin var/trac/repo wiki upgrade

これで、Trac自体のインストールは完了。サイトが見えるかいったん確認します。 (私は間違えてtrac.cgiを上書きしてしまい、InternalServerErrorが表示されてしまいました。trac.cgiを直して、しばらく待ったら表示されました。)

3.プラグインのインストール

プラグインは1個ずつインストールしなおしましょう。

(1)WebAdmin

ここ参照。 Sakuraインターネットのサーバから直接svnでとることが出来なかったので、 一度PCにエクスポートしてからFTPでサーバに置いています。
http://svn.edgewall.com/repos/trac/sandbox/webadmin/ から取得。

python setup.py egg_info
python setup.py bdist_egg
cp dist/TracWebAdmin-0.1.2dev-py2.4.egg $HOME/var/trac/repo/plugins/

(2)AccountManagerPlugin

ここ参照。 WebAdminと同様に、いったんPCにエクスポートしてから、FTPでサーバに置く。
http://trac-hacks.org/svn/accountmanagerplugin/trunk から取得。easy_installの 使い方が分からなかったので、普通のプラグインと同じくbidst_eggを実行してます。 egg_infoは必要かどうか分からないけどWebAdminのまねしてやりました。

python setup.py egg_info
python setup.py bdist_egg
cp dist/TracAccountManager-0.1.2dev-py2.4.egg $HOME/var/trac/repo/plugins/

(3)FootNoteMacro

ここ からダウンロードして、FootNote.pyをTracEnvのwiki-macrosに置く。
注意:これはうまく行ってない。エラーになる。

あとは自作のプラグインをインストールしなおして完成。

TotoriseSVNとTracの連携

TortoiseSVN1.4.0からかな?
TortoiseSVNには「バグ追跡システム / 課題追跡システムとの統合」のための機能があり、 これを使うと SVNのコミット時に、Trac等バグ追跡システムのissue番号を入力するフィールドを表示する ことが出来ます。入力されたissue番号(チケットのID)はログメッセージの最後に追加されます。 その他、TortoiseSVNのログからTracのチケットを開くことも。

また、SVNのリポジトリ内のフォルダに対して設定するので、1回設定すれば そのリポジトリを使っている全員に適用することが出来ます。 (対応しているSVNクライアントを使う必要はあります)

ヘルプによると、2種類設定方法があるのですが、今回はその片方を紹介。 「TotoriseSVNとTracの連携」をご覧下さい。

trac-0.10-ja-1が公開されています

インタアクト株式会社からTrac 0.10の日本語版trac-0.10-ja-1が公開されていますね。 Trac日本語化作業グループ様、ごくろうさまです。

0.9から0.10へアップグレードしようとしている人は、使用しているプラグインが0.10に対応しているかチェックしたほうが良いでしょう。 メジャーバージョンアップのため、今使っているプラグインがそのまま使えるとは限りません。

うちのプラグインで、0.10に対応済みなのは今のところ MailArchiveプラグインTickTackBlogプラグインのみです。

FlashDeveloperのメニューを日本語化

FlashDeveloperのメニューを日本語化してみました。

このチケットの 添付ファイルを解凍して、FlashDeveloperのインストールフォルダ/Settingsに あるファイルと入れ替えてください。

#99のエディタの日本語フォント化も含んでいます。

FlashDeveleoper2.0.0 Final専用です。

すごいぞhaxelib

Haxeにはhaxelibという、開発者が共通リポジトリでコードやライブラリを共有するための ツールが含まれています。

言葉だけでは(・・?)ですが、haxelibとは要はFedore Coreでいうyumコマンドみたいなもの(使い方もそっくり)であり、それによって誰かが作ったhaxeのライブラリ等のパッケージを簡単に入手・最新化できるようです。(まあ、まだ6プロジェクトしかなく、HaxeでかかれたライブラリというよりHaxeの周辺ツールみたいなものしか置いてないようですが。)
もちろん自分が作ったものも公開できるみたい。

うーん、新鮮。

Haxeの開発元が自らがリポジトリを用意することで、 有用なソースが集中管理され、迅速に広く共有できる( 誰にも見つからないURLで有用なライブラリが公開されるのを防ぐ) 効果があると思う。

成功すれば、Haxeが広く知られるころには 「とっても高度なライブラリ群が用意されている」状況になりそう。

(None)

FlashDevelopのエディタで日本語フォントを表示する。

FlashDevelopのエディタで日本語フォントを表示する方法がわかったのでご報告。

FlashDevelopのインストールフォルダ/Settings/にある、ScintillaNET.xmlをテキストエディタで直接編集します。

そのなかの/Scintilla/globals/value[@name='default-font']を適当な日本語フォント("MS ゴシック"等)に変更してください。 ちなみに、/Scintilla/globals/value[@name='default-font-size']がフォントサイズです。

参照:http://www.flashdevelop.org/community/viewtopic.php?t=987

ところで、aaa/bbb/ccc[@ddd=...]という書き方はXPathの記述方式にならってみましたが、XMLの中の位置を表現するときにこんな書き方するのって普通なのかしら。

Haxeに注目

Haxe( http://haxe.org )というプログラミング言語に注目しています。

HaxeはJavaScriptのような構文を持つ言語であり、Flashのswfファイルを出力できると共に、サーバサイドで動かすNekoVM用の中間ファイルを出力できます。 最新のFlash9にも対応しているようです。

まあ、フリーのFlashコンパイラを探していたらこれにぶち当たったと。
テキストエディタでswfをつくれるのは、結構感動です。

そんなHaxe用のIDEとして、よさげなのがフリーのIDE FlashDevelopと、それをhaxeに対応させるhaxeFDというプラグイン (コマンドラインコンパイラなのでいろんなIDEに対応できる、というのがHaxeのウリらしい)。 haxeFDはまだコード補完は出来ませんが、近日対応予定らしいので期待大です。

FlashDevelopはまだ触り始めたばかり。 エディタのフォントを変更する方法を調べているトコロ。

Postgresqlで動くTrac

開発環境としてPostgresqlで動くTracを構築しました。

主にsaikyo.onlineさんのメモ/Mod_pythonでTracを参考にさせていただきました。 感謝です。 なお、環境変数LD_LIBRARY_PATHに/usr/local/pgsql/libを追加しないと、trac-adminのinitenvでエラーになるようです。

あと、メモですが、EdgeWallのサイトにもpostgresqlを使う方法のページがあります。

TickTackBlogブラグインをTrac0.10に対応

TickTackBlogブラグインをTrac0.10に対応させました。

こちらは、0.9用とソース共用です。

TortoiseSVN1.40

TortoiseSVNの1.4.0がでてますね。
1.4.0で一番ありがたく感じたのは、ヘルプも日本語化されたところでした。ヾ(-_-;)

ネットワークディスクもアイコンオーバーレイが使えるようになったところ もいいですね (^▽^)

MailArchiveプラグインをTrac0.10に対応

MailArchiveプラグインをTrac0.10に対応させました。
添付ファイルを扱うあたりが、結構変わってました。

ダウンロードするzipには、0.9と0.10の両方が含まれています。必要なほうをインストールしてください。

ただし、0.10のほうはあまりテストしていません。m(_ _)m
不具合があれば、チケットを発行して欲しいです。 チケットの属性のバージョンに「Trac0.9」「Trac0.10」の選択肢をつけたので、チケット発行の際には使っているほうを入力してください。

あと、他のプラグインで0.10に対応して欲しいものあれば教えてください。 優先的に対応しますよ。

tracの自作プラグインを0.9から0.10へ変更する

tracの自作プラグインを0.9から0.10へ変更するためのメモ。

元となるドキュメントはこれ。 ISearchSorceインタフェースを使ってなければ、ソースの変更は要らないのかも。

  • unicodeを使うようになった。

→そもそも日本語を扱うためにunicodeは使っていたが。APIがよく分からん。これから勉強。

  • self.env.hrefが非推奨になった。

→req.hrefを使えとのこと。ただし、self.env.hrefもまだ使えるので、今回はself.env.hrefを使うままにする。

  • self.config.getのかわりにOption()が出来た。

→Optionをつかうと、ソースの中に説明を書くことができて、TracIni(doxygen)マクロで出力できるとのこと。

それにしても、ソースの中に説明を書く方式って 日本語デベロッパーとしてはどうなのか? やっぱり英語で書くべきなのか? そういう疑問もあって、これも今回はself.config.getを使うことにする。

  • HTMLタグを扱うためのAPIが出来た。

→HTMLタグのマークアップはどのプラグイン作者も苦労しているようで、今回trac.util.htmlモジュールができた。

以下のように書ける。ソースの中にHTMLタグを書かなくて良いので、良いかも。一部使ってみる。

util.Markup('<a href="%s" accesskey="%s">%s</a>',
            self.env.href.mailarchive(),
            self.env.config.get('mailarchive', 'title','MailArchive'),
            self.env.config.get('mailarchive', 'accesskey',9))

html.A(self.env.config.get('mailarchive', 'title','MailArchive'),
       href=self.env.href.mailarchive(),
       accesskey=self.env.config.get('mailarchive', 'accesskey',9))
  • ISearchSorceインタフェースが変更された。

→検索のためのインタフェースが変更された。

私はこれを使ったプラグインをいっぱい作っているので、正直勘弁して欲しい。 対応しないと動かないので、対応するしかないにゃー。

  • IHTMLPreviewRenderer

→メソッドがかわったらしい。これから勉強。しかし、この変更は0.11で既に非推奨となっているとのこと。なんじゃそりゃ。

さて、ぼちぼちプラグインを0.10に対応させなきゃ。

FedoraCoreで複数バージョンのTracを動かす

おひさしぶりです。m(_ _)m
まだ、仕事が落ち着いたわけではないですが、やっと2日間の休日をもらいました。

さて、tracのプラグイン開発環境としてFedoraCoreをインストールしてみました。 プラグインの動作確認のために、 複数バージョンのtracを動かしたかったのです。

で、バージョンごとにOSのユーザを作って、これと同じようにセットアップすれば動くかな~と考えていたのですが、apacheからの起動は失敗に終わりました。「trac.webがみつからない」と落ちてしまう。 SELinuxなどいじってみたのですが、結局断念。。。

tracdからは何の問題も無く動きました。 手順としては、

  1. Fedora Core 5をインストール
  2. rootで、 yum install trac
  3. rootで、 yum remove trac 。これはtracが依存するパッケージのみインストールしたいから。
  4. バージョンごとのユーザを作る
  5. 作ったユーザで入りなおして、これ(同上)の、2.(9)~3.(2)を実施。
  6. tracdで起動。
  7. 4~6を必要な分繰り返す。

とりあえず、trac-0.9.6-ja-1trac-0.10を動かすことに成功。

んで、trac-0.10でMailArchiveプラグインを動かそうとしたのですが、メニューにも出てこない。
なんで?(・_・?)