Edgewall Software

Changes between Version 3 and Version 4 of TracWorkflow


Ignore:
Timestamp:
Jun 22, 2007, 10:22:42 AM (17 years ago)
Author:
Christian Boos
Comment:

Upgrade content, taken from r5731, except for the Image source

Legend:

Unmodified
Added
Removed
Modified
  • TracWorkflow

    v3 v4  
    55
    66== The Default Ticket Workflow ==
    7 If you do not configure a custom workflow, the default workflow is described in [source:trunk/contrib/workflow/original-workflow.ini contrib/workflow/original-workflow.ini] '''FIXME'''.
     7=== Environments upgraded from 0.10 ===
     8When you run `trac-admin <env> upgrade`, your `trac.ini` will be modified to include a `[ticket-workflow]` section.
     9The workflow configured in this case is the original workflow, so that ticket actions will behave like they did in 0.10.
    810
    9 [[Image(original-workflow.png)]]
     11Graphically, that looks like this:
    1012
    11 You will probably want to look at the additional ticket workflows available, and [source:trunk/contrib/workflow/simple-workflow.ini contrib/workflow/simple-workflow.ini] in particular.
     13[[Image(source:trunk/trac/htdocs/original-workflow.png)]]
     14
     15There are some significant "warts" in this; such as accepting a ticket sets it to 'assigned' state, and assigning a ticket sets it to 'new' state.  Perfectly obvious, right?
     16So you will probably want to migrate to "basic" workflow; `contrib/workflow/migrate_original_to_basic.py` may be helpful.
     17
     18=== Environments created with 0.11 ===
     19When a new environment is created, a default workflow is configured in your trac.ini.  This workflow is the basic workflow (described in `basic-workflow.ini`), which is somewhat different from the workflow of the 0.10 releases.
     20
     21Graphically, it looks like this:
     22
     23[[Image(source:trunk/trac/htdocs/basic-workflow.png)]]
    1224
    1325== Additional Ticket Workflows ==
    1426
    15 There are several example workflows provided in the Trac source tree; look in [source:trunk/contrib/workflow contrib/workflow] for `.ini` config sections.  One of those may be a good match for what you want.
     27There are several example workflows provided in the Trac source tree; look in `contrib/workflow` for `.ini` config sections.  One of those may be a good match for what you want.
    1628
    1729== Basic Ticket Workflow Customization ==
     
    1931Create a `[ticket-workflow]` section in `trac.ini`.
    2032Within this section, each entry is an action that may be taken on a ticket.
    21 For example, consider the `accept` action from [source:trunk/contrib/workflow/simple-workflow.ini simple-workflow.ini]:
     33For example, consider the `accept` action from `simple-workflow.ini`:
    2234{{{
    2335accept = new,accepted -> accepted
     
    3244 - del_owner -- Clear the owner field.
    3345 - set_owner -- Sets the owner to the selected or entered owner.
     46   - ''actionname''`.set_owner` may optionally be set to a comma delimited list or a single value.
    3447 - set_owner_to_self -- Sets the owner to the logged in user.
    3548 - del_resolution -- Clears the resolution field
    3649 - set_resolution -- Sets the resolution to the selected value.
     50   - ''actionname''`.set_resolution` may optionally be set to a comma delimited list or a single value.
    3751 - leave_status -- Displays "leave as <current status>" and makes no change to the ticket.
    3852'''Note:''' Specifying conflicting operations (such as `set_owner` and `del_owner`) has unspecified results.
     
    5872There are a couple of hard-coded constraints to the workflow.  In particular, tickets are created with status `new`, and tickets are expected to have a `closed` state.  Further, the default reports/queries treat any state other than `closed` as an open state.
    5973
    60 While creating or modifying a ticket workfow, [source:trunk/contrib/workflow/workflow_parser.py contrib/workflow/workflow_parser.py] may be useful.  It can create `.dot` files that [http://www.graphviz.org/ Graphviz] understands to provide a visual description of the workflow.
     74While creating or modifying a ticket workfow, `contrib/workflow/workflow_parser.py` may be useful.  It can create `.dot` files that GraphViz understands to provide a visual description of the workflow.
    6175
    6276== Advanced Ticket Workflow Customization ==
    6377
    64 If the customization above is not extensive enough for your needs, you can extend the workflow using plugins.  These plugins can provide additional operations for the workflow (like code_review), or implement side-effects for an action (such as triggering a build).  Look at [source:trunk/sample-plugins/workflow sample-plugins/workflow] for a few simple examples to get started.
     78If the customization above is not extensive enough for your needs, you can extend the workflow using plugins.  These plugins can provide additional operations for the workflow (like code_review), or implement side-effects for an action (such as triggering a build).  Look at `sample-plugins/workflow` for a few simple examples to get started.
    6579
    66 But if even that is not enough, you can disable !DefaultTicketActionController, and create a plugin that completely replaces it.
     80But if even that is not enough, you can disable DefaultTicketActionController, and create a plugin that completely replaces it.