Trac 1.0」カテゴリーアーカイブ

Trac 1.0.3, 1.1.3 リリース (リリースノート日本語訳)

2015/01/18 に Trac 1.0.3, 1.1.3 がリリースされました。0.12.7 のリリースは修正がほとんどないため 1.0.4 と合わせて 2015/03/02 にリリースされることになりました。

ダウンロードは trac.edgewall.org/wiki/TracDownloadpypi.python.org/pypi/Trac からできるようになっています。

リリースノートに上げられている主要な変更の日本語訳をここに載せておきます。

Trac 1.0.3 Released

Trac 1.0.2 は2014年10月にリリースされ、その後、40のバグフィックスと改善を行いました。

このリリースの主要なものです。

  • チケットに添付を追加した際に通知が送られるようになりました (#2259)
  • 自動プレビュー時にスタイルシートとスクリプトが読み込まれるようになりました。それにより、自動プレビュー上で Wiki プロセッサが追加された場合に正しくハイライトされ (#10470)、ワークフローグラフが表示されるようになっています (#10674)
  • マージチェンジセットが最初の親チェンジセットとの差分を表示するようになりました (#10740)
  • Pygments 2.0 をサポートしました (#11796)
  • initenv TracAdmin コマンド後での補完処理のエラーを修正しました (#11797)
  • Environment.get_known_users をキャッシュすることで、認証済みユーザが1,000を超えるようなシステムでのパフォーマンスを向上させました (#11868)
  • wheel パッケージによる配布メタデータをサポートし、About ページで表示されるようになりました (#11877)

1.0.3 の詳細なリリースノートは以下のページにあります。

Trac 1.1.3 Released

このリリースの主要なものです。

  • チケットワークフローの作成時のステータスを設定できるようになり、チケット登録ページにアクションが表示されるようになりました (#2045)
  • プラグインで拡張可能な新しい通知システムが導入されました (#3517)
  • 通知システムに対する個人設定パネルが追加になりました (#4056)
  • Wiki ページの各バージョンに対するコメントが WIKI_ADMIN 権限にて変更可能になりました (#6573)
  • チケットフォームの「コメント追加」セクションと「変更者」フィールドの配置を改善しました (#10207)
  • Wiki ページの削除時に添付ファイルも削除になる場合、警告を出すようになりました (#11542)
  • SilverCity、Enscript、PhpRenderer によりシンタックスハイライトのサポートを削除しました (#11795)
  • 個人設定にある「日付と時間」パネルと「言語」パネルを「ローカライズ」バネルに統合しました (#11813)
  • ワークフローの set_owner 属性でグループと権限が使えるようになりました (#11839)

ここにあげたものに加えて、1.0.3 に対する修正を含んでいます。

詳細なリリースノートは以下にあります。

Trac 0.12.6.ja0.1, 1.0.2.ja0.1 の公開 (Trac 0.12.6, 1.0.2 ベース)

おおまえです。Trac 日本語版 (trac-ja) の 0.12.6, 1.0.2 相当のものを作成しましたので以下のリポジトリで公開することにしました。

https://github.com/jun66j5/trac-ja

これまでインタアクトさんが Trac-ja を公開されていたのですが、最近は 0.12.4 1.0 以降そのままでしたので、公開されている最新のもの Trac-0.12.4.ja1, Trac-1.0.ja1をベースに Trac 本体の 0.12.4 以降 0.12.6 まで、1.0 以降 1.0.2 までの修正内容をマージする形で作成しました。

ダウンロードは以下の URL からできます。

インストールは以下のように pip または easy_install を使ってインストールすることができます。

$ pip uninstall Trac  # すでにインストールしている場合
$ pip install https://github.com/jun66j5/trac-ja/archive/trac-0.12.6ja0.1.zip
$ easy_install https://github.com/jun66j5/trac-ja/archive/trac-0.12.6ja0.1.zip

このソースで何か問題を発見した場合は https://github.com/jun66j5/trac-ja/issues/new までお願いします。

Trac 0.12.6, 1.0.2, 1.1.2 リリース (リリースノート日本語訳)

おおまえです。先日 2014-10-26 に Trac 0.12.6, 1.0.2, 1.1.2 がリリースされました。ダウンロードは http://trac.edgewall.org/wiki/TracDownloadpypi.python.org/pypi/Trac からできるようになっています。

個々のリリースで 0.12.6 56チケット1.0.2 182チケット1.1.2 42チケットがクローズされました。以前までのリリースに比べて 1.0.2 のチケット数がかなり多いのですが、主に活動するコミッタがどんなに小さいものでもチケット登録する…というが大きい気がします。

それはさておき、リリースノートに記載されている主要な変更に上げられている部分の日本語訳をここに載せます。また、このリリースでバグを見つけたり改善案などがあれば、http://trac.edgewall.org/メーリングリスト などに報告いただけると大変ありがたいです。


Trac 0.12.6 Released

Trac 0.12.6 は、56チケットに対する修正を含んでいます。以下が主要なものです。

  • Subversion での注釈履歴 (svn blame) が以下の場合に失敗:
    URL エンコード文字がある場合 (#10386)、
    Windows でリポジトリパスのドライブレターを小文字にしている場合 (#10514)、
    Subversion 1.7 でパスに ASCII 以外の文字がある場合 (#11167)
  • svn:mergeinfo 属性に対する browser ページ (#8459) と changeset ページ (#11219) での表示パフォーマンスを改善
  • 大量のカスタムフィールドがあるとカスタムクエリが失敗 (#11140)
  • Zip ファイルのタイムスタンプにタイムゾーン情報がなかった (#11162)
  • TracLinks の log リンクがリビジョンの範囲指定によってはエラーや間違う (#11308, #11346)
  • IE 11 でチケットページでの textarea 中のテキストが正常に折り返されない (#11376)
  • チケットの CSV ダウンロードで担当者フィールドにあるメールアドレスがそのままになる (#11594)
  • Distribute 0.6.29 以降でロケールデータが egg ファイルに含まれない (#11640)
  • マイルストーン削除時に添付ファイルが削除されない (#11672)
  • Babel 1.0 以降のサポートを追加 (#11258, #11345)
  • ConfigObj 5.0 以降のサポートを追加 (#11498)

チケットの詳細は以下にあります。


Trac 1.0.2 Released

Trac 1.0.1 を2013年2月にリリースし、その後、200以上の修正と小さな改善を行いました。

このリリースの主要なものです:

  • Subversion でのキーワード展開と改行コードの置換をリポジトリブラウザでのファイルの参照時とダウンロード時に行うようになりました (#717)
  • チケット通知メールを変更前の担当者、Cc にも送信 (#2311)
  • マイルストーンの名前変更、削除、別マイルストーンへの変更時に、チケットの変更履歴を更新 (#4582, #5658)
  • Authz permissions policy に対して多くの修正を行いました:
    リポジトリブラウザ (#10961, #11646)、Wiki ページ (#8976, #11067)、管理ページ (#11069)、レポートページ (#11176)
  • 二重にフォームを submit できないようになりました (#10138)
  • permission_policies のどれかがロードできない場合に ConfigurationError を上げるようになりました。また、その際にシステム内部の情報やインストールのエラーを漏らさないようにしました (#10285)
  • Wiki ツールバーを設定で無効にできるようになりました (#10837)
  • 管理ページの見出し部分にテーブル中のエントリ数を表示 (#11027)
  • すべてのページで「取り消し」ボタンを一貫性があるように配置 (#11076)
  • 変更ページの表示時に、テキスト要素にフォーカスを移すようにしました (#11084)
  • 並べて編集モードの際に、「編集の衝突」と「マージ」の警告メッセージが常に見えるようにしました (#11102)
  • レポートページ (#11106, #11664) とチケットページ (#11471) のレイアウトを改善
  • Genshi 0.7 に対する互換性 (#11218)
  • Git リポジトリのサポートに対する多くの修正

このリリースは 0.12.6 に対する修正を含んでいます。チケットの詳細は以下にあります。


Trac 1.1.2 Released

主要な変更:

  • Python 2.5 サポートを削除しました。Python 2.5 に対して互換性のない変更がなされ Trac は Python 2.5 では動作しないようになりました (#11600)
  • チケットワークフローに may_set_owner アクションが追加されました。set_owner に似ていますが、担当者を現在のユーザではなくデフォルトの担当者にします (#10018)
  • [ticket] optional_fields オプションが追加されました。任意入力にしたいドロップダウン (セレクト型) のフィールドを指定します。(値を空にできるようになります) (#10772)
  • WikiProcessor コードブロックで行番号の表示とハイライトできるようになりました (#10834)
  • 「デフォルトハンドラ」を個人設定で設定できるようになり、全ユーザのデフォルトを管理ページの「基本設定」で設定できるようになりました (#11519)
  • 読み込み専用の Wiki ページには、ファイル添付できないようになりました (#11244)
  • 管理ページのテーブルに「全選択」チェックボックスを追加 (#10994)
  • 項目が選択する必要がある場合には、submit ボタンを無効にするようにしました (#11056)
  • 管理ページの権限にユーザやグループ間で権限をコピーするフォームを追加しました (#11099)
  • [milestone] default_retarget_to オプションが追加になりました。このオプションは、マイルストーンの削除や完了時に変更先のマイルストーンを指定することができます。また、マイルストーン管理ページからでも設定することができます (#10010)
  • マイルストーンにチケットがない場合には、マイルストーンを再割当てするドロップダウンを表示しないようになりました (#11366)
  • 「デフォルトをクリア」ボタンで管理ページからチケットシステムのデフォルト値をクリアできるようになりました (例えば default_milestone, default_version) (#10772, #11300)
  • TitleIndex マクロは Wiki ページで使用された場合に、相対パスのプレフィックスをサポートするようになりました (#11455)
  • CommitTicketUpdater は #comment:N#comment:description もチケットの参照として解釈するようになります (#11622)
  • マイルストーン管理ページにあるチケットカラムにクエリリンクが用意されるようになりました。そのリンクからは、そのマイルストーンを持つチケットをステータスでグループ化してクエリが実行されます (#11661)
  • Authz policy はレポート一覧ページに対してリソースID -1 を使ってアクセス制限を行うようになります (#11697)

ここにあげたものに加えて、1.0.2 と 0.12.6 に対する修正を含んでいます。

詳細なリリースノートは以下にあります。


Tracプラグイン: チケットの項目をグループ化し配置をカスタマイズする

おおまえです。

以前に「チケットフィールドのグループ化とチケットフィールドをカスタマイズする」という記事で紹介した機能ですが、この機能を誰でも利用できるように Trac プラグインにして trac-hacks.org に登録しました。

» TracTicketFieldsLayoutPlugin – Trac Hacks – Plugins Macros etc.

Trac 0.12 以降 (TracLightning 含む) であれば機能するように、また、既存の DateFieldPlugin のようなチケットの項目を拡張するようなプラグインに干渉しないように実装しています。

機能の詳細などは、↑の記事でご確認ください。

newticket ticket admin

開発初期から公開前提で作っていましたが、公開しようとしていたらしばらく trac-hacks.org に新しいプラグインが登録できない状態になっていたり…で気づいたらかなり時間が経ってしまいました。

バグやアイデアなどあれば @tracpathtrac-hacks.org のチケットなどで教えてもらえるとありがたいです。

IE11 のとき Trac チケット詳細の textarea が折り返されない…の解消方法

Internet Explorer 11 で Trac のチケット作成フォームにある textarea の中身が折り返されないようになっている、という内容が2週間ほど前に trac-dev メーリングリストに投稿がありました。確認してみると確かに折り返されません。(Trac 0.12, 1.0 も同様)

IE11

どうも IE11 は以下のような HTML があるときに textarea が上位の要素にある white-space を参照するようです。IE10 以前や他のブラウザはこのような挙動になりません。

<div style="whtie-space:nowrap">
  <div>
    <textarea></textarea>
  </div>
</div>

とりあえずの対処として trac/htdocs/css/ticket.css に以下のパッチを当てると解消できます。

diff --git a/trac/htdocs/css/ticket.css b/trac/htdocs/css/ticket.css
index 7e18e20..5f873c1 100644
--- a/trac/htdocs/css/ticket.css
+++ b/trac/htdocs/css/ticket.css
@@ -214,6 +214,7 @@ form .field div.trac-resizable { width: 100% }

 #propertyform { margin-bottom: 2em; }
 #properties { white-space: nowrap; line-height: 160%; padding: .5em }
+#properties textarea { white-space: pre-wrap }
 #properties table { border-spacing: 0; width: 100%; padding: 0 .5em }
 #properties table th {
  padding: .4em;

IE11 (パッチ後)

もし、この対処で何か問題を見つけた場合、http://trac.edgewall.org/ticket/11376 まで報告、もしくはここにコメントをしてもらえるとありがたいです。

Tracプラグイン: TracpathThemeでTracのデザインをtracpath風にする

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チケット通知メールをHTMLメールで送るプラグイン

おおまえです。いつのまにか梅雨に入っていてすぐに夏なんだなぁ…陽射しは強いし暑いのは好きじゃないんです。(ぐったり……)

さて、なんか唐突な感じですが、今回は Trac からのチケット通知メールを HTML メールで送れるようにするプラグインを作ったので、それを紹介しようと思います。

Trac からのチケット通知メールは、固定幅フォント前提でカラムが76に入るように折り返しを行ってメールを作成してくるので、カスタムフィールドのラベルが長かったりすると、見辛い感じになってしまいます。

そこで、これを HTML メールとして作成できれば、固定幅フォントや76カラムの制約に拘らず比較的自由にレイアウトできるようになります。

インストール手順

1. easy_install でインストール

easy_install でインストールできます。

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

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

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

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

# trac.ini
[components]
trachtmlnotification.* = enabled

3. SmtpEmailSender の代わりに HtmlNotificationSmtpEmailSender を使うように設定する

この HtmlNotificationSmtpEmailSender が HTML メールを作成します。

# trac.ini
[notification]
email_sender = HtmlNotificationSmtpEmailSender

4. [trac] default_language を ja などにする

HTML 部分を作成する際に、この言語設定を使うので ja などに設定しておきます。

# trac.ini
[trac]
default_language = ja

この後、Trac を動作させている Web サーバを再起動させます。

チケットを作成したりコメントしたりする

チケットを作成するとこのような感じのメールになります。

コメントしたときにはこのような感じ。添付ファイルもリストされます。

このプラグインの仕組み

現状の Trac にはチケット通知時のメール作成を代替させるようなインターフェイスはありません。ですので、実現するには Trac を修正するしかないのですが、このプラグインでは IEmailSender というインターフェイスを使って実現しています。

IEmailSender はメールの送信手段を提供するためのインターフェイスで、SMTP と sendmail コマンドで送信するコンポーネントが Trac 自体に定義されています。このインターフェイスを実装するとメールの送信を行うものなので、メール全体 (message/rfc822) がそのまま取得することができます。

渡ってきたメール全体から X-Trac-Ticket-URL ヘッダを探してチケットの ID とコメント番号を取り出します。そこからチケットを改めて取得し HTML メールになる部分を構築し、代わりにメール送信を行う、という仕組みになっています。

ざっくりした説明ですが、こんな感じです。それでわ。

Trac プラグイン:TicketCalendarPlugin の説明と使い方

 

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 プラグイン: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

Trac / TracLightning のデータを ciklone に移行する機能のご紹介


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