TracLightning

2011年11月 5日 (土)

tracdを使ってみる

TracLightningで作ったプロジェクト構成をそのままネットワークドライブに
おいて、tracdで動かしてみました。

g:¥tracprojectにtracのプロジェクトがあるとすると、コマンドプロンプトから

tracd --env-parent-dir g:¥tracproject¥trac --base-path=trac/ --auth *,g:¥tracproject¥trac.htdigest,trac

と打ち込むと、tracdが立ち上がります。(バッチにしたほうが毎回打ち込まなくていいですが。)

あとはTracLightningでプロジェクトのtracを動かすときのように
(aaaはプロジェクト名とすると)
http://localhost/trac/aaa
とブラウザから打ち込むと表示できます。
見栄えがかなりシンプルです。

リポジトリのパスもg:¥tracproject¥svn\~にかえる必要があります。
trac.iniで設定してるならそこを書き換え、trac上で登録してるなら
SQLite Database Browser
を使ってtrac.dbのrepository_dirなどを書き換えればよいです。

| | コメント (0) | トラックバック (0)

2010年9月23日 (木)

excelreportexportプラグインのtrac0.12対応

TracLightning3.0.0alphaでExcelReportExportが使えないのは、
get_ticket_fields()で取得したデータにtime/changetimeも
入っていて、それの内容をkeyに使ってticket.values.get()したとき
このデータをvalueとしてそのままworksheet.write()で
渡して内部でフォーマットに問題があるということでerrorになってると
わかりました。

value.replace(tzinfo=None)をわたすようにすればerrorは消えるのですが、
そもそも「作成日」と「更新日」はその前に作成するようになっており、
わざわざ「作成(time)」/「更新(changetime)」を追加する必要もありません。
(それをだしても日付のフォーマットで書かれるわけでもないですし。)

で、とりあえず無理やりget_ticket_fields()の直後でその2つを削ってやり、
0.11のときと同様になるようにしてみました。

--- ExcelReportExport/excelreportexport/excelreportexport.py(old)
+++ ExcelReportExport/excelreportexport/excelreportexport.py(new)
@@ -70,6 +70,13 @@

         # 1行目にヘッダー情報(フィールド一覧)を出力する。
         ticketfields = TicketSystem(self.env).get_ticket_fields()
+        ticketfields2=[]
+        for field in ticketfields:
+            key = field['name']
+            if key in ['time', 'changetime']:
+                continue
+            ticketfields2.append(field)
+        ticketfields = ticketfields2
         self.createheader(ticketfields, worksheet)

         # 定義されているステータス一覧

→作者のshoさんからtraclightningに反映してよいご返事をいただきましたので次のリリースでのせる予定です。

| | コメント (0) | トラックバック (0)

2010年9月 2日 (木)

subversionのコミットログを検索して置換

subversionのコミットログにメーラのメッセージを
ちょっと加工してのせていたのですが、送信日時が
「xx年xx月xx日xx曜日 xx:xx…」となってました。
これの「xx曜日 」が前から気になっていて、
ついに削ることにしました。

それで以前作ったpythonのプログラムをモディファイし、
コミットログを取り出して文字列を見つけたら置換して書き込むのを
繰り返すものを作りました。

以下がそれです。無理やりなところや無意味な宣言もありますが。

# -*- coding: utf-8 -*-

import os
import time
import sys, string
from svn import core, fs, delta, repos
import codecs

#argvs[1]:repository path
argvs = sys.argv  #コマンドライン引数リスト
argc = len(argvs) #引数の個数
if (argc != 2):   #2でなければ出る
    exit(1)

path = argvs[1]
path = core.svn_path_canonicalize(path)
repos_ptr = repos.open(path)
fs_ptr = repos.fs(repos_ptr)

rev = fs.youngest_rev(fs_ptr)
start_rev = 1
end_rev = rev

