Trac Lightning3.0.0alpha開発情報

TODO(メモ)

  • (DONE)Trac0.12.1のバグ修正を取り込む。
  • (DONEexcelreportを反映させる。
  • (DONE)BurndownChartプラグインの日本語化
    • 翻訳完了(未ミット)
  • (DONE)Staticsプラグインを削除
  • (DONE)フォーラムをデフォルトプラグインから外す
    • 日本語化は中止
  • (DONE)UserManagerプラグインの日本語化
  • (DONE)メール送信を修正し、添付ファイルと変更者名が表示されるようにする。
  • (DONE)timingandestimateプラグインの翻訳改善

連絡票

  • ~peerreviewplugin,stractisticsは削除の方向で。~
  • ~svnauthzadminpluginとtimingandestimatepluginはtrac-hacksのものはgenshiを使うように変更されている。~

開発情報

3.0.0alpha(コードネーム:TagBoat)の開発状況について記述していきます。

現在3.0.0alpha5では

<pythonとライブラリ(tracプラグイン除く)>

python2.6.6(win)
trac0.12.ja1~レポートをCSVで出力すると文字化け。~
genshi0.6
babel0.9.5
Setuptools0.6c11
svn-pythonsvn-win32-1.6.6_py26
xlrd0.7.1
simplejson2.1.1Python2.6から標準でjsonのライブラリを含む。削除の方向で。completeuserプラグインがsimplejsonに依存しているので注意。
Pygments1.3.1
docutils0.7
configobj4.7.2
pywin32pywin32-214.win32-py2.6
feedparser4.1
pyExcelerator0.6.3a
clearsilver削除windowsでClearSilverをbuildするにbuild方法とpython2.6/win用neo_cgi.pydを置いてます。
mod_python削除

<その他の同梱アプリケーション>

CollabNetSVNSubversion1.6.6/Apache2.2.14(Win32))
Hudson1.353install\replace\hudson.bat.inがないとインストールスクリプト実行時にエラーがでる。要確認。
maven|2.2.1
SQLite3.5.9
mod_wsgimod_wsgi-win32-ap22py26-3.3.so

<動作確認OS>

OS動作状況(○/×/△/未)スクラッチ/上書き備考
Windows XPスクラッチベータ3で確認
Windows Vista 32bit
Windows Vista 64bit
Windows 7(32bit)スクラッチ
Windows 7(64bit)
Windows Server 2003(32bit)
Windows Server 2003(64bit)
Windows Server 2008(32bit)
Windows Server 2008(64bit)
Windows Server 2008 R2(32bit)
Windows Server 2008 R2(64bit)

という構成になってます。

※まだtracやプラグインなどには未確認の事項が多いです。
 協力していただける方で、動作報告などありましたら
 スレッド名:Trac Lightning3.0.0alphaについてまでよろしくお願いします。

プラグイン動作

現時点で導入するプラグインは決定してませんが、
現状(3.0.0alpha4)で同梱しているプラグインの動作は以下のとおりです。

