TracPortalPlugin

Provide trac portal pages for multiple projects.


License
MIT
Install
pip install TracPortalPlugin==0.2

Documentation

Trac Portal Plugin

TracPortalPluginは、同一インスタンス上にある複数のTracプロジェクトのポータル機能を提供するプラグインです。

Note

このプラグインは Trac 0.11 まで使用することができた TraM というツールの代替として作成しました。 TraM は Trac を包含して動作するのに対し、TracPortalPlugin はその名前の通り Trac のプラグインとして動作します。 そのため、Trac のバージョンアップによる影響を受けにくく、機能拡張も可能な作りとなっています。

機能

  • プロジェクト一覧

    全てのプロジェクトのアクティビティを含む情報を一覧で表示します。

  • ダッシュボード

    所属するプロジェクト全体の直近のタイムラインとマイルストーンおよび自分に関係するチケット情報を表示します。

  • プロジェクト横断検索

    所属するプロジェクトに対して横断的に検索を行います。

  • プロジェクト新規作成

    Webインターフェースから新しくTracプロジェクトを作成します。

インストール

  1. まず、以下のいずれかの方法でプラグインのソースを取得します:

    $ git clone https://github.com/iij/TracPortalPlugin.git
    or
    $ wget https://github.com/iij/TracPortalPlugin/archive/master.zip
    $ unzip master.zip
    
  2. 環境に合わせた方法でインストールします:

    $ python setup.py bdist_egg
    $ cp dist/*.egg /trac/env/plugins/
    or
    $ python setup.py install
    
  3. ポータルとなるプロジェクトに対して、Tracの設定ファイル(trac.ini)に以下のように記述し、プラグインを有効にします:

    [components]
    tracportal.* = enabled
    tracportalopt.* = enabled # (optional)
    
  4. プラグインをインストール後は、trac-adminコマンドでプロジェクトの環境をアップグレードします:

    $ trac-admin /trac/env upgrade
    
  5. 環境に応じてプラグインの設定を行います。

    設定情報 をご覧ください。

  6. trac-adminコマンドもしくはWeb上の管理コンソールから必要に応じてポータル機能の権限を設定します。

    権限情報 をご覧ください。

依存ライブラリ/プラグイン

権限情報

以下は、TracPortalPluginで使用される権限の一覧です。必要に応じて権限を付加してください。

権限 概要
PORTAL_PROJECT_LIST_VIEW 所属プロジェクト一覧を表示する権限です。
PORTAL_PUBLIC_PROJECT_LIST_VIEW 公開プロジェクト一覧を表示する権限です。
PORTAL_DASHBOARD_VIEW ダッシュボードを表示する権限です。
PORTAL_CROSS_SEARCH_VIEW プロジェクト横断検索を表示/実行する権限です。
PORTAL_PROJECT_CREATE プロジェクト新規作成および実行する権限です。

設定情報

以下は、TracPortalPluginの設定一覧です。環境に合わせて設定してください。

Section: [tracportal]

Name Description
ignore_projects ポータルで無視するTrac環境の名称(ディレクトリ名)をリストで指定します。
inherit_file 継承する設定ファイル(trac.ini)のパスを指定します。 この設定値は、プロジェクト作成時の --inheritオプションの指定に使用されます。
notify_email_cc プロジェクト作成時の通知メールを送るアドレスを指定します。(Cc)
notify_email_from プロジェクト作成時の通知メールの送信者アドレスを指定します。
notify_email_from_name プロジェクト作成時の通知メールの送信者名を指定します。
parent_base_url 作成したプロジェクトの元となるURL(base_urlの親階層)を指定します。 例) http://xx.yy.zz/trac とした時に、fooというプロジェクトを作成した場合、このプロジェクトの base_url は http://xx.yy.zz/trac/foo となります。
project_activity_assessment_period プロジェクト一覧に表示するアクティビティを評価する日数を指定します。
project_activity_cache_ttl アクティビティ情報のキャッシュの生存期間(sec)を指定します。
project_info_cache_ttl プロジェクト情報のキャッシュの生存期間(sec)を指定します。
project_list_link_url_suffix プロジェクト一覧のリンクURLに付加するパス文字列を指定します。 例えば、ログインする必要がある場合は /login を指定します。
trac_env_parent_dir Tracのプロジェクトを配置しているディレクトリのパスを指定します。 指定がない場合は、Python環境変数のTRAC_ENV_PARENT_DIRが使用されます。

サンプル:

[tracportal]
ignore_projects = portal
inherit_file = /var/www/trac/trac.ini
notify_email_cc = xxx@example.com
notify_email_from = yyy@example.com
notify_email_from_name = TracPortal
parent_base_url = http://xxx.yyy.zzz/trac/
trac_env_parent_dir = /var/www/trac/envs

Tracの設定について、更に詳しい情報は wiki:TracIni をご覧ください。

スクリーンショット

プロジェクト一覧

Project Index

ダッシュボード

Dashboard

プロジェクト横断検索

Cross Search

プロジェクト新規作成

Project Creation

補足情報

ナビゲーションバーの変更

ナビゲーションバーのリンクの並びを変えたい場合は trac.ini の [trac] セクションの mainnav で並びを設定することができます。

例:

[trac]
 mainnav = wiki, dashboard, cross_search, public_projects, available_projects, new_project

さらに不要なリンクを非表示にしたり、名称を変えたい場合には [mainnav] セクションで設定することができます

例:

[mavinnav]
ticket = disabled
wiki.label = お知らせ

ポータル以外のプロジェクトにポータルのリンクを追加したい場合

NavAddPlugin というプラグインで簡単にナビゲーションバーにリンクを追加することができます。

例:

[components]
navadd.* = enabled

[navadd]
add_items = tracportal
tracportal.title = ポータル
tracportal.url = /trac/portal