for current_rev in range(start_rev,end_rev+1):
    #get comment log
    log = fs.revision_prop(fs_ptr, current_rev, core.SVN_PROP_REVISION_LOG) or ''
    if log.count('曜日 '):
        print "rev:%d log change" % current_rev
        log = log.replace('月曜日 ', '')
        log = log.replace('火曜日 ', '')
        log = log.replace('水曜日 ', '')
        log = log.replace('木曜日 ', '')
        log = log.replace('金曜日 ', '')
        log = log.replace('土曜日 ', '')
        log = log.replace('日曜日 ', '')
       
        #set comment log
        fs.change_rev_prop(fs_ptr, current_rev, core.SVN_PROP_REVISION_LOG ,log)

UTF-8で保存して、editlog.pyのように名前をつけたとすると

python editlog.py C:\TracLight\projects\svn\aaa

でaaaというリポジトリのコメント置換を行います。
(C:\TracLight\projects\svn\aaaがリポジトリのパス)

| | コメント (0) | トラックバック (0)

2010年8月22日 (日)

windowsでtrac 0.12を試す(その4)

TracLightning-2.5.2インストール後trac0.12インストールで
TracLightningのpluginが動くか見てみました。
といっても細かく見てないです、
使い方がわからず見てないものもあります。ブラウザはie6。

・advancedticketworkflowplugin…たぶん動作。
・authz-policy…わからない。→trac0.12に組み込んであるので不要。
・batchmodify…カスタムクエリにしたとたんエラー画面になる。→0.12用にしたらOK。
・excelreport…レポート画面の下方の「excel」が表示されない。(プラグインの表示が出てない。ロード時にerrorになっているため。(パッチもしてないし当然だけど))
・excelreportexportplugin…カスタムクエリの画面の下方の「excel」をクリックすると
「内部エラーが検出されました:
TypeError: can't subtract offset-naive and offset-aware datetimes」
が出る。
・hudsontracplus…navにはhudsonが追加されている。Hudsonの起動をした後ならちゃんとnavからHudsonの画面になる。それ以上はわからない。
・iniadmin…動作。
・lightningtheme…0.11でもどう動くのが正しいかよくわからないが、無効にしたらnavが本来の色には変わった。
・newwikipagebutton…動作。
・privatewikis…わからない。
・stractistics…Ticket activityのみ動作。
・svnauthzadminplugin…わからない。
・ticket-clone…動作。
・ticketimport…動作。
・ticketsubmitpolicy…わからない。
・timingandestimationplugin…わからない。
・tracaccountmanager…動作。
・tracaddcommentmacro…add commentをするとERRORが表示され、追加されない。→0.11/0.12用の最新だったらOK。
・tracautowikify…動作。
・traccodereview…(私の0.12勝手に対応版で動作)
・traccompleteuserplugin…関係者の頭文字を入力してもメニューは出てこない。
・traccustomfieldadmin…動作。
・tracdecoratorplugin…開始予定日/終了予定日のカレンダーは動作。
・tracdiscussion…動作。
・tracdragdrop…ieしか使えないので試せない?。
・tracganttcalendarplugin…カレンダーは動作。ガントはたぶん動いてない?(最近見てなかったのでよくわからなくなった)
・trachyperestraierplugin…(私の0.12勝手に対応版で動作。)
・tracmacropost…tracaddcommentmacroがこれを使ってるという話だったらこれの動きにも何か問題あるかも。 →tracaddcommentmacroが動いたからたぶんこれも動作してる。
・tracmailarchive…わからない。
・tracmastertickets…わからない。
・tracnav…一応動作。
・tracquerychart…グラフの領域が確保されるだけでグラフや枠などは表示されない。
・tracreposearch…検索でエラーになる。
・tracsectioneditplugin…wikiに[edit]表示が出ない。tracaddcommentmacroを使ったときのプレビューには出てきた。
→0.12用があるので差し替えればOK。
・tracthemeengine…lightningthemeと一緒に確認しただけ、よくわからない。
・tracticketdelete…チケットの削除はできそうな。チケットの画面でコメントの削除ボタンが出ない。→trac0.12に組み込んであるので不要。
・tractocmacro…動作。
・tracusermanagerplugin…動作。
・tracwikirename…標準でできるから不要。
・tracwysiwyg…たぶん動作。
・tracxdocview…たぶん動作。
・tracxmlrpc……(XML-RPCクライアントヘルパーやtasktraytracを利用して確認)logを見るとエラーが出ている。
・tram…わからない。動作してないと思う。
・workfloweditorplugin…たぶん動作。

