環境移行時の注意。

たとえばサーバを移行する場合。基本的にコピーすれば終わりなんだけど、プラグインはpublicな場所にインストールした場合は入れ直さなくちゃいけない。<-あたりまえ。移行先とPythonのバージョンが異なる場合、プラグインは再コンパイル(?)が必要。

SVNと同期を取る。

なんか動きがおかしいなーとかエラーが出るとき。

[root@localhost ~]# trac-admin /opt/tracroot/tractest resync
Resyncing repository history...
Done.
[root@localhost ~]#

ってやるとうまくいくかも。 http://overlasting.dyndns.org/2006-10-03.html

Priority の意味ってこんな感じ

[root@www googleplugin]# trac-admin  /opt/tracroot/googleplugin priority list

Possible Values
---------------
blocker システム全体の停止、環境の破壊等、アプリ以外にも大規模な影響を及ぼすバグ
critical セキュリティホール、データの消失等、致命的なバグ
major 通常のバグ
minor 修正しなくても利用に差し障りの無いレベルのバグ
trivial タイポ等
[root@www googleplugin]#

チケットの分類

[root@www googleplugin]# trac-admin  /opt/tracroot/googleplugin ticket_type list

Possible Values
---------------
defect	バグ
enhancement	機能拡張
task	タスク

[root@www googleplugin]#

バグと機能拡張はソース修正に対応する。タスクはそうとは限らないってかんじですね。

resolve as のプルダウンの意味

fixed .. 対応完了
invalid .. 報告が間違っていた
wontfix .. 確認できるが、対応はしない
duplicate .. 他のチケットと重複していた
worksforme .. 報告の内容が確認できなかった

カスタマイズする

チケットの分類(Type)の追加

[root@localhost conf]# trac-admin /opt/tracroot/googleplugin  ticket_type add meeting

チケットの分類プルダウンに「meeting」が追加されます。

優先度(Priority)の追加

[root@localhost conf]# trac-admin /opt/tracroot/googleplugin  priority add '緊急'

優先度プルダウンに「緊急」が追加されます。

マイルストン(Milestone)の追加

[root@localhost conf]# trac-admin  /opt/tracroot/googleplugin  milestone add Ph.1

マイルストンプルダウンに「Ph.1」が追加されます。

コンポーネント(Component)の追加

[root@localhost conf]# trac-admin  /opt/tracroot/googleplugin   component add '基盤' common

コンポーネントプルダウンに「基盤」が追加されます。

バージョンの追加

Google Plugin のサイトはこうした

結局GooglePlugin?のサイトでは以下のコマンドを実行しました。

trac-admin /opt/tracroot/googleplugin ticket_type remove defect
trac-admin /opt/tracroot/googleplugin ticket_type remove enhancement
trac-admin /opt/tracroot/googleplugin ticket_type remove task 
trac-admin /opt/tracroot/googleplugin ticket_type add '不具合'
trac-admin /opt/tracroot/googleplugin ticket_type add '機能追加要求'
trac-admin /opt/tracroot/googleplugin ticket_type add 'タスク'
trac-admin /opt/tracroot/googleplugin priority remove blocker
trac-admin /opt/tracroot/googleplugin priority remove critical
trac-admin /opt/tracroot/googleplugin priority remove major
trac-admin /opt/tracroot/googleplugin priority remove minor
trac-admin /opt/tracroot/googleplugin priority remove trivial 
trac-admin /opt/tracroot/googleplugin priority add '緊急'
trac-admin /opt/tracroot/googleplugin priority add '高'
trac-admin /opt/tracroot/googleplugin priority add '中'
trac-admin /opt/tracroot/googleplugin priority add '低'
trac-admin /opt/tracroot/googleplugin priority add '軽微'
trac-admin  /opt/tracroot/googleplugin  component remove component1
trac-admin  /opt/tracroot/googleplugin  component remove component2
trac-admin  /opt/tracroot/googleplugin  component add 'core' common
trac-admin  /opt/tracroot/googleplugin  component add 'ロジック' common
trac-admin  /opt/tracroot/googleplugin  component add 'ビュー' common
trac-admin  /opt/tracroot/googleplugin  component add 'アクション' common
trac-admin  /opt/tracroot/googleplugin  component add 'ダイアログ' common
trac-admin  /opt/tracroot/googleplugin  component add '設定画面' common
trac-admin  /opt/tracroot/googleplugin  component add 'ウィジェット' common
trac-admin  /opt/tracroot/googleplugin  component add 'ユーティリティ' common
trac-admin  /opt/tracroot/googleplugin  component add '拡張ポイント' common
trac-admin  /opt/tracroot/googleplugin  component add 'RCP' common
trac-admin  /opt/tracroot/googleplugin  component add 'UI' common
trac-admin  /opt/tracroot/googleplugin  component add 'フィーチャー' common
trac-admin  /opt/tracroot/googleplugin  component add 'その他' common
trac-admin  /opt/tracroot/googleplugin  milestone  remove milestone1
trac-admin  /opt/tracroot/googleplugin  milestone  remove milestone2
trac-admin  /opt/tracroot/googleplugin  milestone  remove milestone3
trac-admin  /opt/tracroot/googleplugin  milestone  remove milestone4
trac-admin  /opt/tracroot/googleplugin  milestone add 1.4.0
trac-admin  /opt/tracroot/googleplugin  milestone add 1.5.0
trac-admin  /opt/tracroot/googleplugin  version remove 1.0
trac-admin  /opt/tracroot/googleplugin  version remove 2.0
trac-admin  /opt/tracroot/googleplugin  version add 1.0.x
trac-admin  /opt/tracroot/googleplugin  version add 1.3.0
trac-admin  /opt/tracroot/googleplugin  resolution  add '対応完了'
trac-admin  /opt/tracroot/googleplugin  resolution  add '起票が誤り'
trac-admin  /opt/tracroot/googleplugin  resolution  add '起票は正しいが、対応しない'
trac-admin  /opt/tracroot/googleplugin  resolution  add '他のチケットと重複'
trac-admin  /opt/tracroot/googleplugin  resolution  add '起票内容の確認ができず'

