Trac-ja について
================

.. _Babel: http://babel.edgewall.org/
.. _docutils: http://docutils.sourceforge.net/
.. _`EdgeWall Software`: http://www.edgewall.com/
.. _`GNU GPL`: http://www.gnu.org/copyleft/gpl.html
.. _`JVN#84091359`: http://jvn.jp/jp/JVN%2384091359/
.. _`JVN#91706484`: http://jvn.jp/jp/JVN%2391706484/
.. _Python: http://www.python.org/
.. _Subversion: http://subversion.tigris.org/
.. _`The Trac Project`: http://trac.edgewall.org/
.. _`Trac Hacks`: http://trac-hacks.org/
.. _`Trac Project Web サイト`: `The Trac Project`_
.. _`Trac-ja チーム`: trac-ja@i-act.co.jp
.. _`trac.ini`: http://trac.edgewall.org/wiki/TracIni
.. _Wiki: http://ja.wikipedia.org/wiki/Wiki
.. _WikiMacros: http://trac.edgewall.org/wiki/WikiMacros
.. _`0.12.3`: http://trac.edgewall.org/milestone/0.12.3
.. _`修正 BSD ライセンス`: http://trac.edgewall.org/wiki/TracLicense
.. _`本家チケット #5471`: http://trac.edgewall.org/ticket/5471
.. _`TracWebサービス`: https://www.i-act-labo.com/


Trac とは
---------

`EdgeWall Software`_ および `The Trac Project`_ が開発したプロジェクト
管理ツールです。 Python_ で作成された Web アプリケーションであり、ソフ
トウェア開発のプロジェクト管理に特化しています。

Trac は以下の機能で構成されています。

* Wiki_
* Subversion_ リポジトリブラウザ
* バグトラッカ (チケットシステム)

2012年3月2日現在の安定版バージョンは `0.12.3`_ です。


特徴
````

* Wiki の活用により、単なるバグトラッカではなくプロジェクトポータルと
  して利用できます。

  - バグトラッカのコメントの記述や、 Subversion のコミットログなどで表
    現力が高まります。
  - Wiki, Subversion リポジトリ, バグトラッカを横断したリンクを簡単に
    作成することが出来ます。

* メールサーバの設定は不要です。

  - Wiki ページ更新、バグトラッカの更新、 Subversion へのコミット等を
    RSS 配信できます。
  - もちろん必要であればバグトラッカの更新はメール通知できます。

* Subversion で成果物を管理しているプロジェクトでは最大の効果を発揮し
  ます。

  - ユーザ認証に HTTP 基本認証を使用するため、 Subversion のために作成
    したユーザをそのまま使用できます。
  - リポジトリブラウザを使用することで、コミット内容やファイルの状態な
    どが簡単に表示できます。
  - Subversion に hook-script を設定することで、コミットとバグトラッカ
    の状態を同期できます。


セキュリティ情報
````````````````

セキュリティフィックス以前のバージョンをご利用の場合、更新を強く推奨し
ます

:0.8 系列:
  * 0.8.3 以前のバージョンには添付ファイル機能にディレクトリトラバーサ
    ルに対する脆弱性が存在します。

:0.9 系列:
  * 0.9.2 以前のバージョンには SQL インジェクションに対する脆弱性が存
    在します。
  * 0.9.4 以前のバージョンには XSS に対する脆弱性が存在します。
    (関連情報: `JVN#84091359`_)
  * 0.9.5 以前のバージョンかつ reStructuredText の WikiProcessors を有
    効にしている場合、プライバシー情報の抜き取りと、サービス拒否攻撃
    (DoS) に対する脆弱性が存在します。この対応のため、 Trac-0.9.6 以降
    ではサポートする docutils_ のバージョンが 0.3.9 以降に改められまし
    た。

:0.10 系列:
  * 0.10 (系列全体ではなく、最初のリリース) 以前の全てのバージョンに
    は、 CSRF に対する脆弱性が存在します。
  * 0.10.3 以前のバージョンの添付ファイル機能に、 XSS に対する脆弱性が
    存在します。
  * 0.10.3 以前のバージョンで、 Microsoft Internet Explorer を使用して
    いる場合に、 Wiki ページのテキスト形式でのダウンロードに XSS に対
    する脆弱性が存在します。 (関連情報: `JVN#91706484`_)
  * 0.10.4 以前のバージョンの WikiFormatter 機能に、 XSS に対する脆弱
    性が存在します。
  * 0.10.4 以前のバージョンの検索機能に、クロスサイトリダイレクション
    に対する脆弱性が存在します。

:0.11 系列:
  * 0.11.1 以前のバージョンの Wiki parser 機能に、処理性能が極端に悪く
    なるパターンがあり、その箇所を突くことで DOS 攻撃となりうる脆弱性
    が存在します。
  * 0.11.1 以前のバージョンの WikiFormatter 機能に、 HTML 出力時の危険
    なコードの無効化が不十分なパターンがあります。この脆弱性を突かれる
    ことで、フィッシングの挿入の危険になり得ます。


ライセンス
``````````

バージョン 0.8 以前の Trac は `GNU GPL`_ で、バージョン 0.9 以降は
`修正 BSD ライセンス`_ で配布されています。