プラグイン名動作変更備考
advancedticketworkflowpluginなし
authz-policy-削除(trac0.12に組み込まれている)
batchmodify差替
excelreport作業中なしtrac0.12対応は完了。リポジトリにはコミットしているが、trac本体にはまだパッチを当てていない。google groupに投稿して様子見中TracOfficeXmlプラグインで代用
excelreportexportplugin×なしshoさんから許可を得ましたので修正予定。TracOfficeXmlプラグインで代用
hudsontracplusなしnavにはhudsonが追加されている。Hudsonの起動をした後ならちゃんとnavからHudsonの画面になる。それ以上はわからない。logに「[!Error 183] 既に存在するファイルを作成することはできません。: 'C:\\TracLight\\.egg-cache\\hudsontracplus-0.4-py2.6.egg-tmp'The Python egg cache directory is currently set to:~」と出る。
iniadmin差替
lightningthemeなし全く動かないわけではなさそう、しかしこれを使うと左上パンくずが消えるのでdisableしている。
newwikipagebuttonなし
privatewikisなし
stractistics×なし削除予定。clearsilverがあればTicket activityのみ動作。
svnauthzadminpluginなしtrac-hacksのREV8887と差し替え。trac0.12で動くように直して、日本語した。
ticket-cloneなし
ticketimportなし
ticketsubmitpolicyなし
timingandestimationplugin差替全体を見たわけではないが動いてそう。→取りあえず無効にして対処
tracaccountmanager差替
tracaddcommentmacro差替
tracautowikifyなしwikiをrenameしたものではだめだったりしたような。
traccodereview×なし削除予定。clearsilverがあれば勝手に対応版では動作。
traccompleteuserplugin×なし対応してみた。
traccustomfieldadmin差替日本語化(rev.53)
~tracdecoratorplugin~-削除
tracdatefieldplugin追加decoratorやdatefieldを生かし、カレンダーから入力したあとプレビューや更新を行うとそのまま固まったようになる場合がある。環境によるもの?だと思うが原因不明。logを見ると「TimeoutError: 20秒内にデータベースに接続できませんでした」が何度も入っている。ブラウザの中止ボタンでとめようとしてもとまらない。ブラウザを一旦閉じて、tracサービスをとめようとしたらとまるまでにいつもよりかなり時間がかかる。javascriptの問題?decoratorやdatefieldをdisableにすると問題がなくなる。→※1
tracdiscussion差替
tracdragdrop差替(firefox4.6.10で確認)
tracganttcalendarpluginなしカレンダーは動作。ガントはたぶん動いてない?
trachyperestraierplugin×なし勝手に対応版では動作
tracmacropostなしtracaddcommentmacroが動いたからたぶんこれも動作してる。
tracmailarchiveなし
tracmastertickets差替
tracnavなし
tracquerychartなし(使い方を間違ってました。)
tracreposearch×差替動作してるかも?削除予定。
tracsectioneditplugin差替
tracthemeengineなしlightningthemeと同様
tracticketdelete削除(trac0.12に同等の機能が組み込まれている)
tractocmacro差替
tracusermanagerpluginなし
tracwikirename-削除(trac0.12に組み込まれている)
tracwysiwyg差替
tracxdocviewなし
tracxmlrpcなしXML-RPCクライアントヘルパーやtasktraytracで確認、見た目の動きはよさそう。→logを見るとエラーが出ている(Trac[chrome] ERROR: Error with navigation contributor AdminModule: TypeError: object of type 'NoneType' has no len())が、それなりに操作可能。
tram×なし削除予定。
workfloweditorpluginなし

※1…3.0.0beta1では時間はかかるが復帰できた。何に時間がかかっているのか調べたら
最初に開始予定を入力した直後が時間がかかっていてlogを出したらerrorがでていた。

パフォーマンスチューニング

  • ~ログレベルは、DEBUGからINFOに変更。~
  • ~余計な画面でwysiwygプラグインのJavaScriptを読まないようにする(パッチ済み。jun66j5さんの返答まち)~
  • ~Decoratorプラグインは遅いので削除。カレンダーの部分だけ抜き出すかDateFiledプラグインを使う~(rev.54)
  • ~TicketSubmitPolicyは動作が重くなる上、使われているかどうかわからないので無効にする。~
  • jQueryの競合問題により中止。jqueryのautocompleteプラグインがdatefieldプラグインに当たっている?CompleteUserプラグインは、YahooUIを利用しているが、jQueryに統一するため、jQuery UI AutoCompleteに置き換える。

その他trac全体の動作

  • チケット登録やチケットに対する変更・コメント追加などを行うと「警告: チケットは作成しましたが、通知処理中にエラーが発生しました: "change" not defined 」が表示される。→trac.iniのticket_subject_templateの定義「ticket_subject_template = $prefix #$ticket.id: [$change.author] $summary」に入ってる「change」が問題(使用できる変数でない)になっているようだ。[$change.author]を削除すると出なくなる。次回リリースで修正。→notificationの設定は今のままでいい?
  • DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5」というメッセージが出る。python2.6で入ってる。当面そのまま。