WorkflowEditorPlugin ワークフローを簡単に編集できるようにしました

以前に公開したWorkflowEditorPluginをバージョンアップしました。

今回のバージョンアップで、以下の2つのモードで編集できるようにしました。

Grid Mode Text Mode


Grid Mode を使えば、ビジュアルに確認することができるので、直観的にワークフローをカスタマイズできると思います。
Tracのワークフローは、チケットに対する操作と、それに伴うステータスの変更を定義するのですが、基本的な使い方は、以下の通り。

操作の追加 「追加」ボタンを押下すると、入力フォームが表示されるので、追加したい操作を入力します。
操作の変更 変更したい操作を選択し、「変更」ボタンを押下すると、編集フォームが表示されるので、必要な内容を変更します。
操作の削除 変更したい操作を選択し、「削除」ボタンを押下すると、確認フォームが表示されるので、そのままOKしてください。
ステータスの編集 Tracでは、操作と別にステータスを定義することが必要です。このステータスは、「操作した後に遷移するステータス」「ある操作が可能なステータス」の2つの意味で用いられます。「ステータスの編集」ボタンを押下すると、編集フォームが表示されるので、必要となるステータスを入力してください。1つのステータスは、改行で区切られます。


注意点としては、「.default」というワークフロー属性を、Grid Modeでは「順序」という表示順で定義するようにしていることです。
「.default」属性は、チケット更新画面で表示される操作の表示順なのですが、値が大きいほど上に表示されるような指定をするため、分かりずらいためです。

Tracのチケットワークフローを編集するWorkflowEditorPlugin

Tracでは、0.11から、チケットのワークフローをカスタマイズできます。
trac.iniで設定をするのですが、変更したいときにファイルを直接編集するのは不便なので、Web画面から編集するプラグインを作成しました。


trac.iniで記述する内容を編集できるようにしただけですが(w


Tracのワークフローは定義が分かりにくいところがあるので、今後は、設定方法を知らなくても、画面を見れば設定できるような画面を用意したいと考えています。

Tracでワークフローを追加するのは、正直難しい。
上記の設定方法を見ると、ワークフローというアクティビティ図で描かれたフローチャートを無理やり表現したものなので、trac.iniから理解するのは難しい。
できれば、trac.iniに直接設定するのではなく、RedmineのようにWeb上で制御できるようにして欲しい。

Tracのワークフロー: プログラマの思索

Redmineは使ったことがないのですが、上記には同感。このような問題を解決したいなと思っています。

起動時やSVN利用時にEclipseが落ちる場合の対処

TracLightningとEclipseを併用している場合、Eclipseが起動時やSVN利用時に、急に落ちてしまうという問題があります。
正確に言えば、TracLightningをインストールしていなくても、Subversionがインストールされていると、発生する可能性があります。


これは、Apache2.2用Subversion(1.4.5以降)と、Subclipse(もしくは Subversive)がインストールされている場合に発生します。


原因は、Subversionで利用されるlibapr-1.dllにPATHが通っていると、SubclipseSVNインタフェースに利用するJavaHLが利用するlibjavahl-1.dllと、バージョンが不整合になるためです。


対処としてはいくつかあるのですが、Subclipseで、JavaHLでなくSVNKitを利用するのが簡単でしょう。
Eclipseの画面から設定(「Window」→「Preferences」→「Team」→「SVN」)できれば良いですが、起動時に落ちてしまい、設定ができない場合は、以下の内容のファイルを作成し、Eclipseのワークスペースにそのファイルを置けば、設定が変更できます。

  • ファイル名
org.tigris.subversion.subclipse.ui.prefs
  • ファイルの内容
#Sun Nov 23 00:00:00 JST 2008
eclipse.preferences.version=1
pref_svninterface=svnkit
  • ファイルの配置場所
<Eclipseワークスペース>\.metadata\.plugins\org.eclipse.core.runtime\.settings


また、Subclipseの場合、11/25現在最新のバージョン1.4.6を利用することで、問題は発現しなくなりました。
どのバージョンからまでは未確認ですが、Subclipseをバージョンアップすることで、JavaHLでの競合も発生しなくなるようです。

Tracのワークフロー定義をWeb画面から編集できるプラグインはないか?

Trac0.11から追加された、チケットのワークフローカスタマイズの機能ですが、trac.iniの定義方法が難しく、カスタマイズするのはそれなりの知識が必要となります。


できれば、Trac管理画面から簡単に定義できるようにしたいのですが、そのようなプラグインはないものか?
Trac Haksも見てみたのですが、該当するようなものがなかった・・・


自分でプラグインを作るか。

TicketExtPlugin プレビュー時に説明の内容が上書きされてしまう問題に対応

何名かの方に、「プレビュー時に説明の内容が上書きされてしまう」という報告を頂いていたので、対応しました。


http://trac-hacks.org/wiki/TicketExtPlugin


TracWysiwygPluginを利用し始めてから、ほとんどプレビュー使わなくなってしまっていたので、気づきませんでしたm(__)m


どうぞ、ご利用ください。