TracPluginsバージョン 1バージョン 2 との変更


以下の違いを無視:
日時:
2012/01/16 5:19:14 (13年前)
更新者:
trac
コメント:

--

凡例:

未変更
追加
削除
更新
  • TracPlugins

    v1 v2  
    22[[TracGuideToc]] 
    33 
    4 バージョン 0.9 以降、 Trac は [http://trac.edgewall.org/wiki/PluginList プラグイン機能] に対応し、組み込み機能を拡張できるようになりました。プラグインの機能は [http://trac.edgewall.org/wiki/TracDev/ComponentArchitecture コンポーネント設計] に基づいています。 
     4Trac はバージョン 0.9 以降で [http://trac.edgewall.org/wiki/PluginList プラグイン機能] による機能拡張が可能です。プラグイン機能は、 [http://trac.edgewall.org/wiki/TracDev/ComponentArchitecture コンポーネント設計] に基づき、 [http://trac.edgewall.org/wiki/TracDev/PluginDevelopment プラグインの開発] ページに記載されているような特性を持っています。 
    55 
    6 == 必要条件 == #Requirements 
     6== プラグインを見つける == #Plugindiscovery 
     7 
     8ユーザの視点からいうと、プラグインはスタンドアロンの .py ファイルか .egg パッケージのどちらかです。 Trac は グローバルで共有するプラグインのディレクトリ ([TracIni#GlobalConfiguration グローバルな設定] 参照) とローカルの TracEnviroment の `plugins` ディレクトリに対して、プラグインを探します。グローバルにインストールされているプラグインを定義するコンポーネントは trac.ini ファイルの [[TracIni#components-section| [components] ]] セクションで明確に有効にするべきです。 
     9 
     10== Trac eggs ファイルにおける必要条件 == #RequirementsforTraceggs 
    711 
    812Trac で Python-egg ベースのプラグインを使用するためには、 [http://peak.telecommunity.com/DevCenter/setuptools setuptools] (バージョン 0.6) をインストールしなければなりません。 
     
    1519もし `ez_setup.py` スクリプトが setuptools のインストールに失敗したら、 [http://www.python.org/pypi/setuptools PyPI] をダウンロードして手動でインストールしてください。 
    1620 
    17 また、単一の `.py` ファイルで成り立つプラグインは、各 TracEnvironment かグローバルの `plugin` ディレクトリに配置します。 ''([http://trac.edgewall.org/milestone/0.10 milestone:0.10] 以降)'' TracIni#GlobalConfiguration を参照してください 
     21また、単一の `.py` ファイルで成り立つプラグインは、各 TracEnvironment のルートディレクトリかグローバルの `plugins` ディレクトリに配置します 
    1822 
    1923== Trac プラグインのインストール == #InstallingaTracPlugin 
     
    3236*.egg ファイルが出力されているでしょう。実行した python の出力を調べて .egg ファイルがどこに作成されたか見つけてください。 
    3337 
    34 一度、プラグインアーカイブを作成したら、 [wiki:TracEnvironment TracEnvironment] の `plugins` ディレクトリにコピーする必要があります。また、 Web サーバーが egg プラグインを読み取るのに必要なパーミッションをつけてください。 
     38一度、プラグインアーカイブを作成したら、 [wiki:TracEnvironment TracEnvironment] の `plugins` ディレクトリにコピーする必要があります。また、 Web サーバーが egg プラグインを読み取るのに必要なパーミッションをつけてください。必要に応じて Web サーバを再起動してください。 
    3539 
    3640この方法でインストールしたプラグインをアンインストールする場合、 `plugins` ディレクトリから egg を削除し、 Web サーバを再起動してください。 
     
    3842Python egg をビルドするための Python のバージョンと  
    3943Trac を動かしている Python のバージョンが一致しなければなりません。 
    40 例えば、 Trac を Python のバージョン 2.3 以前で動かしていて、 
    41 2.4 にアップグレードしたときに、  
     44例えば、 Trac を Python のバージョン 2.5 以前で動かしていて、 
     452.6 にアップグレードしたときに、  
    4246Python egg は認識されなくなるでしょう。 
    4347 
     
    5357}}} 
    5458 
    55 もし、システムに `easy_install` がなくてプラグインをインストールするには上記の必要条件のセクションを見て下さい。 Windows ユーザは `Scripts` ディレクトリを Python をインストールしたディレクトリ (例えば、 `C:\Python23\Scripts`) を環境変数 `PATH` に加えなければなりません。 (より詳しい情報は、 [http://peak.telecommunity.com/DevCenter/EasyInstall#windows-notes easy_install の Windows Notes] を参照して下さい。) 
     59もし、システムに `easy_install` がなくてプラグインをインストールするには上記の必要条件のセクションを見て下さい。 Windows ユーザは `Scripts` ディレクトリを Python をインストールしたディレクトリ (例えば、 `C:\Python24\Scripts`) を環境変数 `PATH` に加えなければなりません。 (より詳しい情報は、 [http://peak.telecommunity.com/DevCenter/EasyInstall#windows-notes easy_install の Windows Notes] を参照して下さい。) 
    5660 
    5761Zip で固められた Python egg をインストールし、 Web サーバに Python egg のキャッシュディレクトリに書き込み権限をつけているのにも関わらず、 Trac がパーミッションエラーを出したら、解凍した Python egg を単に置き直すことによって回避できます。 `easy_install` に `--always-unzip` オプションを付けるだけです: 
    5862{{{ 
    59 easy_install --always-unzip TracSpamFilter-0.2.1dev_r5943-py2.4.egg 
     63easy_install --always-unzip TracSpamFilter-0.4.1_r10106-py2.6.egg 
    6064}}} 
    6165zip で固められた Python egg ファイルと同じ名前のディレクトリ (拡張子が `.egg` で終わっているもの) ができ、そのなかに解凍した中身が入っているでしょう。 
    6266 
    63 Trac はまた、グローバルにインストールされたプラグインを検索します ''(0.10 以降)''。 TracIni#GlobalConfiguration を参照してください 
     67Trac はまた、 Environment 共通の plugins ディレクトリにインストールされたプラグインを検索します ''(0.10 以降)''。 TracIni#GlobalConfiguration を参照してください。この方法は複数の (しかし全てではない) Environment にまたがってプラグインをインストールする最も簡単な方法になります 
    6468 
    6569==== ソースから ==== #Fromsource 
     
    6771`easy_install` をソースからインストールする方法を以下に示します。Subversion のリポジトリか、 tarball/zip のソースを引数に与えてください。 
    6872{{{ 
    69 easy_install http://svn.edgewall.com/repos/trac/sandbox/spam-filter 
     73easy_install http://svn.edgewall.com/repos/trac/plugins/0.12/spam-filter-captcha 
    7074}}} 
    7175 
    7276==== プラグインを有効にする ==== #Enablingtheplugin 
    73 個別の TracEnvironment にプラグインをインストールする場合と異なり、システム全体にインストールしたプラグインを有効にするためには、 [wiki:TracIni trac.ini] ファイルで明示的に指定しなければいけません。これは設定ファイルの `[components]` セクションに次のような記載を行います: 
     77個別の TracEnvironment にプラグインをインストールする場合と異なり、システム全体にインストールしたプラグインを有効にするためには、 [wiki:TracIni trac.ini] ファイルで明示的に指定しなければいけません。設定ファイルの `[inherit] plugins_dir` オプションに指定した Environment 共通の plugins ディレクトリにプラグインをインストールする場合も同じく、明示的に指定する必要があります。 
     78 
     79設定ファイルの `[components]` セクションに次のような記載を行えば完了です: 
    7480{{{ 
    7581[components] 
     
    98104== プラグインのキャッシュの設定 == #SettingupthePluginCache 
    99105 
    100 いくつかのプラグインは Python eggs のランタイム (`pkg_resources`) によって解凍される必要があります。というのもそれらの内容がファイルシステム上に実際に存在する必要があるからです。通常、 Python eggs は現在のユーザのホームディレクトリに解凍されますが、それにより問題が発生するかもしれません。その場合、環境変数 `PYTHON_EGG_CACHE` を設定してデフォルトのロケーションを上書きすることができます。 
     106プラグインは Python eggs のランタイム (`pkg_resources`) によって解凍される必要があります。それらの内容がファイルシステム上に実際に存在する必要があるからです。通常は現在のユーザのホームディレクトリの '.python-eggs' に解凍されますが、それにより問題が発生するかもしれません。その場合、環境変数 `PYTHON_EGG_CACHE` を設定してデフォルトのロケーションを上書きすることができます。 
    101107 
    102108`PYTHON_EGG_CACHE` を `SetEnv` ディレクティブを使用して Apache に設定するには以下のようにします: 
     
    124130}}} 
    125131 
    126  ''Note: これは `mod_env` モジュールが必要です。'' 
     132 ''Note: !SetEnv を使用するためには、 Apache で `mod_env` モジュールが有効になっている必要があります。 `mod_python` が設定される Location ブロックでは !SetEnv ディレクティブも使用できます。'' 
    127133 
    128134[wiki:TracFastCgi FastCGI] で、 Web サーバに設定するためには、 `-initial-env` オプションやサーバーが指定している方法で、環境変数を設定する必要があります。 
    129135 
    130  ''Note: プロジェクトディレクトリを設定するために、既に -initial-env を使用している場合は、 [wiki:TracFastCgi TracFastCgi] に例示されるように、 trac.fcgi に少なくとも一つの環境変数を加える必要があります。'' 
     136 ''Note: プロジェクトディレクトリを設定するために、既に -initial-env を使用している場合は、 [wiki:TracFastCgi TracFastCgi] に例示されるように、必要に応じて -initial-env ディレクティブを !FastCgiConfig ディレクティブに加えてください。'' 
     137 
     138{{{ 
     139FastCgiConfig -initial-env TRAC_ENV=/var/lib/trac -initial-env PYTHON_EGG_CACHE=/var/lib/trac/plugin-cache 
     140}}} 
    131141 
    132142=== Subversion の フックスクリプトについて === #Abouthookscripts 
     
    147157=== Python egg は正しいバージョンですか? === #DidyougetthecorrectversionofthePythonegg 
    148158 
    149 Python egg はファイル名の中で Python のバージョンをエンコードします。例えば、 `MyPlugin-1.0-py2.4.egg` は Python 2.4 用の Python egg であり、異なる Python のバージョン (2.3 や 2.5) で動かそうとしても '''動かない''' でしょう。 
     159Python egg はファイル名の中で Python のバージョンをエンコードします。例えば、 `MyPlugin-1.0-py2.5.egg` は Python 2.5 用の Python egg であり、異なる Python のバージョン (2.4 や 2.6) で動かそうとしても '''動かない''' でしょう。 
    150160 
    151161また、ダウンロードした Python egg ファイル が本当に ZIP アーカイブであるかどうかを確認して下さい。もし Trac サイトからダウンロードしたとしたら、 HTML プレビューページを代わりにダウンロードしているかもしれません。 
    152162 
    153163=== プラグインは有効になっていますか? === #Isthepluginenabled 
     164 
    154165 
    155166グローバル領域にプラグインをインストールした場合 (TracEnvironment の `plugin` ディレクトリ内 ''ではなく'') 、 [TracIni trac.ini] に明確に有効にする設定をしなければなりません。以下の事項を確認して下さい: 
     
    168179=== 必要な権限を持っていることを確認してください === #Verifyyouhaveproperpermissions 
    169180 
    170 いくつかのプラグインを利用するためには、あなたが特定の権限を持っている必要があります。例えば [http://trac.edgewall.org/wiki/WebAdmin WebAdmin] がナビゲーションバーに表示されるためには、 TRAC_ADMIN の権限が必要です。 
     181いくつかのプラグインでは、その機能を使用するために特別な権限を要求します。たとえば [http://trac.edgewall.org/wiki/WebAdmin WebAdmin] では、ナビゲーションバーに表示するためには TRAC_ADMIN 権限が必要になります。 
    171182 
    172183=== 読み込むプラグインのバージョンを間違えていませんか ? === #Isthewrongversionofthepluginloading 
     
    180191=== 上記のすべてに失敗した場合 === #Ifalloftheabovefailed 
    181192 
    182 plugins に対するログが出力されず、 egg が読み込み可能であり、 Python のバージョンが正しく、 ''その上で'' egg がグローバルにインストールされて (そして trac.ini で 使用可能に設定されて) いても、なぜかプラグインが動かず、なんのエラーメッセージも表示されない場合は、 [http://trac.edgewall.org/wiki/IrcChannel IrcChannel] で質問してください。 
     193plugins に対するログが出力されず、 egg が読み込み可能であり、 Python のバージョンが正しく、 ''その上で'' egg がグローバルにインストールされて (そして trac.ini で使用可能に設定されて) いても、なぜかプラグインが動かず、なんのエラーメッセージも表示されない場合は、 [http://trac.edgewall.org/wiki/IrcChannel IrcChannel] で質問してください。 
    183194 
    184195----