Changes between Initial Version and Version 1 of TracPlugins


Ignore:
Timestamp:
06/11/06 17:57:32 (18 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracPlugins

    v1 v1  
     1= Trac プラグイン = 
     2[[TracGuideToc]] 
     3 
     4バージョン 0.9 以降、 Trac はプラグインをサポートし、組み込み機能を拡張できるようになりました。プラグインの機能は [http://projects.edgewall.com/trac/wiki/TracDev/ComponentArchitecture コンポーネント設計] に基づいています。 
     5 
     6== 必要条件 == 
     7 
     8Trac のプラグインを使用するためには、 [http://peak.telecommunity.com/DevCenter/setuptools setuptools] (バージョン 0.6) をインストールしなければなりません。 
     9 
     10`setuptools` をインストールするために、ブートストラップモジュールである[http://peak.telecommunity.com/dist/ez_setup.py ez_setup.py]をダウンロードし、以下に示すように実行して下さい: 
     11{{{ 
     12$ python ez_setup.py 
     13}}} 
     14 
     15もし `ez_setup.py` スクリプトが setuptools のインストールに失敗したら、 [http://www.python.org/pypi/setuptools PyPI] をダウンロードして手動でインストールしてください。 
     16 
     17== Trac プラグインのインストール == 
     18 
     19=== 単一のプロジェクト === 
     20 
     21プラグインは [http://peak.telecommunity.com/DevCenter/PythonEggs Python eggs] としてパッケージ化されています。つまり、拡張子が `.egg` となっている ZIP アーカイブのファイルです。プラグインのソースコードディストリビューションをダウンロードした場合は、以下のコマンドを実行して下さい: 
     22{{{ 
     23$ python setup.py bdist_egg 
     24}}} 
     25`.egg` ファイルをビルドできます。 
     26 
     27一度、プラグインアーカイブを作成したら、 [wiki:TracEnvironment TracEnvironment] の `plugins` ディレクトリにコピーする必要があります。また、 Web サーバーが egg プラグインを読み取るのに必要なパーミッションをつけてください。 
     28 
     29=== すべてのプロジェクト === 
     30 
     31すべてのプロジェクトでプラグインを使用したいとき ([http://projects.edgewall.com/trac/wiki/WebAdmin WebAdmin] など) はグローバルにインストールし動かすことができます。 
     32{{{ 
     33$ python setup.py install 
     34}}} 
     35 
     36代わりに、`.egg` ファイルを Python の `site-packages` ディレクトリにおくだけでもいいです。 
     37 
     38個別の TracEnvironment にプラグインをインストールする場合と異なり、システム全体にインストールしたプラグインを有効にするためには、 [wiki:TracIni trac.ini] ファイルで明示的に指定しなければいけません。これは設定ファイルの `[components]` セクションに次のような記載を行います: 
     39{{{ 
     40[components] 
     41webadmin.* = enabled 
     42}}} 
     43 
     44オプションの名前はプラグインの Python パッケージ名です。これはプラグインのドキュメンテーションに指定されていなければいけませんが、ソースを見れば簡単に見つけることが出来ます。(最上位のディレクトリにあるファイル `__init__.py` を探してください。) 
     45 
     46== プラグインのキャッシュの設定 == 
     47 
     48いくつかのプラグインは Python eggs のランタイム (`pkg_resources`) によって解凍される必要があります。というのもそれらの内容がファイルシステム上に実際に存在する必要があるからです。通常、 Python eggs は現在のユーザのホームディレクトリに解凍されますが、それにより問題が発生するかもしれません。その場合、環境変数 `PYTHON_EGG_CACHE` を設定してデフォルトのロケーションを上書きすることができます。 
     49 
     50`PYTHON_EGG_CACHE` を `SetEnv` ディレクティブを使用して Apache に設定するには以下のようにします: 
     51{{{ 
     52SetEnv PYTHON_EGG_CACHE /path/to/dir 
     53}}} 
     54 
     55これは [wiki:TracCgi CGI] と [wiki:TracModPython mod_python] のどちらをフロントエンドにしようと動作します。このディレクティブに [wiki:TracEnvironment Trac Environment] へのパスに設定し、例えば同じ `<Location>` ブロックにおいてください。 
     56 
     57例 (CGI用): 
     58{{{ 
     59 <Location /trac> 
     60   SetEnv TRAC_ENV /path/to/projenv 
     61   SetEnv PYTHON_EGG_CACHE /path/to/dir 
     62 </Location> 
     63}}} 
     64 
     65例 (mod_python用): 
     66{{{ 
     67 <Location /trac> 
     68   SetHandler mod_python 
     69   ... 
     70   SetEnv PYTHON_EGG_CACHE /path/to/dir 
     71 </Location> 
     72}}} 
     73 
     74[wiki:TracFastCgi FastCGI] で、Web サーバに設定するためには、 `-initial-env` オプションやサーバーが指定している方法で、環境変数を設定する必要があります。 
     75 
     76---- 
     77See also: TracGuide, [http://projects.edgewall.com/trac/wiki/PluginList プラグイン一覧], [http://projects.edgewall.com/trac/wiki/TracDev/ComponentArchitecture コンポーネント設計]