Tracのデザインをtracpath風に変更するTracpathThemeプラグインを紹介します。このプラグインを使うと、Tracのデフォルトのデザインがtracpath風のデザインに変わります。

https://github.com/opengroove/tracpaththeme

デフォルト状態のtrac TracpathThemeの導入後
デフォルトテーマ Tracparth_blueテーマ
blueテーマ

TracpathThemeプラグインでは上のblueテーマ以外にも以下の4色のテーマも使用できるようになります。

Tracpath_purpleテーマ Tracpath_yellowテーマ Tracpath_greenテーマ Tracpath_redテーマ
purpleテーマ yellowテーマ greenテーマ redテーマ

それではTracpathThemeプラグインの導入方法を説明します。なお、TracpathThemeプラグインはTrac 0.12かTrac 1.0で使用することができます。

1. ThemeEngineプラグインのインストールと有効化

TracLightningテーマ
TracLightning3.2.0
のMac風デザイン

Tracでデザインを変更する方法はいくつかありますが、一番簡単なのはThemeEngineプラグインを使うことでしょう。このプラグインを使用することで、複数のテーマを自由に切り替えてデザインを変更することができるようになります。Trac Lightningでは最初からインストールされていて、デフォルトのMac風のデザインにはこのプラグイン用に作成されたテーマが使用されています。TracpathThemeプラグインThemeEngineプラグイン用のテーマとして作成されています。

インストール

ThemeEngineプラグインeasy_installpipを使って簡単にインストールできます。なお、Trac Lightningには最初からインストールされているのでこの手順は不要です。

> easy_install --always-unzip TracThemeEngine

あるいは

> pip install TracThemeEngine

有効化

インストールが完了したらtrac-adminコマンドでプラグインを有効にします。この手順もTrac Lightningでは不要です。

> trac-admin /path/to/projenv config set components "themeengine.*" enabled

2. TracpathThemeプラグインのインストールと有効化

インストール

TracpathThemeプラグインeasy_installあるいはpipを使ってインストールします。

> easy_install --always-unzip https://github.com/opengroove/tracpaththeme/archive/trunk.zip

あるいは

> pip install https://github.com/opengroove/tracpaththeme/archive/trunk.zip

有効化

インストールが完了したらこれも同様にtrac-adminコマンドで有効化します。

> trac-admin /path/to/projenv config set components "tracpaththeme.*" enabled

3. Tracの再起動


上で行った設定をTracに認識させるために、Tracを動作させているWebサーバを再起動します。

4. テーマを切り替える


テーマの切り替えは管理コンソールから行います。最初はこんな状態になっています。

テーマ切り替え
中央の大きな空白部分には本来はデフォルトテーマのスクリーンショット画像が表示されるのですが、残念ながらこのブログの執筆時点のThemeEngineプラグインではインストールスクリプトに問題があってスクリーンショット画像がインストールされません。このままでも動作に支障はないのですがスクリーンショット画像を手動でインストールすることもできます。

まずソースコードリポジトリからスクリーンショット画像の画像ファイルを入手します。

> svn export http://trac-hacks.org/svn/themeengineplugin/trunk/themeengine/htdocs/default_screenshot.png

このファイルをThemeEngineプラグインのインストール先にあるhtdocsディレクトリにコピーします。

> python -c "from os.path import join, dirname; from shutil import move; import themeengine; move('default_screenshot.png', join(dirname(themeengine.__file__), 'htdocs'))"

左右の矢印ボタンでテーマを切り替えてUse this themeボタンでテーマを選択します。Tracpath_blueテーマを選択すると以下のようになります。

テーマ切り替え後

選択した結果はすぐに画面に反映されます。

このテーマ切り替え機能ですが、これまた残念ながらThemeEngineプラグインに問題があって、選択したテーマによってはその後のテーマ切り替え時に全てのテーマが表示されない場合があります。もしそのような状態になってしまった場合にはいったん別のテーマを選択することで改善するので試してみて下さい。

あるいは、インストールしたThemeEngineプラグインのソースコードを修正することで解決することもできます。

