[[TracNav(NuwaNav)]] [[PageOutline]] = !NuWa Trac = == Glossary == || ticket || defect OR enhancement request || || Trac Instance || installed Trac web application associated with an SVN repository || || workflow || a sequence of states thru which tickets pass || == Nuwa Trac Login and Preferences == Prior to login the top line tabs of Trac will be almost empty, only allowing access to the front page and links into other pages will result in error messages featuring '''404 not allowed'''. Access the full functionality using the '''Login''' link near the top right. To be informed of status changes to tickets your create or close or build/test failures associated with your commits you must associate an email address with your Trac account using the '''preferences''' link at the top right. = Tickets = == Should you create a new ticket ? == First search for a pre-existing ticket that matches your intended one, using the search box at top right of the dybsvn Trac instance. If you do not find a matching ticket click the '''New Ticket''' tab available at the top of every dybsvn Trac page. If in doubt create the ticket anyhow, if it is a duplicate it can easily be flagged as such. == Fields To Fill == || Short summary || provide the bottom line error in full ('''by copy and paste''') , searchability is more important than readability || || Type || defect/enhancement/task || || Full description || Mention the command you were running and any peculiarities of your installation, also mention your platform. Provide at least the last 10 lines or so of traceback up to and including the bottom line error. See below for details of creating good descriptions || || Priority || blocker/critical/major/minor/trivial || || Milestone || assign the ticket to a milestone (optional ... usually leave this to ''management'' ) || || Component || sub-component of the !NuWa software concerned. See below list of components || || Version || the version of the software in use (eg trunk ) || || Keywords || comma or space separated list of keywords eg Linux,Ubuntu,Zlib,Prerequisite, see below for Keyword guidelines || || Assign To || username of the person tasked to handle this issue (optional ... usually leave this to ''management'' ) || CC || (optional ... additional email address to be notified of status changes to this ticket ) || === Example Image of Ticket Creation === [[Image(CreateNewTicket.png, border=3)]] == Ticket Type == Provides categorization of the ticket: || Defect || a bug, anything that does not work as expected || || Enhancement || a new feature or an improvement over an existing one || || Task || everything else, something that needs to be done || == Priority Classification == Priority, for asserting the importance of a ticket || blocker || basic functionality is not available until this is fixed || || critical || severe loss of data due to the defect or highly needed enhancement || || major || defect with major impact / big enhancement || || minor || defect with minor impact / small enhancement || || trivial || defect with little or no impact / cosmetic enhancement || == !NuWa components == Initial thoughts on components, soon to be replaced. || documentation || /dybgaudi/trunk/Documentation || omissions, errors, etc.. || || installation || /installation/trunk || dybinst automated installation system and pre-requisites issues || || dybtest || /dybgaudi/trunk/DybTest || automated test running and presentation system, including nose, xmlnose and bitten-slave || || db || /db/trunk || || || generators || /dybgaudi/trunk/Generators || wrappers around the generators and the generators themselves || || gentools || /dybgaudi/trunk/Simulation/GenTools || common tools that stand between the generators and gaudi || || elecsim || /dybgaudi/trunk/Simulation/ElecSim || || || trigsim || /dybgaudi/trunk/Simulation/TrigSim || || || detsim || /dybgaudi/trunk/Simulation/DetSim || || || dybgaudi || /dybgaudi/trunk || dybgaudi not covered by above components || || python scripts || || gaudi python script issues || || other || || none of the above components seems appropriate || The components are comprised : * name ( free-form, but most are derived from repository paths ) * owner ( corresponding to the SVN username) These allow tickets to be classified according to a region of concern or of the repository. === automated component updates === To reduce the maintenance overhead of maintaining what is expected to be a long list of paths and owners, the directories to be promoted to components are identified by the setting of SVN '''owner''' properties on directories in the repository, eg {{{ cd dybgaudi/Simulation svn propset owner bv GenTools > property 'owner' set on 'GenTools' svn propget owner GenTools > bv svn ci -m "set properties for the autocomponent script " }}} The '''owner''' property is visbible in the web interface : * dybsvn:/dybgaudi/trunk/Simulation/GenTools For further details (only administrators need know more) see the script hosted at NTU : * env:/trunk/trac/autocomp == Writing a good description == Good descriptions for a problem report are the ones that make it easy for the developers to understand and/or reproduce the problem. To that end, it's usually necessary to give the following information: - ''How To Reproduce'': describe what you were doing when the problem happened such that someone following your instructions can reproduce the problem. The fewer the steps and shorter the time needed to reproduce the issue the more attention developers will give to finding a solution so attempt to isolate the issue if you can. - ''backtrace'': if you have one, append it at the end of the description, enclosed in a `{{{` ... `}}}` block, creating a code block. Note the description can use use the full range of Trac wikitext formatting and linking facilities. See the front page (http://dayabay.ihep.ac.cn/tracs/dybsvn) of the dybsvn Trac instance for examples of linking to revisions, docdb documents, wiki pages, other tickets etc.. == Good Keywords == Assigning appropriate keywords to your tickets will facilitate rapid finding of issues and finding related issues. To assign good keywords check the list of keywords (Tag Cloud) on the front page (http://dayabay.ihep.ac.cn/tracs/dybsvn) for '''tags''' or '''keywords''' that are appropriate to your issue and then re-use those with the same spelling and capitalization. Using multiple short keywords (delimited by spaces) is encouraged. When creating new keywords follow the capitalization conventions of the pre-existing keywords. = Trac Wiki Text basics = == Code blocks == Code blocks, useful for stack traces, are defined using three curly brackets : {{{ {{{ def HelloWorld(): print "Hello World" }}} }}} Display: {{{ def HelloWorld(): print "Hello World" }}} Details on wiki formatting * http://trac.edgewall.org/wiki/WikiFormatting == Diff blocks == Present a unified diff with the wikitext : {{{ {{{ #!diff Index: bitten/admin.py =================================================================== --- bitten/admin.py (revision 547) +++ bitten/admin.py (working copy) @@ -235,6 +235,22 @@ config.delete(db=db) db.commit() + + def _resolve_recipe(self, recipe_xml , authname ): }}} }}} == Linking using url prefixes == Wikitext like : {{{ docdb:101 }}} can be turned into a link by setting up URL prefixes by editing a wiki page, which associates docdb with the required URL. * dybsvn:wiki:InterMapTxt Links to other tickets can be made using hash followed by the ticket number, eg {{{ #1 }}} Details on linking * http://trac.edgewall.org/wiki/TracLinks = Ticket Workflow = From Trac 0.11 the states thru which tickets pass is configurable, depending on the ''workflow'' in use, the '''basic''' one is intended to be used. * http://trac.edgewall.org/wiki/TracWorkflow = Viewing Tickets = == Reports == Users with appropriate permissions can create named customized reports by tweaking an SQL statement * http://trac.edgewall.org/wiki/TracReports after which additional entries will appear in the '''Available Reports''' list obtained from the '''View Tickets''' link. Links to these reports can be made using wikitext, eg for report 6 {{{ {6} }}} This wikitext can be entered into the search box at top right to access the report. Note that milestone descriptions are in wikitext, hence can contain links to such customized reports. == Queries == An alternative to reports is to create a query interactively , by choosing '''Custom Query''' at the top right while viewing '''Available Reports'''. The queries can also be stored in wikitext form. * http://trac.edgewall.org/wiki/TracQuery