詳しくは `Trac Project Web サイト`_ をご覧下さい。


Trac-ja とは
------------

Trac はオリジナル配布物のままでも、 Wiki ページ、バグ管理システムでの
日本語利用や、 Subversion リポジトリでの日本語利用が可能です。
(詳しくは配布に含まれるデフォルトの Wiki ページによるマニュアルを参照
してください)

また 0.12 以降のバージョンでは Babel_ による国際化が実装され、オリジナ
ル配布の状態でも、表示されるメッセージの大半が日本語になっています。

しかし、 Wiki 形式で同梱されているオンラインマニュアルや、 `trac.ini`_
ファイルへの設定項目の内容、 `WikiMacros`_ の使用方法など、ドキュメン
トは英語のみの提供であるため、英語圏以外の利用者にとっては、必ずしも使
いやすいとは言えません。

弊社では Trac を社内利用のために日本語ローカライズしており、その成果を
Trac-ja として一般に提供しています。


Trac-ja での変更点
``````````````````

Trac-ja ではオリジナルの Trac に対して、以下の改変を行った上で、再配布
しています。

* デフォルトの Wiki ページとして同梱されているマニュアルの日本語化
* Wiki マクロのドキュメントを日本語化
* trac.ini ファイルに設定するオプションのドキュメントを日本語化
* デフォルトの日付書式を、サーバのロケール依存から `YYYY/MM/DD`,
  `HH:MM:SS` 形式に変更
* デフォルトの文字コードを、 `iso-8859-15` から `Shift_JIS` (正確には
  `cp932`) に変更
* レポート機能での列名による表示整形を日本語に対応させ、デフォルトのレ
  ポートを日本語化

Trac-ja から Wiki ページだけを使いたい場合、 `Trac-X.X.X.jaX.zip` を展
開し、配布に含まれる `trac/wiki/default-pages` ディレクトリを
`trac-admin` コマンドで `wiki load` してください。詳しくは、配布に含ま
れる TracAdmin および、 `trac-admin help` コマンドでのオンラインマニュ
アルを参照してください。


配布に当たっての注意事項
````````````````````````

* Trac-ja はフリーウェアです。

  - ライセンス条項に従い、無償でご利用いただけます。
  - 提供内容は "AS IS" です。配布物および、その利用による責任の一切を
    弊社は負いません。各自の自己責任においてご利用ください。

* Trac-ja に関しての質問やバグ報告は、 EdgeWall Software および Trac
  Project に行わないで下さい。

  - Trac-ja は Trac の派生物であり、 EdgeWall Software および Trac
    Project はサポートしていません。
  - また EdgeWall Software と弊社の間には、いかなる契約も締結されてお
    らず、弊社も EdgeWall Software から見ると一ユーザに過ぎません。


ライセンス
``````````

ベースとなる Trac のバージョンと同じライセンスを適用します。現時点では
`修正 BSD ライセンス`_ です。


インストール方法
````````````````

Trac-ja にはオリジナル配布物に相当する全てのファイルが含まれています。
通常通り `setup.py` を使用してインストールすることが出来ます。

書籍などによっては、オリジナル配布をインストールした上で、上書きインス
トールするように記述されている場合もありますが、この場合、一部のファイ
ルが上書きされないことがあります。オリジナル配布が既にインストールされ
ている場合、一旦アンインストールしてから新たに Trac-ja をインストール
してください。

詳しくは配布に含まれる TracInstall, TracUpgrade をご覧ください。


謝辞
````

Trac-0.9.5 のリリースは、 Kazuhiro Nishiyama 様による IPA への情報提供
が契機となりました。また EdgeWall Software への報告や対処については、
JPCERT/CC 脆弱性情報ハンドリングチームにご尽力いただきました。

Trac-0.10.3.1 のリリースは、株式会社ビジネス・アーキテクツ 太田良典 様
による IPA への報告が契機となりました。情報セキュリティ早期警戒パート
ナーシップに基づき、 JPCERT/CC 脆弱性情報ハンドリングチームにご尽力い
ただきました。

Trac-0.11 の日本語化にあたって、株式会社 NTTデータ様にご協賛いただきま
した。

Trac-0.12 以降のオリジナル配布に含まれる日本語のメッセージ翻訳は、
`本家チケット #5471`_ にあるとおり、主として下記に記載する方々が、ご自身の成果を Trac Project に提供したものです。
(順不同)

* Kyosuke Takayama 様
* hirobe 様
* kabuchan 様
* IWAI Masaharu 様
* Jun Omae 様

ありがとうございました。


リソース
--------

お問い合わせ
````````````

Trac-ja のバグ、ライセンス等に関するお問い合わせは `Trac-ja チーム`_
までお願いします。セキュリティ等の問題について、弊社では可能な限り誠意
的に対応したいと考えておりますが、これは全てのお問い合わせに対して回答
をお約束するものではありません。


TracWebサービス について
------------------

弊社では、 Trac をより多くの方々に利用して頂けるように、
Subversion を利用したリポジトリ及び Trac-ja の機能を、
Web 上で提供するサービスを開始いたしました。

詳しくは `TracWebサービス`_ をご覧下さい。
