Trac Ticketing guidelines
Juan Manuel Palacios
jmpp at macports.org
Sat Jul 14 16:20:21 PDT 2007
Hi Maun Suang!
Since you're the one who has been amending the TracTicketing doc up
at our Wiki recently, would you mind if I embark you on a rewriting
task? ;-)
From a quick skim over the doc, it seems to me like the "How to file
a ticket" section still reflects much of our Bugzilla practices back
in OpenDarwin days, and these mostly don't apply to current times any
longer. It would be great if we could rewrite it to reflect our
current practices and trac ticket fields (following in order, per the
entries in standard new ticket submission):
*) Short Summary: from the current wiki entry:
-) first summary part: there's no longer a need to use summary
keyword prefixes to make it clear from the start what the ticket is
about (see milestones below);
-) second summary: make that "<port> <version>" or "base <version>",
as it currently only talks about <version>, from what I could
understand;
-) third summary part: keeper
*) Type: Probably one of the most neglected ticket fields (its drop-
down menu should definitely be larger!):
-) defect: for any port/MacPorts build/runtime failures and/or
documentation corrections;
-) enhancement: tickets with or without patches that simply aim to
enhance something that's not necessarily failing (which would be a
"defect");
-) task: have never been able to differentiate this too well from
enhancements above... I could argue that whatever task is worthy
enough to be put into a ticket as a request can be considered an
"enhancement" request (but of course, project members are allowed to
determine it's not a worthy enough enhancement and reject the
ticket ;-); this interpretation renders the enhancement Vs. task
distinction unnecessary, so please do come up with your own
interpretation if you have one;
-) contribution: something I created a while ago but still haven't
gotten too used to; I originally conceived it as "enhancement
requests *with* patches incorporated", but getting so fine grained
might not bee such a good thing (ignored enough); I'm thinking about
removing it if nobody can come up with something good to justify it
(I know I, its creator, can't ;-)
-) anything else? I'm not sure if we need some other ticket type,
feel free to suggest;
*) Full Description: Where the gritty ticket details should go,
currently not listed in the TracTicketing doc;
*) Priority: currently not listed either (the following are just my
appreciations on what we should use each of these for, feel free to
suggest/correct):
-) Expected: for most reports on port build failures, users are free
to *expect* these to be fixed;
-) Important: for MacPorts build/runtime failures (MacPorts itself,
base/ sources), along with additions (enhancements) to our sources
considered critical (I know this is rather vague, feel free to
improve my suggestion);
-) Blocker: still not too sure what we should use this for, probably
something we should restrict to MacPorts project members' criteria on
*really* important stuff in my opinion, more than plain "Important"
above;
-) Nice to have: port requests (either a request to write a portfile
for a particular software package or a portfile submission for said
package) and "less than critical" additions to MacPorts sources
(again rather vague, I know);
-) Not set: anything else that doesn't fit in the above set;
-) do we need any other priority? feel free to suggest them, I can
create whichever we might need;
*) Component: Currently listed in the existing doc, but limited to
"ports" and "base"; those two are keepers, but:
-) we should include "guide" and "www" (I do hope one day we'll re-
design our entire web page!);
-) "uninstaller" and "dp-cocoa" are deprecated and shouldn't be
listed, I've only not removed them 'cause of legacy reasons as there
are some tickets filed against them;
-) "infrastructure": should be reserved for MacPorts team members,
since they're likely to have a better feel for the infrastructure
requirements we have, which we don't and which are already in the
works (we don't want to waste macosforge admin personnel's time ;-)
*) Severity: there will probably be some discrepancy here, as
determining what's of mild severity, serious or critical is not
likely to be an incredibly objective decision. In any case, my thoughts:
-) Normal: what most reports should list (my problems are mine, not
the entire world's ;-), like regular port build failures,
documentation typos, etc;
-) Serious: Should we reserve this exclusively for MacPorts build/
runtime failures...? (why would one port build failure be more
important than another? they shouldn't be listed here);
-) Security: tickets with update requests (with or without patches)
that address security concerns in any given port and/or MacPorts itself?
-) Performance: Improving MacPorts performance?
-) Crash/data loss: this sounds unnecessarily alarmist to me, maybe
we should get rid of it and put tickets here under "Serious"...?
-) Other: whatever doesn't fit in the above set (just the same as
priorities, feel free to suggest any other severity level you think
we might need).
*) Assign to: just fine as it is now;
*) Milestone: this is easily one of the most important fields in a
ticket, proper usage will allow us to find them quicker simply
because the roadmap is almost everyone's starting point. On the
choices available:
-) Documenation: self explanatory (noting that reports against
things like our man pages, though in the documentation milestone,
should be filed under the "base" component, not "guide");
-) Feature requests: for something MacPorts is missing, with or
without a patch implementing it ("base" component);
-) MacPorts x.y: tickets against MacPorts itself that have been
accepted for fixing/inclusion in whatever iteration of the currently
shipping MacPorts base version (like all tickets that were fixed in
every single 1.4.x release belonged in the 1.4 milestone, not in
1.4.x specific milestones --which rapidly becomes hard to manage--);
note that tickets in these milestones should be under the "base"
component, with some exceptions for the "ports" component that make
sense in a particular MacPorts release, like ticket #11664;
-) Needs developer review: those tickets against MacPorts sources
that are still lacking consensus and need discussion to make it into
a particular release milestone; note that tickets that are agreed
upon but don't have any man power to implement them yet (i.e. create
a patch) should really be in "Feature Requests", not here nor in a
version specific milestone;
-) New Ports: tickets requesting the introduction of a new port into
our tree, with an attached Portfile;
-) Port Bugs: tickets reporting/fixing a port specific build or
runtime failure;
-) Port Enhancements: tickets that simply enhance an already working
port in whatever way;
-) Port Requests: tickets kindly asking that someone embarks on the
task of writing a Portfile for the requested packages (that is, those
requests that aren't exactly "New Ports" because they don't come with
a Portfile attached);
-) Port Updates: tickets upgrading a port to a new version (a very
particular type of "port enhancement" that committers like to fine-
grain);
*) Version: fine as it is now, but maybe a good addition is
explaining that this field is irrelevant in some cases (like when
filing tickets for the guide), whereas it's crucial in some others (a
bug report against MacPorts sources);
*) Keywords: Advice everyone to put in here whatever they think
might help us find their tickets quicker (like the portname, "build
failure", "runtime failure", "misconfiguration", whatever);
*) Cc: fine as it is now, but lets get rid of the probably
unnecessary "(Trac is capable of sending such emails, but this is
currently disabled on the MacPorts server, and unfortunately we
neither maintain the server, nor have yet been able to persuade the
actual maintainers to change this.)" comment; as we say here in my
country, dirty clothes are washed indoors ;-). Lets just say "that
the server is not configured for that functionality at the moment"
and I'll work a fix for this with Kevin Van Vechten. This
misconfiguration is actually more something that has fallen through
the cracks as we've moved on than a reluctance to change on his side;
*) Attachments: just fine as it is now.
Wow, now that was large! It took me a while to put together all the
information and ideas I had in my head and write all that, so I hope
it makes sense. Feel free to poll me on anything that sounds like
crack smoking ;-)
I'd like to make it clear what most of what's written above is
either the existing implicit consensus and/or my very own ideas.
Anyone reading should feel free to contradict me or otherwise argue
with me for better guidelines. In any case, I believe it's most
important that we take this out of "implicit" land and make it as
explicit and available to users as possible. I also believe a higher
degree of formality for this type of documentation is in order,
therefore I think this is the perfect example of what should be moved
out of the Wiki and into the new guide.
So, I've already written enough and fear many gave up somewhere
along the way. Gonna hit send without any further ado and will carry
on in replies to questions if need be.
Regards,...
-jmpp
More information about the macports-dev
mailing list