= Trac Project Ticket Triage = (document status: under development - please provide feedback to increase clarity and completeness) This page lists guidelines and conventions used within the Trac project for [http://en.wikipedia.org/wiki/Triage triage] of tickets. == Status and Resolution == * Don't close or reopen a ticket without a reason * `fixed` is used when the resolution of the ticket can be linked to some change in the repository, a code change, a primary documentation fix, a contribution script added, etc. Otherwise use: - `worksforme`: the problem reported was not really a problem; the requested feature is already implemented or can be obtained in a different way - `wontfix`: the problem reported is not really Trac's problem; the requested feature won't be implemented because we don't think it fits in the scope of the core of Trac. In some cases however (e.g. #2611), we let the issue open even if the cause of the issue is not directly Trac's fault, so that workarounds and user experience can be collected. - `invalid`: the ticket was a test ticket, intended for another Trac, etc. - `duplicate`: there's already another ticket about the same issue * If marking as `duplicate`, include referring ticket #s in both duplicate and duplicated tickets. - In duplicate ticket: ''This ticket is duplicate of #1234'' - In original request: ''#2345 has been marked as duplicate of this ticket'' - We usually let open the ticket which contains the most up-to-the-point discussion about the issue, the one which contains an appropriate patch, or other than that, the oldest ticket. == Milestone == * If resolution is `fixed`, the Milestone should be set, otherwise it should be blank. * Don't assign a milestone without a reason or patch. * Don't modify a milestone as ''anonymous'' and without a reason. * If adding an enhancement request ticket, don't set the milestone to a bugfix only release (e.g. 0.10.2). == Ticket Title == * [PATCH] prepended - if you are the original ticket creator, then adding `[PATCH]` to the ticket title indicates a patch attached to ticket for review and integration that works for you. == Ticket Type == When the ticket is neither about something that requires a modification to the documentation or the code, use the `task` type. (note: those ticket types need to be closed with a valid resolution, too. see #4212) == Keywords == The purpose of keywords is to be able to generate pertinent and focused [TracQuery TracQueries], so use them appropriately. - General indications - influencing the ticket workflow * [query:group=status&keywords~=needinfo needinfo] - waiting on information from the reporter * [query:group=status&keywords~=tobedeleted tobedeleted] - "noise" tickets that could eventually be safely deleted one day * [query:group=status&keywords~=helpwanted helpwanted] - tickets which are looking for contributors * [query:group=status&keywords~=review review] - peer review requested * [query:group=status&keywords~=documentation documentation] - things that need to be better documented * [query:group=status&keywords~=patch patch] - same as review keyword, but when a patch is created by a third party - Related to work done in branches * [query:group=status&keywords~=workflow workflow] - waiting for workflow branch merge (see WorkFlow) * [query:group=status&keywords~=permissions permissions] - waiting for permissions branch merge (see PermissionPolicy); * [query:group=status&keywords~=xref xref] - related to the TracCrossReferences ideas * [query:group=status&keywords~=tracobject tracobject] - related to the generalization of the Trac object/resource concept (see TracObjectModelProposal and TracDev/Proposals/DataModel) - Related to some technology/APIs used * [query:group=status&keywords~=datetime datetime] * [query:group=status&keywords~=unicode unicode] * [query:group=status&keywords~=genshi genshi] * [query:group=status&keywords~=wsgi wsgi] - wannabees components * [query:group=status&keywords~=attachment attachment] * [query:group=status&keywords~=authz authz] * [query:group=status&keywords~=config config] * [query:group=status&keywords~=custom custom] (a bit ambiguous, usually means ''custom fields'') * [query:group=status&keywords~=diff diff] * [query:group=status&keywords~=highlight highlight] - Syntax Highlighting * [query:group=status&keywords~=milestone milestone] * [query:group=status&keywords~=mimeview mimeview] * [query:group=status&keywords~=notification notification] - any issue related to email notifications * [query:group=status&keywords~=plugin plugin] * [query:group=status&keywords~=query query] * [query:group=status&keywords~=session session] - Related to backends and other 3rd party software - ["DatabaseBackend"]s * [query:group=status&keywords~=mysql mysql] * [query:group=status&keywords~=postgres postgresql] * [query:group=status&keywords~=sqlite pysqlite] - ["VersioningSystemBackend"]s * [query:group=status&keywords~=svn12 svn12x], [query:group=status&keywords~=svn13 svn13y], [query:group=status&keywords~=svn14 svn14z], ... Using a 3-digit number for svn enables us to make queries against major versions or specific versions, if needed. * [query:group=status&keywords~=svk svk] * [query:group=status&keywords~=mercurial mercurial] - Python, python modules, misc. * python21, python22, [query:group=status&keywords~=python25 python25] - compatibility issues * [query:group=status&keywords~=docutils docutils] * [query:group=status&keywords~=enscript enscript] * [query:group=status&keywords~=silvercity silvercity] - Platform specific issues * [query:group=status&keywords~=windows windows] - Windows specific issues * [query:group=status&keywords~=solaris solaris] - Solaris specific issues - Presentation issues * [query:group=status&keywords~=layout layout] * [query:group=status&keywords~=css css], [query:group=status&keywords~=javascript javascript], [query:group=status&keywords~=xhtml xhtml] * Browser specific: [query:group=status&keywords~=opera opera], [query:group=status&keywords~=iexplorer iexplorer], [query:group=status&keywords~=firefox firefox], [query:group=status&keywords~=safari safari] - Other kinds of grouping * [query:group=status&keywords~=crash crash] - There's a segmentation fault or other serious OS level error implied. * [query:group=status&keywords~=security security] - Security issues with Trac * [query:group=status&keywords~=weird weird] - Bugs from outer space ---- === Development Notes === (section contains notes subjecting the development of this document) ---- ilias@lazaridis.com: note to mgood: this is a draft document, under collaborative development. I've used the trac abilities to interlink to an directly related open ticket. Please do not remove those links, and if you do so, please add at least a "Comment about the change". note to main editor: * possibly the sections of the the document should be in the order on which a user hits on the fields (e.g. Ticket Type first). * the 'keywords' section should possibly moved out to a separate document ----