Changes between Version 1 and Version 2 of TracWorkflow


Ignore:
Timestamp:
09/18/14 10:48:12 (5 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracWorkflow

    v1 v2  
    66== デフォルトのワークフロー == #TheDefaultTicketWorkflow 
    77=== 0.10 からアップグレードした Environment === #Environmentsupgradedfrom0.10 
    8 `trac-admin <env> upgrade` を実行したとき、`trac.ini` に `[ticket-workflow]` セクションが追加され、 0.10 でのワークフロー (original ワークフロー) と同様のアクションをするようにデフォルトの設定値が設定されます。 
     8`trac-admin <env> upgrade` を実行したとき、`trac.ini` に `[ticket-workflow]` セクションが追加され、 
     90.10 でのワークフロー (original ワークフロー) と同様のアクションをするようにデフォルトの設定値が設定されます。 
    910 
    1011original ワークフローは下図を参照してください: 
     
    2425== そのほかのワークフロー == #AdditionalTicketWorkflows 
    2526 
    26 Trac のソースにはいくつかのワークフローの例が含まれています; [http://trac.edgewall.org/browser/trunk/contrib/workflow contrib/workflow] の `*.ini` ファイル内のコンフィグセクションを参照してください。それらの一つはあなたが求めているものとマッチするかもしれません。 `*.ini` ファイル内のコンフィグセクションは、 `trac.ini` の `[ticket-workflow]` セクションに貼り付けて使用することができます 
     27Trac のソースツリーの中でいくつかのワークフローのサンプルを提供しています; [trac:source:trunk/contrib/workflow contrib/workflow] の `.ini` コンフィグセクションを探してみてください。その中のひとつにあなたが探しているものがあるでしょう。それらをあなたの `trac.ini` ファイルの `[ticket-workflow]` セクションに貼り付けてください。しかし、もしあなたがすでに起票済みのチケットをもっていて、それらのチケットのステータスが新しいワークフローに含まれていない場合に、問題が生じるでしょう 
    2728 
    2829これらの例の [http://trac.edgewall.org/wiki/WorkFlow/Examples ダイヤグラム] を見ることができます。 
     
    4546 
    4647''actionname''`.operations` で使用できる値は以下の通りです: 
    47  - del_owner -- チケットの所有者を削除します。 
    48  - set_owner -- チケットの所有者を選択された所有者か入力された所有者に設定します。 
    49    - ''actionname''`.set_owner` カンマ区切りのリストか1つの値を設定することができます。 
    50  - set_owner_to_self -- チケットの所有者をログインユーザに設定します。 
    51  - del_resolution -- チケットの解決方法を削除します。 
    52  - set_resolution -- チケットの解決方法を選択された解決方法か入力された解決方法に設定します。 
    53    - ''actionname''`.set_resolution` カンマ区切りのリストか1つの値を設定することができます。 
    54 {{{ 
    55 例: 
    56  
     48 - del_owner -- チケットの所有者を削除します 
     49 - set_owner -- チケットの所有者を選択された所有者か入力された所有者に設定します 
     50   - ''actionname''`.set_owner` カンマ区切りのリストか1つの値を設定することができます 
     51 - set_owner_to_self -- チケットの所有者をログインユーザに設定します 
     52 - del_resolution -- チケットの解決方法を削除します 
     53 - set_resolution -- チケットの解決方法を選択された解決方法か入力された解決方法に設定します 
     54   - ''actionname''`.set_resolution` カンマ区切りのリストか1つの値を設定することができます。 例: 
     55     {{{ 
    5756resolve_new = new -> closed 
    5857resolve_new.name = resolve 
     
    6059resolve_new.permissions = TICKET_MODIFY 
    6160resolve_new.set_resolution = invalid,wontfix 
    62 }}} 
    63  - leave_status -- "変更しない 現在のステータス: <現在のステータス>" (英語版では "leave as <current status>") を表示してチケットへの変更を行いません 
     61     }}} 
     62 - leave_status -- "変更しない 現在のステータス: <現在のステータス>" (英語版では "leave as <current status>") を表示してチケットへの変更を行いません 
    6463'''Note:''' `set_owner` と `del_owner` などのように相反する操作を同時に指定した場合の動作は不定です。 
    6564 
     
    9392実行結果は `trac.pdf` として出力されます。 (`trac.ini` 同じディレクトリに出力されます。) 
    9493 
    95 ワークフローを変更した後に、 Apache (サーバ) を再起動する必要があります。サーバの再起動が行われるまでは変更が適用されず変更前のワークフローが実行されることになります。 
     94http://foss.wush.net/cgi-bin/visual-workflow.pl でワークフローのパーサのオンラインでのコピーができます。 
     95 
     96ワークフローを変更したあと、変更を適用するために Apache を再起動する必要があります。これは大切なことです。なぜならあなたがスクリプトを起動したとき、それでも変更箇所は現れますが、すべての古いワークフローがサーバの再起動がされるまで残ってしまうからです。 
    9697 
    9798== 例: ワークフローにテストを追加する == #Example:AddingoptionalTestingwithWorkflow 
     
    112113pass.set_resolution = fixed 
    113114}}} 
     115 
     116=== `tracopt.ticket.commit_updater` と testing ワークフローの組み合わせる方法 === #Howtocombinethetracopt.ticket.commit_updaterwiththetestingworkflow 
     117 
     118[[trac:source:trunk/tracopt/ticket/commit_updater.py|tracopt.ticket.commit_updater]] は Trac 0.12 で [[TracRepositoryAdmin#trac-post-commit-hook|古い trac-post-commit-hook を置き換える]] オプションのコンポーネントです。 
     119 
     120デフォルトで、このコンポーネントはチェンジセットのログメッセージの中の ''close'' や ''fix'' などのキーワードに反応し、対応するワークフローのアクションを実行します。 
     121 
     122もし、上記で述べたような testing ステージがあるような複雑なワークフローを使用していて、キーワードに ''closes'' があった場合にステータスを ''closed'' にする代わりに、 ''testing'' に移したいならば、かなりコードを改変させる必要があるでしょう。 
     123 
     124`trac-post-commit-hook` については、 [[trac:wiki:0.11/TracWorkflow#How-ToCombineSVNtrac-post-commit-hookWithTestWorkflow|Trac 0.11 レシピ]] を参照して下さい。このコンポーネントの修正方法がいくらかわかるでしょう。 
    114125 
    115126== 例: レビュー状態を追加する == #Example:Addsimpleoptionalgenericreviewstate 
     
    152163leave.default = 1 
    153164leave.operations = leave_status 
    154 reassign = new,assigned,reopened -> new 
     165reassign = new,assigned,accepted,reopened -> assigned 
    155166reassign.operations = set_owner 
    156167reassign.permissions = TICKET_MODIFY 
     
    200211(訳注: この項はワークフローシステムの実装に関するアイデア集です。現在実装されているものではないので、プラグインを作成するときなどに参考にしてください) 
    201212 
    202 New enhancement ideas for the workflow system should be filed as enhancement tickets against the `ticket system` component.  If desired, add a single-line link to that ticket here.  Also look at the [th:wiki:AdvancedTicketWorkflowPlugin] as it provides experimental operations. 
     213New enhancement ideas for the workflow system should be filed as enhancement tickets against the `ticket system` component.  If desired, add a single-line link to that ticket here.  Also look at the [http://trac-hacks.org/wiki/AdvancedTicketWorkflowPlugin AdvancedTicketWorkflowPlugin] as it provides experimental operations. 
    203214 
    204215If you have a response to the comments below, create an enhancement ticket, and replace the description below with a link to the ticket. 
     
    210221''This appears to add complexity without adding functionality; please provide a detailed example where these additions allow something currently impossible to implement.'' 
    211222 
    212  * operations could be anything: sum up the time used for the activity, or just write some statistical fields like  
     223 * operations could be anything: sum up the time used for the activity, or just write some statistical fields like 
    213224''A workflow plugin can add an arbitrary workflow operation, so this is already possible.'' 
    214225 
     
    219230 
    220231 * Actions should be selectable based on the ticket type (different Workflows for different tickets) 
    221 ''Look into the [th:wiki:AdvancedTicketWorkflowPlugin]'s `triage` operation.'' 
     232''Look into the [http://trac-hacks.org/wiki/AdvancedTicketWorkflowPlugin AdvancedTicketWorkflowPlugin]'s `triage` operation.'' 
     233 
     234 * I'd wish to have an option to perform automatic status changes. In my case, I do not want to start with "new", but with "assigned". So tickets in state "new" should automatically go into state "assigned". Or is there already a way to do this and I just missed it? 
     235''Have a look at [http://trac-hacks.org/wiki/TicketCreationStatusPlugin TicketCreationStatusPlugin] and [http://trac-hacks.org/wiki/TicketConditionalCreationStatusPlugin TicketConditionalCreationStatusPlugin]'' 
     236 
     237 * I added a 'testing' state. A tester can close the ticket or reject it. I'd like the transition from testing to rejected to set the owner to the person that put the ticket in 'testing'. The [http://trac-hacks.org/wiki/AdvancedTicketWorkflowPlugin AdvancedTicketWorkflowPlugin] is close with set_owner_to_field, but we need something like set_field_to_owner. 
     238 
     239 * I'd like to track the time a ticket is in each state, adding up 'disjoints' intervals in the same state.