codetrackをsf.jpに導入してみる

http://kennwhite.sourceforge.net/codetrack/
PHPベース、DBなしで動作するBTS。ファイルはXMLで管理される。
ライセンスはGPL
というかこれはITSかな。
sf.jpの制約条件でも動作しそうなので試す。


ダウンロードと展開。

$ mkdir bts
$ cd bts
$ wget http://downloads.sourceforge.net/kennwhite/codetrack_v_99_3.tar.gz?use_mirror=jaist
$ tar zxvf codetrack_v_99_3.tar.gz 

インストールガイドには、パーミッションの変更が書かれている。

 chown -R nobody.nobody /home/httpd/htdocs/codetrack
 chmod -R 600 ` find /home/httpd/htdocs/codetrack -type f `
 chmod -R 700 ` find /home/httpd/htdocs/codetrack -type d `

でも、これやっちゃうとApache実行権限がないsf.jpユーザーでは出来たファイルを消せなくなってしまうかも。
だからやらない。
メール送信用の設定も書かれているが、これは一人プロジェクトにはいらないな。


テスト。
"http://hogemogera.sourceforge.jp/bts/codetrack/"にアクセス。
"http://hogemogera.sourceforge.jp/bts/codetrack/codetrack.php?page=login"に画面遷移した。
動作している模様。
ユーザーとパスワードを聞かれる。
初期ユーザーとパスワードは何だろう。
とりあえず、Test Projectが登録されている。
ドキュメントによると、初期ユーザーとパスワードは以下。

    login:   admin
    pw:      codetrack
    project: Test Project

ログインするとsystem adminのパスワード変更画面"http://hogemogera.sourceforge.jp/bts/codetrack/codetrack.php?page=changepassword"に遷移する。
パスワードを入れるとエラーになった。曰く、

Fatal: Could not create file lock xml/users.xml.lck ! 
Make sure Apache has write permissions in this directory

やっぱりディレクトパーミッションはちゃんと設定しないといけないね(^^;。
セキュリティ権限的にはよろしくないが、前に書いたように消せないファイルが出来ても困るので777にする。

$ cd codetrack
$ chmod -R 666 `find ./ -type f`
$ chmod -R 777 `find ./ -type d`

もどってパスワードを設定する。

Password for System Admin successfully changed. 

こんどはうまくいった。
OKを押すと、Administrator Tools画面になる。
xml/users.xmlが生成されている。
中身はこんな感じ。

$ cat xml/users.xml 
<?xml version="1.0" ?>
<!--  Users database for CodeTrack.  Edit at your own risk.    -->
<!--  Meaning: re-check for XML well-formedness and validity!  -->
<!DOCTYPE users SYSTEM "users.dtd">
<users>
	<user>
		<ID>0000</ID>
		<First_Name>System</First_Name>
		<Last_Name>Admin</Last_Name>
		<Full_Name>System Admin</Full_Name>
		<Initials>SA</Initials>
		<Username>admin</Username>
		<Email>codetrack@localhost</Email>
		<Phone>555-123-4567</Phone>
		<Role>Admin</Role>
		<Password>1fO6waKd203gB</Password>
	</user>
</users>


一人プロジェクトとはいえ、adminで作業するのもなんなので、userを作る。
"Add a User"を選ぶ。
項目を入力する。パスワードは*にならない。
パスワードに何も入れないで登録すると自動で生成されるようだ。
"List Active Users"を選んで追加ユーザーを確認する。
Address Book画面に遷移してユーザーリストが表示される。
ここではリストのソート順変更以外は何も操作はできないようだ。
ユーザー削除の方法はメニューからは提供されていないように見える。
必要があればXMLファイルを直接編集するだけだろうけど。


"Add a Project"を選んでプロジェクトを追加する。
Add a New Project画面に遷移する。
Type of ProjectがWeb-Based, Desktop Application, Data Analysisの3択。
Descriptionから日本語の2バイト文字が消えている。通らないのね。
projectsボタンで一覧画面を表示して登録内容を確認する。
やっぱり日本語は消えている。


issueを登録してみる。かなり偏った項目になっている。
変更するUIはない。


確かに導入は簡単なんだけど、これはカスタムしないと使えないかも...