時間関連(ticketのtimeやchangetime、ticket_changeのtime、milestoneのcomletedやdueなど)がアップグレードにより桁数が増えたのは影響してるはず。

| | コメント (0) | トラックバック (0)

2010年8月20日 (金)

trac0.12無理やり対応PeerReviewPlugin修正版

PeerReviewPluginは
windowsでtrac 0.12を試す(その2)で無理やり対応してた
のですが、ie6ではうまくいかなかったり、
defaultリポジトリが必要なところが気になりだし、
結局修正してみました。
下のファイルを解凍してPeerReviewPluginフォルダに
上書き、後はいつものインストール。

10/08/21
TRAC_ADMINの権限をもっててもCODE_REVIEW_MGR
権限を持ってないとstep2のSelect reviewersに
表示できないのがいやだったので修正しました。

10/10/18
本家では1年以上更新されてませんが、
branches-2.2-devではgenshi対応になっていたので
それをベースに仮対応しました。今度は全ファイル入れてます。
でも権限は元に戻しました。

10/10/25
パンくずの表示やリンクがおかしかったのを修正。

10/10/28
createのときのファイル選択の修正
(rootではlogを表示しないようにした。
root以外ではrevの変更ができるようにした(リポジトリの一番上に戻るけど)。
Ageをクリックすると「Loading....」となるのを修正した。)

「peerreviewplugin_012_4.zip」をダウンロード

| | コメント (0) | トラックバック (0)

2010年8月19日 (木)

trac 0.12用SearchHyperEstraierプラグイン勝手に修正版

以前traclightning用に
SearchHyperEstraierに機能追加してみました。
でマルチリポジトリパッチ対応してましたが、
それをちょっとだけ修正して
今回の無理やりtraclightning+trac0.12にも
対応してみました。

2010/09/30 内容を見直して設定を見直しました。説明も見直しました。
2012/10/04 shibuya.tracのリポジトリにおきました。

| | コメント (0) | トラックバック (0)

2010年8月 1日 (日)

windowsでtrac 0.12を試す(その3)

リポジトリ関連以外も大きな変更部分を試してみました。

まずticket。
ticketのコメントも編集できるようになったのは助かります。
dbを直接操作するか、チケットデリートで削除してましたが
ミスってしまうのがかなりなくなるはず。
(チケットデリートはなぜか最初にチェックしたものと
削除画面のチェックの場所がかわってしまって、
確認しないまま実行してしまうと意図しないところが消えてしまう
ことがよくありました、こわいこわい。)
→trac0.12にはticketdeleterというほぼ同様の機能が追加されてます。
これを有効にして使うとかなり便利です。
確実にそのコメントが消せますし
(実際は以前のログとしてバックアップされてあるみたいですけど)。

次にwiki。
wikiの編集にも機能追加がされていて、プレビュー表示後は
「プレビュー」、「編集」、「アクション」のリンクがついてます。
「アクション」は「変更を送信」などのボタンがならんだところへの
リンクになってます。
それとこちらのほうがもう少し大きな機能追加?ですが
編集エリアの右上に「並べて編集」というチェックが
できてます。
edghwallのtrac 0.12 demoではチェックしてから
プレビューすると、ie6では編集エリアの上にプレビューが出ます。
あれ?と思ってgechoに切り替え(sleipnirを使用していたので)ると
プレビューは右側に出ました。これが正しい表示ですね。

で、無理やりtraclightning+trac0.12にしたものでは
なぜかgechoでも上に出ます。さらにie6では
これをやるとブラウザが固まることがありました。
固まったらブラウザを落とすしかないです。
(tracは落とさなくてもいいです。)

