桜、抹茶、白、日記

名古屋市在住のC++使いのcoderの日記だったもの。

TracLightning + hglightのインストールメモ

今回の環境

うる覚えなので、書いてある通りにうまくいくかは不明。

TracLightningのインストール

    1. 公式サイトからインストーラー(TracLightning-3.1.3.exe)をDownloadする
    2. Downloadしたインストーラーを実行する。

Tracの起動

    1. スタートメニューの「Trac」から「コマンドプロンプトから実行」を実行する
      • ApacheとJenkinsが起動する
        • Windows Firewallが有効になっていると、ブロックするか確認ダイアログが出る。

自分の環境ではApacheが起動しないトラブルが発生した

    • エラー内容を見ると、TCP80番ポートが別のプログラムで使われている模様。
    • コマンドプロンプトで「netstat -ano」を実行し、TCP80番ポートを利用しているプログラムのプロセスIDを調査。
    • 原因としては下記の情報そのままだった

hglightのインストール(TracMercurialプラグイン)

hglight(水銀灯)の詳細はこちら。

    1. 下記リンクからZIP書庫(hglight-for-traclightning3-latest.zip)をDownloadする。
    2. DownloadしたZIP書庫を解凍する。
    3. スタートメニューの「Trac」から「コマンドプロンプト」を実行する。
    4. コマンドプロンプトのカレントフォルダをZIP書庫を解凍したフォルダにする。
    5. コマンドプロンプトから「setup.bat」を実行する。
    6. hglight v0.3.3.0の「create-hg-project.bat」はTracLightning v3.1.3に対応していなくて、そのまま実行するとMyTicketsのページが空になっているので以下のものに差し替える。

管理ユーザーの作成及び初期ユーザーの削除

※ユーザーを削除すると、以降に作成したプロジェクトで困った事になるので、パスワードを変更しましょう・・・

    1. ブラウザで「http://localhost/trac/」にアクセスする。
    2. SampleProjectプロジェクトに移動する。
    3. adminユーザーでログインする。パスワードはアカウント名と同じ。
    4. 画面左の「管理」メニューを開く。
    5. アカウントの「ユーザ」メニューを開く。
    6. 作成したプロジェクトの管理者ユーザを新規に作成する。
      • ※ユーザを作成し「パーミッション」で「admin」にチェックを入れる。
      • ※後から変更する場合は「管理」-「権限」で変更する。
    7. ブラウザを終了し、再度立ち上げる。
    8. ブラウザで「http://localhost/trac/」にアクセスする
    9. SampleProjectプロジェクトに移動する。
    10. 新規に作成した管理者ユーザでログインする。
    11. 次のユーザのパスワードを変更する:admin leader guest
    12. プロジェクトのメンバーを追加する。


ユーザー管理で困った事になったら・・・

    • ユーザー情報の管理
    • 権限の変更
      1. SQLiteのデータベース編集ツールを用意する
      2. SQLiteのデータベース編集ツールで以下のデータベースファイルを開く
        • 「$(TracInstallRoot)\TracLight\projects\trac\$(プロジェクト名)\db\trac.db」
      3. permissionテーブルを開く
      4. 管理者権限を付与するなら、「username」に既存ユーザー名を入力し、「action」に「TRAC_ADMIN」を入力する。

Mercurialプロジェクトの作成

    1. スタートメニューの「Trac」から「コマンドプロンプト」を実行する。
    2. 以下のコマンドを実行する。
      • 「create-hg-project.bat /profile default プロジェクト名」
    3. 以下のファイルを開き、[trac]セクションの「repository_dir」のパスを変更する。
      • 「$(TracInstallRoot)\TracLight\projects\trac\プロジェクト名\conf\trac.ini」
      • ここで指定するパスは、リモートPCのものも指定可能。

VCS連携

コミットメッセージに「refs #チケット番号」を入れる。
構文としては、「refs, close, fix, see」等と、チケット番号はカンマ区切りで複数指定可能。

(追記) Mercurialのhgコマンド

TracLightningをインストールすると、システム環境変数のPATHに「%TRACPATH%」が登録される。
Mercurialをインストールする前に、TracLightningをインストールすると、TracLightningMercurial環境が優先されてしまうので注意。TracLightning v3.1.3には、Mercurial v1.8.1が同梱されていた。

    • 「$(TracInstallRoot)\TracLight\python\Scripts\hg」
    • 「$(TracInstallRoot)\TracLight\python\Scripts\hg.bat」

コマンド実行時に「hg.exe XXX」とするか、システム環境変数のPATHの「%TRACPATH%」の順番を最後にする。
TracLightningコマンドプロンプトから以下のコマンドを実行すると最新版に更新可能。

easy_install -U mercurial

でも以下のエラーが出てMercurialの機能が利用出来なくなる。

Trac[loader] ERROR: Skipping "trac.mimeview.rst = trac.mimeview.rst [rest]":

更新するのは、ダメ。ゼッタイ。

(追記) チケットの編集後に「"change" not defined」

    • http://sourceforge.jp/projects/traclight/wiki/Development%2F3.0.0alpha
      • チケット登録やチケットに対する変更・コメント追加などを行うと「警告: チケットは作成しましたが、通知処理中にエラーが発生しました: "change" not defined 」が表示される。
      • trac.iniのticket_subject_templateの定義「ticket_subject_template = $prefix #$ticket.id: [$change.author] $summary」に入ってる「change」が問題(使用できる変数でない)になっているようだ。[$change.author]を削除すると出なくなる。

(追記) trac.logに「Trac[main] WARNING: HTTPNotFound: 404 Not Found (File css/jquery.ui.all.css not found)」

プロジェクトのリポジトリブラウザにアクセスする度に以下のログが出力される

Trac[chrome] WARNING: File css/jquery.ui.all.css not found in any of ['PATH']
Trac[main] WARNING: HTTPNotFound: 404 Not Found (File css/jquery.ui.all.css not found)

TracSubticketsPluginで使われているjQuery UIのCSSが存在しないのが原因っぽい。SubticketsPlugin本体ではjQuery UIは使われてないっぽいので、TracLightningに組み込まれた版の問題の模様。jQuery UI v1.8.7が使われている。

上記よりv1.8.7のZIPアーカイブを取得し、「jquery-jquery-ui-12bea93\themes\base」のファイル群を「TracLight\python\Lib\site-packages\TracSubTicketsPlugin-0.1.1.dev_20111024-py2.6.egg\tracsubtickets\htdocs\css」にコピーして解決。

(追記) 休日の設定

以下のファイルを編集してから「休日を初期化」して再作成。

    • 「$(TracInstallRoot)\python\Lib\site-packages\TracGanttCalendarPlugin-0.5_r801-py2.6.egg\ganttcalendar\holiday_ja.py」