まず、修正が必要なファイルの場所をを見つけます。

> python -c 'import themeengine; import os.path; print os.path.dirname(themeengine.__file__)'

上記のコマンドで見つけたディレクトリにあるadmin.pyファイルの63行目を以下のように変更します。

    data['themeengine']['current_index'] = index
  
    data['themeengine']['info'] = data['themeengine']['info'][index:] + data['themeengine']['info'][:index];
    data['themeengine']['current_index'] = 0
  

修正後に、Tracを動作させているWebサーバを再起動してください。なお上記の修正方法はThemeEngineプラグインのバージョン2.2.0を対象にしています。

 

Trac プラグイン:TicketCalendarPlugin の使い方を説明します。

このプラグインは自分が担当しているチケットを「いつまでに、何を、どのくらい」対応しなければいけないかをビジュアル的に知りたいと思い、開発したプラグインです。
インストール方法はこちらのエントリーTrac プラグイン:TicketCalendarPlugin – チケットを月間カレンダーに表示するプラグイン(インストール編)を先にご覧下さい。

TicketCalendarPlugin の概要

 

TicketCalendarPlugin の特長

 

  • 期限付きのチケットを月間カレンダー上で俯瞰
  • リスト表示機能で直近の作業を確認
  • チケットクエリ条件をつかって自分たちに必要なチケットのみ表示
  • マイルストーンとチケットを1つの画面で見る
  • マクロ機能で Trac Wiki に貼り付け可能
  • 見た目が綺麗

 

TicketCalendarPlugin の機能

 

  • 期限のあるチケットをBOXカレンダー表示
  • 期限のあるチケットをリスト表示
  • マイルストーンをカレンダーに表示
  • チケットIDからチケット詳細画面に移動
  • 日付(開始日)を指定して新規チケット作成
  • チケットのフィルタ機能、カスタムクエリのフィルタがそのまま使える
  • チケットのソート機能が使える
  • マクロで Wiki や マイルストーンに貼り付け
  • カレンダーとリストに表示するチケット分類アイコンを指定可能
  • カレンダーとリストに表示するチケット重要度カラーを指定可能
  • カレンダーとリストに表示するマイルストーンのアイコン・カラーを指定可能
  • BOXカレンダーの週の始まる日を指定可能
  • カスタムフィールドの開始日、終了日をユーザーが定義可能

TicketCalendarPlugin のインストールと設定内容についてはTrac プラグイン:TicketCalendarPlugin – チケットを月間カレンダーに表示するプラグインをご覧下さい。

 

1. スクリーンショット

 
TicketCalendarPlugin のスクリーンショットをご覧下さい。見たままの簡単操作であなたのチケットを教えてくれます。

TicketCalendarPlugin:月間カレンダー表示 TicketCalendarPlugin:リスト表示 TiketCalendarPlugin:1日のチケット一覧を表示

 

2. 使い方

 

月間カレンダーを見る

月間カレンダーを見る 月表示のBOXカレンダーを表示します。グローバルメニューから「チケットカレンダー」をクリックして表示されます。

カレンダーのチケットを見る

カレンダーのチケットを見る カレンダーに表示されるチケットをクリックすると、チケットの詳細を吹き出しで表示します。チケットIDのリンクをクリックするとチケット詳細画面に遷移します。

カレンダーから新しいチケットを作成する

カレンダーから新しいチケットを作成する 月間カレンダーの日付セルをクリックすると吹き出しが表示されます。開始日を指定してチケットを作成、または期日を指定してチケットを作成することができます。

リストでチケットを見る

リストでチケットを見る 右上にある「リスト表示」をクリックするとチケットを今日の日付から1週間分リスト表示します。「先週のチケットを見る」「翌週のチケットを見る」をクリックすると先週・翌週のチケットリストを見ることができます。

 

3. 活用方法

 
どこかで見たり聞いたことある普通のカレンダー表示するだけのシンプルなプラグインですが当社での活用方法をお話しします。