これを脱するには固まるページで編集に入る前に
java scriptをoffにして入り、
プレビューをしたあとonにしてやると固まらないです
(肝心の並べてプレビューはもちろんできませんけど)。
きっとtraclightningで入ったpluginが問題になってるの
では、と思います。それとも私の環境のせいか。
でも、そこらへんはtraclightningで対応してもらってから
でいいことかな。

まだ細かいところまで見てないですので
無理やりtraclightning+trac0.12の状態では
こまごました問題はあるかもしれませんが、
いろいろ私にはこれくらいでも十分使えるのでは、という印象です。

| | コメント (0) | トラックバック (0)

2010年7月28日 (水)

windowsでtrac 0.12を試す(その2)

まだ基本機能もあまり試してませんが、
PeerReviewPluginは以前作ったパッチをちょっと
修正ですぐ動きました。
下のファイルを解凍してPeerReviewPluginに
上書き、後はいつものインストール。

「codereview.zip」をダウンロード→下記の件で修正版を作りました。

→Step 2でファイル名に半角スペースがあると
No filesになる現象が出ました。後で見直します。
マルチリポジトリ対応PeerReviewPluginパッチ
自分でieではうまくいかないことを書いてました。
やっぱりgechoに切り替えたらあっさり動作しました。

※defaultリポジトリがtrac.iniか「管理」のリポジトリで登録されていないと
Create a Code Reviewのstep2が表示できません。
リビジョンが0(リポジトリを作っただけ)のものでもかまわないので
登録してください。
これは0.11マルチリポジトリ対応PeerReviewPluginパッチ でも同様です。

| | コメント (0) | トラックバック (0)

2010年7月26日 (月)

windowsでtrac 0.12を試す

trac 0.12が出てしばらくたつのに、
あまりweb上に話題が出てこないので、
試してみることにしました。

とりあえず今使ってるTracLightning-2.5.2を
インストールした状態からtrac0.12にアップグレード
する方向でやってみました。
といっても、TracLightningの全機能が使えるわけではない
です。以下がその方法。

---
TracLightning-2.5.2をインストールした状態に対して。
(以下、すべてdefaultでインストールしたとして)

C:\TracLight\python\Lib\site-packages\Trac-0.11.7.ja1-py2.5.eggフォルダ削除
C:\TracLight\python\Lib\site-packages\Genshi-0.5-py2.5-win32.egg削除
C:\TracLight\python-lib\tracフォルダ削除
C:\TracLight\python-lib\genshiフォルダ削除

Babel-0.9.5.zipをC:\TracLight\python-lib\babelに展開、そして

cd C:\TracLight\python-lib\babel
python setup.py install

Genshi-0.6.zipをC:\TracLight\python-lib\genshiに展開、そして

cd C:\TracLight\python-lib\genshi
python setup.py install

Trac-0.12.zipをC:\TracLight\python-lib\tracに展開、そして

cd C:\TracLight\python-lib\trac
python setup.py compile_catalog -f
python setup.py install

httpd.confを修正、

#  PythonHandler tram.modpython_frontend
PythonHandler trac.web.modpython_frontend

に変更。 (

PythonPath "['C:\TracLight\python\Lib\site-packages'] + sys.path"

もいる?とりあえずなくても動いたけど。)

最後に

trac-admin C:\TracLight\projects\trac\xxx upgrade
trac-admin C:\TracLight\projects\trac\xxx wiki upgrade

とする。

サービスのインストールを実行すると
とりあえず動く。

---
私はTracLightningにマルチリポジトリパッチを当てて
使っていたのですが、trac0.12にアップグレードしたら、
マルチリポジトリもそのまま使えてましたし、
タイムラインにもちゃんと表示されてました。
まあ、そのくらいしかまだ確認してませんけど。

| | コメント (0) | トラックバック (0)

2010年4月19日 (月)

コミット数積算グラフプラグイン(その3)

multireposパッチ対応コミット数積算グラフプラグイン
対して、グラフのサイズ指定や開始/終了日時指定を
できるようにしてみました。
「commitcount3.zip」をダウンロード→trac用コミット数積算グラフプラグインに集約しました。

| | コメント (0) | トラックバック (0)

より以前の記事一覧