AccountManagerPlugin?のインストール

AccountManagerPlugin?はWEB画面上でアカウント管理を行うためのプラグインです。

[root@www ~]# easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10
Downloading http://trac-hacks.org/svn/accountmanagerplugin/0.10
Doing subversion checkout from http://trac-hacks.org/svn/accountmanagerplugin/0.10 
  to /tmp/easy_install-rer6hH/0.10
Processing 0.10
Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-rer6hH/0.10/egg-dist-tmp-_E-VrY
Adding TracAccountManager 0.1.3dev-r2171 to easy-install.pth file

Installed /usr/lib/python2.4/site-packages/TracAccountManager-0.1.3dev_r2171-py2.4.egg
Processing dependencies for TracAccountManager==0.1.3dev-r2171
[root@www ~]#

インストールは完了で、TracWebAdmin? の画面上で、プラグインを有効にします*1。あとはAccount Manager Pluginに従ってtrac.iniにパスワードファイルのありかなどを追記していけばOKです。

ソースから入れるやり方もあるらしい。

# svn co http://trac-hacks.org/svn/accountmanagerplugin/trunk ./accmgr
# cd accmgr
# python ./setup.py bdist_egg
# cp dist/TracAccoutManager-0.1.2dev_rxxxx-py2.3.egg /home/www/xxx/trac/plugins
# chown apache:apache /home/www/xxx/trac/plugins/TracAccoutManager-0.1.2dev_rxxxx-py2.3.egg

Basic認証なログイン画面じゃなくて、ちゃんと画面からログインする。

以前httpd.confに追記した、

<LocationMatch "/.+/login$">
 AuthType Basic
 AuthName "Trac"
 AuthUserFile /hogehoge
 Require valid-user
</LocationMatch>

などは削除。さらにtrac.iniで

[components]
trac.web.auth.loginmodule = disabled
acct_mgr.web_ui.loginmodule = enabled

とすると、Basic認証のログインダイアログじゃなくて、ちゃんとした(?)ログイン画面となります。

Ticketの投稿があったとき、メールを出す

trac.iniの [notification] の項目に追加すればよいようです。

[root@www conf]# diff trac.ini trac.ini.20070617_01
68,69c68,69
< smtp_enabled = true
< smtp_from = 「送信者のメールアドレス」
---
> smtp_enabled = false
> smtp_from = trac@localhost
72,73c72,73
< smtp_replyto = 「リプライ用のアドレス」
< smtp_server = 「SMTPサーバ名」
---
> smtp_replyto = trac@localhost
> smtp_server = localhost
[root@www conf]#

SMTP認証などがあるサーバの場合は、さらに

smtp_user = SMTPのユーザ名
smtp_password = パスワード

などを追記しておけばOKです。

こうしておけば、Ticketが投稿されたときにユーザのメールアドレスにメールが送信されます。

詳しくはココ

送信先の定義がよく理解できてないですね。とりあえず報告者には送信されるみたいですね。

常にCC送信する宛先の指定方法はありました。

smtp_always_cc = [常にCCしたいアドレス]

でよいみたいです。 同報などをこれに指定しておけばよいですね。

always_notify_owner = true  <-担当者フィールドのメールアドレスには必ず送る
always_notify_reporter = true <-報告者フィールドのメールアドレスには必ず送る

担当者をドロップダウンリストにする

http://www.masatom.in/googleplugin/wiki/TracTickets にあるとおり、 [ticket] セクションで以下のように restrict_owner をtrueにします。

[ticket]
restrict_owner = true

カスタムチケット属性

お、チケットに独自のプロパティを追加できる?

Authz editor for WebAdmin? のインストール

Authz editor for WebAdmin?Subversionで ディレクトリごとにアクセス制御する のファイルをTracから制御するプラグインです。

[root@www ~]# easy_install http://trac-hacks.org/svn/authzwebadminplugin/0.9/
Downloading http://trac-hacks.org/svn/authzwebadminplugin/0.9/
Doing subversion checkout from http://trac-hacks.org/svn/authzwebadminplugin/0.9/ to /tmp/easy_install-UndFQ7/0.9
Processing 0.9
Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-UndFQ7/0.9/egg-dist-tmp-RHJAW8
zip_safe flag not set; analyzing archive contents...
Adding TracWebAdminAuthz 0.2.1 to easy-install.pth file

Installed /usr/lib/python2.5/site-packages/TracWebAdminAuthz-0.2.1-py2.5.egg
Processing dependencies for TracWebAdminAuthz==0.2.1
Finished processing dependencies for TracWebAdminAuthz==0.2.1
[root@www ~]#

あとはTracのGUIでEnableにするのと、trac.iniで

[trac]
# ...
authz_file = /opt/hogehoge/dav_svn.authz   # path to my svn authz/access file

とすればOK.

リンク集


この記事は

選択肢 投票
おもしろかった 18  
そうでもない 3  

現在のアクセス:36691


*1 RegistrationModule? <-任意のヒトがアカウントを追加できるようになる以外、全部にチェックをつけちゃいました

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-05-22 (木) 10:55:07 (3619d)