= 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 ''(TODO: `win32` should be consolidated to `windows`)'' * [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] ''(TODO: a few `ie` keywords should be converted to `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 ''(TODO: `security` is also used instead of `permission`, but those should be consolidated to `permission`)'' * [query:group=status&keywords~=weird weird] - Bugs from outer space