チームの進捗管理に利用

 
チームの進捗会議を行うときに、Wikiに報告書を書くようにしています。(書いた報告書をみんなで共有)
進捗報告で利用する報告書にチケットカレンダーを貼り付けておくと、チーム毎、担当者毎の作業の混み具合や予定が「パッ」と俯瞰できます。

全体を一発で知るにはとてもよい機能だと思っています。

印刷してお客様向け報告に利用

 
カレンダー表示とリスト表示のどちらにも「マクロ」を出力する機能があります。
このマクロを Wiki に貼り付けます。
あとは、作業内容の報告・問題点などを記述すれば、あっという間に報告書のできあがりです。(実際のお客様に提出する場合はこれだけではダメですが。)

社内報告、協力会社への報告・共有、チームの情報共有などなど、サクッと資料を作ってしまいましょう。

ぜひ、TicketCalendarPlugin をお試し下さい。
皆様のご意見を聞かせて頂ければ今後の開発にいかしていきます。
ブログのコメントかお問い合せフォームよりお声をお待ちしております。
 

 

こんにちは、新しい Trac プラグインをリリースいたしました。
チケットに「開始日」「終了日」を設定すると Google Calendar の月間表示のように機能する TicketCalendarPlugin を開発いたしました。

このプラグインは自分が担当しているチケットを「いつまでに、何を、どのくらい」対応しなければいけないかをビジュアル的に知りたいと思い、開発したプラグインです。

動作しているスクリーンショット(イメージ図)は以下です。

このエントリーではインストールと初期設定について見ていきます。

1. easy_install でインストール

easy_install に http://trac-hacks.org/wiki/TicketCalendarPlugin/0.12 を渡せばさくっとインストールできます。
svn コマンドがない環境では、これではインストールできないと思います。その場合、Trac-hacksから手動でダウンロードを行い、ダウンロードしたディレクトリを easy_install に渡すようにしてください。

C:>easy_install -Z http://trac-hacks.org/svn/TicketCalendarPlugin/0.12
Downloading http://trac-hacks.org/svn/TicketCalendarPlugin/0.12
Doing subversion checkout from http://trac-hacks.org/svn/TicketCalendarPlugin/0.12 to c:\docume~1\admini~1.ope\locals~1\temp\easy_install-x_lmas\0.12
Processing 0.12
Running setup.py -q bdist_egg --dist-dir c:\docume~1\admini~1.ope\locals~1\temp\easy_install-x_lmas\0.12\egg-dist-tmp-ubt6k_
zip_safe flag not set; analyzing archive contents...
TicketCalendarPlugin 0.12.0.1 is already the active version in easy-install.pth

Installed c:\traclight\python\lib\site-packages\TicketCalendarPlugin-0.12.0.1-py2.6.egg
Processing dependencies for TicketCalendarPlugin==0.12.0.1
Finished processing dependencies for TicketCalendarPlugin==0.12.0.1

2. trac.ini でプラグインを有効にする

有効にしたい Trac プロジェクトの conf/trac.ini でこのプラグインを有効にします。(inherit-file で共有している trac.ini でも可能)

# trac.ini
[components]
ticketcalendar.web_ui.* = enabled
[ticketcalendar]
first_week_day = 6
milestone.color = #C2C2C2
milestone.icon = ui-icon-flag
ticket.due_date = due_date
ticket.due_date.format = %Y/%m/%d
ticket.start_date = start_date
ticket.start_date.format = %Y/%m/%d

この後、Trac を動作させている Web サーバを再起動させます。
チケットカレンダーを利用するためにチケットにカスタムフィールドに2項目追加する必要があります。
チケットカレンダーで利用するカスタムフィールドは trac.ini で定義します。

例示した設定の場合

  • start_date ・・・作業開始日
  • due_date ・・・作業終了日

を設定しています。利用する前にカスタムフィールドを追加してください。
これでインストール作業は終了です。

利用方法の説明についてはこちらのエントリー「Trac プラグイン:TicketCalendarPlugin の使用方法」を参照してください。

3. 設定の説明とカスタマイズ

