v2 | v3 | |
---|---|---|
2 | 2 | [[TracGuideToc]] |
3 | 3 | |
4 | ||
4 | Trac はバージョン 0.9 以降で [http://trac.edgewall.org/wiki/PluginList プラグイン機能] による機能拡張が可能です。プラグイン機能は、 [http://trac.edgewall.org/wiki/TracDev/ComponentArchitecture コンポーネント設計] に基づき、 [http://trac.edgewall.org/wiki/TracDev/PluginDevelopment プラグインの開発] ページに記載されているような特性を持っています。 | |
5 | 5 | |
6 | == 必要条件 == #Requirements | |
6 | == プラグインを見つける == #Plugindiscovery | |
7 | ||
8 | ユーザの視点からいうと、プラグインはスタンドアロンの .py ファイルか .egg パッケージのどちらかです。 Trac は グローバルで共有するプラグインのディレクトリ ([TracIni#GlobalConfiguration グローバルな設定] 参照) とローカルの TracEnviroment の `plugins` ディレクトリに対して、プラグインを探します。グローバルにインストールされているプラグインを定義するコンポーネントは trac.ini ファイルの [[TracIni#components-section| [components] ]] セクションで明確に有効にするべきです。 | |
9 | ||
10 | == Trac eggs ファイルにおける必要条件 == #RequirementsforTraceggs | |
7 | 11 | |
8 | 12 | Trac で Python-egg ベースのプラグインを使用するためには、 [http://peak.telecommunity.com/DevCenter/setuptools setuptools] (バージョン 0.6) をインストールしなければなりません。 |
… | … | |
15 | 19 | もし `ez_setup.py` スクリプトが setuptools のインストールに失敗したら、 [http://www.python.org/pypi/setuptools PyPI] をダウンロードして手動でインストールしてください。 |
16 | 20 | |
17 | また、単一の `.py` ファイルで成り立つプラグインは、各 TracEnvironment |
|
21 | また、単一の `.py` ファイルで成り立つプラグインは、各 TracEnvironment のルートディレクトリかグローバルの `plugins` ディレクトリに配置します。 | |
18 | 22 | |
19 | 23 | == Trac プラグインのインストール == #InstallingaTracPlugin |
… | … | |
32 | 36 | *.egg ファイルが出力されているでしょう。実行した python の出力を調べて .egg ファイルがどこに作成されたか見つけてください。 |
33 | 37 | |
34 | 一度、プラグインアーカイブを作成したら、 [wiki:TracEnvironment TracEnvironment] の `plugins` ディレクトリにコピーする必要があります。また、 Web サーバーが egg プラグインを読み取るのに必要なパーミッションをつけてください。 |
|
38 | 一度、プラグインアーカイブを作成したら、 [wiki:TracEnvironment TracEnvironment] の `plugins` ディレクトリにコピーする必要があります。また、 Web サーバーが egg プラグインを読み取るのに必要なパーミッションをつけてください。必要に応じて Web サーバを再起動してください。 | |
35 | 39 | |
36 | 40 | この方法でインストールしたプラグインをアンインストールする場合、 `plugins` ディレクトリから egg を削除し、 Web サーバを再起動してください。 |
… | … | |
38 | 42 | Python egg をビルドするための Python のバージョンと |
39 | 43 | Trac を動かしている Python のバージョンが一致しなければなりません。 |
40 | 例えば、 Trac を Python のバージョン 2. |
|
41 | 2. |
|
44 | 例えば、 Trac を Python のバージョン 2.5 以前で動かしていて、 | |
45 | 2.6 にアップグレードしたときに、 | |
42 | 46 | Python egg は認識されなくなるでしょう。 |
43 | 47 | |
… | … | |
53 | 57 | }}} |
54 | 58 | |
55 | もし、システムに `easy_install` がなくてプラグインをインストールするには上記の必要条件のセクションを見て下さい。 Windows ユーザは `Scripts` ディレクトリを Python をインストールしたディレクトリ (例えば、 `C:\Python2 |
|
59 | もし、システムに `easy_install` がなくてプラグインをインストールするには上記の必要条件のセクションを見て下さい。 Windows ユーザは `Scripts` ディレクトリを Python をインストールしたディレクトリ (例えば、 `C:\Python24\Scripts`) を環境変数 `PATH` に加えなければなりません。 (より詳しい情報は、 [http://peak.telecommunity.com/DevCenter/EasyInstall#windows-notes easy_install の Windows Notes] を参照して下さい。) | |
56 | 60 | |
57 | 61 | Zip で固められた Python egg をインストールし、 Web サーバに Python egg のキャッシュディレクトリに書き込み権限をつけているのにも関わらず、 Trac がパーミッションエラーを出したら、解凍した Python egg を単に置き直すことによって回避できます。 `easy_install` に `--always-unzip` オプションを付けるだけです: |
58 | 62 | {{{ |
59 | easy_install --always-unzip TracSpamFilter-0. |
|
63 | easy_install --always-unzip TracSpamFilter-0.4.1_r10106-py2.6.egg | |
60 | 64 | }}} |
61 | 65 | zip で固められた Python egg ファイルと同じ名前のディレクトリ (拡張子が `.egg` で終わっているもの) ができ、そのなかに解凍した中身が入っているでしょう。 |
62 | 66 | |
63 | Trac はまた、 |
|
67 | Trac はまた、 Environment 共通の plugins ディレクトリにインストールされたプラグインを検索します ''(0.10 以降)''。 TracIni#GlobalConfiguration を参照してください。この方法は複数の (しかし全てではない) Environment にまたがってプラグインをインストールする最も簡単な方法になります。 | |
64 | 68 | |
65 | 69 | ==== ソースから ==== #Fromsource |
… | … | |
67 | 71 | `easy_install` をソースからインストールする方法を以下に示します。Subversion のリポジトリか、 tarball/zip のソースを引数に与えてください。 |
68 | 72 | {{{ |
69 | easy_install http://svn.edgewall.com/repos/trac/ |
|
73 | easy_install http://svn.edgewall.com/repos/trac/plugins/0.12/spam-filter-captcha | |
70 | 74 | }}} |
71 | 75 | |
72 | 76 | ==== プラグインを有効にする ==== #Enablingtheplugin |
73 | 個別の TracEnvironment にプラグインをインストールする場合と異なり、システム全体にインストールしたプラグインを有効にするためには、 [wiki:TracIni trac.ini] ファイルで明示的に指定しなければいけません。設定ファイルの `[inherit] plugins_dir` オプションに指定したパスにプラグインをインストールする場合も同じく、明示的に指定する必要があります。設定ファイルの `[components]` セクションに次のような記載を行います: | |
77 | 個別の TracEnvironment にプラグインをインストールする場合と異なり、システム全体にインストールしたプラグインを有効にするためには、 [wiki:TracIni trac.ini] ファイルで明示的に指定しなければいけません。設定ファイルの `[inherit] plugins_dir` オプションに指定した Environment 共通の plugins ディレクトリにプラグインをインストールする場合も同じく、明示的に指定する必要があります。 | |
78 | ||
79 | 設定ファイルの `[components]` セクションに次のような記載を行えば完了です: | |
74 | 80 | {{{ |
75 | 81 | [components] |
… | … | |
151 | 157 | === Python egg は正しいバージョンですか? === #DidyougetthecorrectversionofthePythonegg |
152 | 158 | |
153 | Python egg はファイル名の中で Python のバージョンをエンコードします。例えば、 `MyPlugin-1.0-py2. |
|
159 | Python egg はファイル名の中で Python のバージョンをエンコードします。例えば、 `MyPlugin-1.0-py2.5.egg` は Python 2.5 用の Python egg であり、異なる Python のバージョン (2.4 や 2.6) で動かそうとしても '''動かない''' でしょう。 | |
154 | 160 | |
155 | 161 | また、ダウンロードした Python egg ファイル が本当に ZIP アーカイブであるかどうかを確認して下さい。もし Trac サイトからダウンロードしたとしたら、 HTML プレビューページを代わりにダウンロードしているかもしれません。 |