TracLightning 2.0.8 から TracLightning3.1.1 へのアップグレード時のメモ (with TestLink)
約1年のプロジェクト開始前の準備として、Tracのバージョンアップをやってみました。UIがぐりぐりしてかっこいいです。
段取りの概要
- バックアップ
- TracLightning バージョンアップ
- TracLightning を新規インストール
- httpd.conf 編集
- DB Upgrade、Wiki Upgrade
- その他作業
- TestLink対応
- httpd.conf 編集
- 稼働確認
(1) バックアップ
いざというときのために取ります。
- C:\TracLight\CollabNetSVN\httpd\conf\httpd.conf
- C:\TracLight\python\share\trac\conf\trac.ini
- projects ディレクトリ。SVNとTracのデータをマルッとバックアップです。
C:\TracLight\projects ディレクトリ ┣ svn ┃ ┣<各プロジェクト> ┣ trac ┃ ┣<各プロジェクト> ┃ ┣ conf ┃ ┃ ┗ trac.ini ┃ ┣ db ┃ ┗ trac.db
(2-1) 新規インストール
- サービスを落とす
- ApacheMonitorもあがっていたら落とす
- TracLightning アンインストール
- TracLightning インストーラーを実行
- サーバ再起動
(2-2) httpd.conf 編集
認証が必須になるように追加しました。Apacheの再起動で反映されます。
AuthType Digest AuthName trac AuthUserFile "C:\TracLight\projects\trac.htdigest" Require valid-user
(2-3) DBアップグレード、Wikiアップグレード
Trac Lightningのインストールディレクトの下のprojects\tracの下の各プロジェクトに対して、 次のようにしてアップグレードを実行します
> trac-admin C:\TracLight\projects\trac\<各プロジェクト> upgrade
> trac-admin C:\TracLight\projects\trac\<各プロジェクト> wiki upgrade
(2-4-1) その他作業 Subversion 関連の不具合対応
コミット自体はできているものの↓のようなエラーがでて気持ち悪いので、対応します。
エラー: post-commit hook failed (exit code 2) with output:
エラー: C:\TracLight/python/python.exe: can't open file 'C:\TracLight/python-lib/trac/contrib/trac-post-commit-hook': [Errno 2] No such file or directory
trac-post-commit-hook というファイルをここからダウンロードして、C:\TracLight\python-lib\trac\contrib の配下におきます。
(2-4-2) その他作業 カスタムフィールド移行
Tracの共通設定だった、due_assign(開始予定日)、due_close(終了予定日)、complete(進捗率(%))が共通設定でなくなりました。
使っていた項目なので、個別プロジェクトのtrac.iniに追記しました。
詳しくはこちら
(2-4-3) その他作業 日付フィールド対応
自分で追加したカスタム属性もカレンダーの部品を使えるようになったので、trac.iniを編集します。(3.1.1では管理画面からはできません & Tracの再起動が必要)
(例)
due_assign = text due_assign.date = true due_assign.date_empty = on due_assign.label = 開始予定日 due_assign.order = 0
(2-4-4) その他作業 Wiki アップグレード / DB変更対応・レポートSQL
日付のカラム(created, modified, date, time)をdateやstrftimeなどの日付関連の関数で変換している場合には、変換元の値を1000000で割らなければ日付関数での変換が出来なくなっています。具体的にdate関数の場合には以下のようにする必要があります。
0.11以前: date(time,'unixepoch','localtime')
0.12以降: date(time/1000000,'unixepoch','localtime')
strftime関数の場合にはさらに注意が必要で、直接値を割るとレポートでエラーとなってしまうため、一旦date関数で変換後に再変換を行う必要があります。
0.11以前: strftime('%Y/%m/%d', time,'unixepoch''localtime')
0.12以降: strftime('%Y/%m/%d', date(time/1000000,'unixepoch','localtime'))
(3) TestLink対応・httpd.conf 編集
Apacheに同居させていたTestLinkの設定を追加します。
#LoadModule設定追加
LoadModule php5_module c:/PHP/php5apache2_2.dll
#IfModule dir_module に追加
index.php
#mime_module に 追加
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
#LocationMatch変更
#
(4) 稼働確認
今のプロジェクトで使う範囲での確認リストはこんな感じです。
参考にさせていただいたところ
- Trac Lightning プロジェクト TracLightning2.xからTracLightning3.0.xへのアップグレードの注意
http://sourceforge.jp/projects/traclight/wiki/TracUpgrade3_0_0
- SVN関連不具合
http://sourceforge.jp/ticket/browse.php?group_id=2810&tid=24143
- TracLightning の Apache 環境で TestLink を動かす
http://d.hatena.ne.jp/kaorun55/20090415
- TracLightning3.0.8
http://www.srcw.net/wiki/index.php?TracLightning3.0.8
- Trac Lightningについて