WLWriterプラグインのアップデート
WLWriterプラグインを若干アップデートしました。
まずは認証がらみの修正。ちなみに、LDAPな環境でも動きました。
あと、wiki化の誤り修正などです。
- anonymousにWIKI_VIEW権限やATOM_PUB権限がない環境でもアカウント設定可能にした
- ページを開く際の並び順をページ名順に
- PREタグないにタグを書くと正しくないwikiになる問題を修正
- CamelCaseの前後の空白が詰まってしまう問題を修正
- Not Modifed時のメッセージを分かりやすくした
- ソースをきれいに
あと、指摘いただいている以下の件は対応済みです。
- Tracのバージョンによりエラーになる件
- 用語定義リストの前に空行がないとP終了タグがおかしくなる件
今回の修正により、最新リビジョンは27576になっています。
チケット登録できなくなっていました
QueryChartマクロのバグにより、 このサイトでチケットの新規作成ができなくなっていました。
いまはもう登録できます。 m(_ _)m
WLWriterPluginを再度AtomPub化
Windows Live Writerプラグインはxmlrpcを用いていたのですが、どうしてもブログ向けのxmlrpcの認証が気に入らず、再びAtomPub化しました。今後はXmlRpcPluginが無くても動きます。
これにより、AccountMgrPluginが不要になりました。Trac本来の認証方式に従って認証を行います。これでLDAPもたぶんいけるはず(試してないけど)
あと、HTMLをWiki化するロジックもだいぶ見直しました。 より妥当っぽいwikiを出力します。
これまでxmlrpc版を使用していた方は、プラグインのモジュールや必要なパーミッション、Windows Live Writerのアカウント設定のためのURLが変更になっているので注意してください。
いまはWikiの編集のみ可能で、TicketやBlogの編集機能は無くなっている形です。こちらはそのうち気が向いたら作ります。
ドキュメントも更新しました。
さくらインターネットへのインストール方法を更新
「さくらインターネットにTracを構築する(Trac0.11b1, Trac0.11rc1)」を更新しました。 subversionのインストールでneonを入れるとエラーになっていたのですが、 ネットで解決方法を公開されている方がいたのでそのとおりやったら 解決しました。
いままででもTrac使うだけには問題なかったんですが、ただ、さくらにtelnetしてsvn coができない状態でした。いやーよかったよかった。
参考:やっとむでぽん
QueryChartマクロのバージョンアップ
そんなこんなで、QueryChartマクロをバージョンアップしました。
変更点を以下に挙げます。
- マクロのcol項目にフィールド名でなくラベル(表示されている項目名)を指定しても動くようにした。
- グラフに表示される凡例は、ラベルを表示するようにした
- 凡例の表示位置を変更(ダウンチャートの場合はグラフ内右上に。アップチャートの場合はグラフ内右下に表示)
- Flotをバージョン0.5にアップ。それに伴い、ツールチップを表示。
- クエリの検索条件としてTicketQuery方式(頭に'?'なし)と、カスタムクエリのURL方式(頭に'?'あり)のどちらでも指定可能に
- ステータス変化日を自動でカスタムフィールドに保存する機能と、その為の管理画面を用意
詳しくは、バグ収束曲線やバーンダウンチャートを描画するQuery Chart マクロを参照のこと。
さっき気づいたのですが、CodeReposにて、drryさんがjsファイルをきれいにしてくれました。ありがとうございます。
あと、引き続き要望募集中です。要望があればコメントしてください。
カスタムクエリの記述とTicketQueryマクロの記述の違いについて
カスタムクエリで条件を指定すると、URLがTicketQueryのクエリ言語のような記述のようになるのですが、これは実は全く別のものだということに気づきました。
んん、そして私の作っているQueryChartマクロでは、これがごっちゃになっています。orz
違いを簡単にまとめました。
P.S. 最初にポストした記事でTicketQueryの方は異なるフィールドの場合OR条件となると書いてましたが、嘘でした。orz
カスタムクエリのURL
例:
/query?status=new&status=assigned&version=^1.0
- 頭に?がつきます。
- 部分一致、前方一致の指定は=^のようにイコールを前に書きます。
- 値1つ毎に"フィールド名=値"を&で区切ります。
- 同じフィールドはOR条件となり、異なるフィールドはAND条件となります。つまり、このURLは、以下のような検索条件となります。
((status='new' or status='assigned') and (version like '1.0%'))
TicketQueryのクエリ言語
例:
[query:status=new|assigned&version^=1.0]
- 頭に?がつきません。
- 部分一致、前方一致の指定は^=のようにイコールを後ろに書きます。
- フィールド名毎に"フィールド名=値"を&で区切ります。1フィールドに複数値を指定する場合は、|を使って値をつなげて書きます。
- 同じフィールドはOR条件となり、異なるフィールドはAND条件となります。つまり、この場合は、以下のような検索条件となります。
((status='new' or status='assigned') and (version like '1.0%'))
QueryChartマクロが表示されない件について
QueryChartマクロでたまにグラフが表示されない件は、どうもDecoratorPluginを使っているとおきるようです。
TicketExtPluginとDecoratorPluginの同居と同様に、
[decorator] ext_decoration = false
を設定すると回避できます。