チケットカレンダーは trac.ini で色やアイコンを利用者の好みにカスタマイズすることができます。
TicketCalendarPlugin の設定項目の説明と利用方法についてまとめています。

TicketCalendarPlugin 設定一覧
解説 設定例
first_week_day 週の始まる日を 0:月曜 から 6:日曜 の間で設定します。デフォルト値は 6 です。
first_week_day = 6
milestone.color マイルストーンのカラーを指定します。
milestone.color = #C2C2C2
milestone.icon マイルストーンのアイコンを指定します。アイコンの種類はjQuery-UIアイコン一覧が利用可能です。
milestone.icon = ui-icon-flag
ticket.due_date チケットカレンダーに表示するために必須項目です。チケットの終了日のカスタムフィールドを指定します。
ticket.due_date = due_date
ticket.due_date.format 終了日として利用するカスタムフィールドの日付フォーマットを指定します。
ticket.due_date.format = %Y/%m/%d
ticket.start_date チケットカレンダーに表示するために必須項目です。チケットの開始日のカスタムフィールドを指定します。
ticket.start_date = start_date
ticket.priority.color チケット優先度の背景色を CSS カラーで設定します。trac.ini に設定しない場合、デフォルトが利用されます。
設定例:
ticket.priority.color = #faa, #ffa, ...
または
ticket.priority.color = blocker:#faa, critical:#ffa, ...

デフォルト:
ticket.priority.color = #fa6653, #ffad46, #7bd148, #4986e7, #cca6ac
ticket.type.icon チケット分類のアイコンを設定します。アイコンの種類はjQuery-UIアイコン一覧が利用可能です。trac.ini に設定しない場合、デフォルトが利用されます。
設定例
ticket.type.icon = ui-icon-contact, ui-icon-lightbulb, ...
または
ticket.type.icon = task:ui-icon-contact, defect:ui-icon-lightbulb, ...

デフォルト:
ticket.type.icon = ui-icon-contact, ui-icon-lightbulb, ui-icon-check, ui-icon-gear, ui-icon-comment


サイクロンに新しい機能が追加されました。
TracTracLightning で運用していたデータをサイクロンに簡単に移行することができます。
クラウドサービス「サイクロン」をぜひお試しください。
この機能は、

  • 社内サーバで運用していたTracやTracLightningのプロジェクトをサイクロンのプロジェクトとして移行できます(Tracデータ移行機能)
  • Trac のバージョンは、0.10.x 〜以降に対応しています。
    • Trac 1.0.x / 0.12.x / 0.11.x / 0.10.x
    • TracLightning は Trac バージョンが対応していればインポートすることが可能です。
  • Wiki,マイルストーン,コンポーネント,カスタムフィールド,優先度,解決方法,重要度,分類,バージョンが移行されます。
  • 移行エラーが発生した場合、エラー内容を詳細に表示しますので原因特定に役立ちます。

Trac をご利用の方はぜひお試しください。サイクロンはセキュアでエンタープライズ向けのホスティングサービスを提供しています。
ユーザの管理やデータバックアップ、新規プロジェクトの作成など、社内サーバで対応が必要だった管理業務から解放されます。サイクロンに移行した後、Trac に環境を戻したい場合もサポートしています。(ユーザデータのバックアップ機能をご確認ください。)

Trac/Traclightning のデータを移行する方法

それでは、実際にデータ移行する方法を解説します。
まずは利用環境の移行プロジェクトフォルダに移動し、zip アーカイブを作成する必要があります。

1. Trac 環境の確認

Trac プロジェクトのアーカイブファイルをアップロードするための準備を行います。
SQLiteデータベースを使用している場合は、プロジェクトフォルダを zip コマンドや tar コマンドで直接アーカイブし、そのファイルをアップロードします。Windowsをご利用の場合、「2. Windows環境の場合」を参照してください。

$ zip -r FILE.zip /PATH/TO/TRACENV

SQLite 以外のデータベースを使用している場合は、TracMigratePluginを使って SQLite データベースに変換してください。

