[Python-Dev] Define Tracker workflow
Ron Adam
ron3200 at gmail.com
Thu Oct 20 04:42:30 CEST 2011
On Wed, 2011-10-19 at 22:17 +0300, anatoly techtonik wrote:
> Does everybody feel comfortable with 'stage' and 'resultion' fields in tracker?
>
> I understand that 'stage' defines workflow and 'resolution' is status
> indicator, but the question is - do we really need to separate them?
> For example, right now when a ticket's 'status' is closed (all right -
> there is also a 'status' field), we mark 'stage' as
> 'committed/rejected'. I see the 'stage' as a workflow state and
> 'committed/rejected' value is confusing because further steps are
> actually depend on if the state is actually 'committed' or 'rejected'.
>
> stage: patch review -> committed/rejected
>
> When I see a patch was rejected, I need to analyse why and propose a
> better one. To analyse I need to look at 'resolution' field:
>
> duplicate
> fixed
> invalid
> later
> out of date
> postponed
> rejected
> remind
> wont fix
> works for me
>
> The resolution will likely be 'fixed' which doesn't give any info
> about if the patch was actually committed or not. You need to know
> that there is 'rejected' status, so if the status 'is not rejected'
> then the patch was likely committed. Note that resolution is also a
> state, but for a closed issue.
It's somewhat confusing to me also.
> For me the only things in `status` that matter are - open and closed.
> Everything else is more descriptive 'state' of the issue. So I'd merge
> all our descriptive fields into single 'state' field that will accept
> the following values depending on master 'status':
> open:
> languishing
> pending
> needs test
> needs patch
> patch review
> commit review
>
> closed:
> committed
> duplicate
> fixed
> invalid
> out of date
> rejected
> wont fix
> works for me
I like the idea. But its not clear what should be set at what times.
While trying not to change too much, how about the following?
Status:
Open
Closed
Stage:
In progress:
needs fix (More specific than the term 'patch'.)
needs test
needs docs
needs patch (Needs a combined fix/test/docs .diff file.)
needs patch review (To Accepted if OK.)
languishing (To "Rejected:out_of_date" if no action soon.)
pending
Accepted:
commit review
committed (And Close)
Rejected: (Pick one and Close.)
duplicate
invalid
out of date
won't fix
cannot reproduce (instead of 'works for me')
This combines the stage and resolution fields together.
Currently the stage is up in the upper left of a tracker page, while the
status and resolution is further down. They should at least be moved
near each other.
+------------------+------------------+-----------------------+
| status: | stage: |resoltution: |
+------------------+------------------+-----------------------+
But it would be better if it was just...
+----------------+--------------------------------------------+
| status: | stage: |
+----------------+--------------------------------------------+
And just list the stages like...
status: Open stage: In progress -> needs docs
status: Open stage: In progress -> needs patch review
status: Open stage: Accepted -> commit review
status: Closed stage: Accepted -> committed
status: Closed stage: Rejected -> invalid
It's not entirely consistent because while it's open, the stage refers
to what is needed, but once it's closed, it refers to the last item
done. But I think it would be fine that way.
As for more detailed info, you pretty much have to read the discussion.
Cheers,
Ron
More information about the Python-Dev
mailing list