Hello Trac developers,

I just realized that we still have on t.e.o most of the "original"
workflow [1], with all its flaws. That is, we have "reassign" leading to
the "new" status and "accept" leading to "assigned", when we should
really have something like "reassign" leading to "assigned" and "accept"
leading to "accepted" (i.e. the "basic" workflow [2]).

Well, what we really need could even be simpler than the basic workflow,
as I think we don't need "accept/accepted". The way we work on t.e.o, we
don't have component owners and we "assign" a ticket to ourselves only
when we're taking some responsibility over it (providing a fix ourselves
or applying someone else's contributed patch), so actually "accepting"
it, in the sense of "working on it". Besides, we very rarely assign a
ticket to someone else than ourselves (and should that need happen, we
could as well set the Cc), so using the `set_owner_to_self` operation
for "assign" would work just fine.

Therefore I suggest the following, adapted from basic-workflow.ini:

[ticket-workflow]
leave = * -> *
leave.operations = leave_status
leave.default = 1

assign = new,assigned,reopened -> assigned
assign.permissions = TICKET_MODIFY
assign.operations = set_owner_to_self

resolve = new,assigned,reopened -> closed
resolve.permissions = TICKET_MODIFY
resolve.operations = set_resolution

reopen = closed -> reopened
reopen.permissions = TICKET_CREATE
reopen.operations = del_resolution

+ keeping the change_owner and change_resolution we already have.

The [milestone-groups] would be the one from basic-workflow.ini,
resulting in "assigned" tickets being shown in yellow.


And this brings me to a semi-related topic: triaging woes...

I often find myself wanting to do some triaging, whenever I happen to
have a few minutes of time ahead of me. But then, while going through
report {20}, I quickly hit some ticket which is hard to triage, one
which I probably keep struggling with, so I try once more to figure it
out... and then the five minutes are over. What would really help me
here is a way to categorize the ticket as "not trivial to triage", a
two-level triaging step, so that the really new (or reopened) tickets
would stand out and if they're indeed trivial to triage, they can be
assigned to a milestone quickly.

So one way to handle this situation could be to put a ticket which takes
more than a few minutes to triage in the "assigned" state, keeping the
milestone unset. That way, one could do a "first level" triaging by
going through the list of new,reopened tickets with no milestone set,
and either triage them properly or give up by "assigning" them to
oneself. A "second level" triaging could be done by going through the
list of tickets with no milestone set and assigned to *someone else*
(what's not trivial for them could perhaps be trivial for me?). Finally,
a "third level" triaging would be to really go through the time
consuming ones, when there's enough time ahead.

Feedback on these ideas welcome.

-- Christian

[1] -
http://trac.edgewall.org/browser/trunk/trac/ticket/workflows/original-workflow.ini
[2]
http://trac.edgewall.org/browser/trunk/trac/ticket/workflows/basic-workflow.ini

-- 
You received this message because you are subscribed to the Google Groups "Trac 
Development" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/trac-dev?hl=en.

Reply via email to