$ easy_install -ZU http://trac-hacks.org/svn/tracmigrateplugin/0.12
$ trac-admin /PATH/TO/TRACENV config set components "tracmigrate.*" enabled
$ trac-admin /PATH/TO/TRACENV migrate /tmp/tracenv-export sqlite:db/trac.db
$ zip -r FILE.zip /tmp/tracenv-export

2. Windows環境の場合(Trac/TracLightning)

Windows 環境の場合、エクスプローラーからプロジェクトフォルダを「zip」ファイルに圧縮します。(例:
TracLightning)

2-1. Windows エクスプローラーからプロジェクトフォルダに移動

C:\TracLight\projects\trac

2-2. 移行対象のプロジェクトを右クリック、zip 圧縮します

2-3. 移行準備は完了です。

作成した zip アーカイブファイルを準備できました。

3. Linux環境の場合

Linux 環境の場合、コンソールから Trac プロジェクトフォルダに移動します。

cd /var/www/trac

または

cd /var/share/trac/projects/

などのTracをインストールしたフォルダに移動。
次に、Trac の移行対象プロジェクトを zip コマンドや tar コマンドで直接アーカイブします。(Linux(CentOS 5.4)にTracをインストールする)

$ zip -r FILE.zip /PATH/TO/TRACENV

4. 次に移行先:ciklone プロジェクトを作成します

プロジェクト管理権限を持つユーザでログイン後、グローバルメニュー「プロジェクト」をクリックして「プロジェクト作成」を押下します。

「ファイルからインポートする」を選択し、アーカイブしたTracデータをアップロードします。
最後に、「作成」をクリックするとサイクロンのプロジェクトを作成しあなたのTracデータを移行します。

エラーが発生した場合、画面上に詳細なエラー情報が表示されますのでご確認ください。

5. 移行されたプロジェクトを確認します。

移行後のプロジェクトをブラウザで閲覧します。
画像は、TracLightningのサンプルプロジェクトを移行した例です。

5. さいごに

Trac のデータ移行機能は多くの場合正常に動作することを確認していますが、利用している環境・プラグインなどにより正常に移行できない場合があるかもしれません。その場合、問題点の報告をお願いします。お客様のフィードバックによりさらによいサービスにしていきます。

いましがた TracLightning 3.1.3 をリリースしました。3.1.2 をリリースしてからかなり時間が経ってしまいました。

今回のリリースはメンテナンスを主眼としているため新しい機能などはありません。ちいさなバグをいくつか修正したことと、本バージョンから各 Trac プラグインの egg ファイルを展開した状態でインストールようにしました。

egg ファイルを展開するのは、少しでもパフォーマンスを稼ぐ意味 (それと最初のレスポンスを早くする) で行なっています。その際のチケットは チケット #26414: TracLightningのチューニング方法について にあります。このチケットでは TracLightning に取り込んでいない Trac のチューニング方法もあげていますので興味のある方はご覧下さい。

次回のリリースは 3.2 で Apache と Subversion をバージョンアップして Apache 2.2.x 最新版、Subversion 1.6.x 最新版にする予定です。動作する Subversion 1.7 系の Python バインディングが確保できれば、両方を同梱するかも知れません。

TracLightning や Trac そのもの、同梱しているモジュールのバグを見つけたり TracLightning に対する要望などありましたら TracLightning プロジェクトページまでお願いします。

余談ですが、現時点 (2011-10-24) で Windows 上で動作する Subversion 1.7.x の Python バインディングは CollabNet Subversion Edge 2.1 のみで Trac を Windows で動かすには Subversion Edge 2.1 を使うしかありません。ただし同梱されている Python は 2.7 です。また Apache, mod_wsgi の上で動作するかは未確認です。tracd での動作は確認しています。もう一つの http://souceforge.net/projects/win32svn にある Python バインディングには問題があり動作しません (詳しくは Trac Project #10416 参照)。

Trac と Subversion 1.7.x との組合せの問題は http://trac.edgewall.org/query?keywords=svn17 に上がっています。もし、これ以外に問題を発見したらぜひ教えてください。

それでわ。