Differences between revisions 29 and 30
Revision 29 as of 2008-04-16 09:59:44
Size: 16936
Editor: EldZierau
Comment:
Revision 30 as of 2008-08-22 11:37:37
Size: 13905
Editor: EldZierau
Comment:
Deletions are marked like this. Additions are marked like this.
Line 52: Line 52:
=== Hardware: [new, edit] (not for patches) ===
The hardware field is not used at the moment, and thus should never be set.

Default is '''''None'''''.

=== Product: [new, edit] (not for patches) ===
The product that the tracker concerns will at this point only be !NetarchiveSuite. Thus the information is at this point '''''not''''' a necessity, but it should be set to '''''!NetarchiveSuite'''''.

Default is '''''None'''''.

=== Operating System: [new, edit] (not for patches) ===
Since the !NetarchiveSuite is independent on the operating system, this is not information that is used. - Thus it is '''''not''''' a necessity, but it should be set to '''''All'''''.

Default is '''''None'''''.

=== Component: [new, edit] ===
=== Module: [new, edit] ===
Line 74: Line 59:
 * '''''None''''' [[BR]] if not set (which it must be)
 * '''''arcrepository''''' [[BR]] if it concerns the archive repository part of the Archive module
 * '''''bitarchive''''' [[BR]] if it concerns the bit archive part of the Archive module
 * '''''bitpreservation''''' [[BR]] if it concerns the bit preservation part of the Archive module
 * '''''common''''' [[BR]] if it concerns the Common module
 * '''''deploy''''' [[BR]] if it concerns the Deploy module
 * '''''documentation''''' [[BR]] if it concerns the documentation
 * '''''general''''' [[BR]] if it concerns general issues in the source or set-up
 * '''''harvester''''' [[BR]] if it concerns the part of the Harvester module that do the actual harvesting
 * '''''harvestdefinitions''''' [[BR]] if it concerns the part of the Harvester module where harvest definitions are specified
 * '''''indexserver''''' [[BR]] if it concerns the index server part of the Archive module
 * '''''logicalpreservation''''' [[BR]] if it concerns the logical preservation part of the Archive module
 * '''''monitor''''' [[BR]] if it concerns monitoring '''''[TODO: must be better described]'''''
 * '''''releasetest''''' [[BR]] if it concerns the test description or the test set-up
 * '''''scripts''''' [[BR]] if it concerns scripts for e.g. setting changes, database or simple harvest
 * '''''tools''''' [[BR]] if it concerns request for e.g. additionally tools that can assist in use of !NetarchiveSuite '''''[TODO: must be better described]'''''
 * '''''viewerproxy''''' [[BR]] if it concerns the !NetarchiveSuite viewerproxy (access) module
 * '''''external software''' (only for bugs)'' [[BR]] if it concerns external software (e.g. Heritrix) '''''[TODO: explain why only for bugs]'''''
 * '''''None''''' [[BR]] if not set (which it must be before it is assigned to a person)
 * '''''Access''''' [[BR]] if it concerns the Access (viewerproxy) module
 * '''''Archive''''' [[BR]] if it concerns the Archive module
 * '''''Common''''' [[BR]] if it concerns the Common module
 * '''''Deploy''''' [[BR]] if it concerns the Deploy module
 * '''''Documentation''''' [[BR]] if it concerns the documentation related to !NetarchiveSuite
 * '''''Harvester''''' [[BR]] if it concerns the Harvester module
 * '''''Monitor''''' [[BR]] if it concerns monitoring '''''[TODO: must be better described]'''''
 * '''''Test '''''[[BR]] if it concerns the test of !NetarchiveSuite
Line 100: Line 75:
=== Severity: [new, edit] (not for patches) ===
The severity is '''''only set when''''' the information is available. It may be at registration or it may be set later.
=== Status: [new, edit] ===
The status tells where the tracker is in the resolution process. The process allways starts by an open tracker and ends with a closed tracker.
Line 103: Line 78:
Default is '''''None'''''.

Must be set when information is available.

 * '''''None''''' [[BR]] if not set
 * '''''blocker''''' [[BR]] if the tracker blocks other developments
 * '''''critical''''' [[BR]] if the tracker is critical for the end-user
 * '''''major''''' [[BR]] if the tracker is a major problem for one or more parties
 * '''''normal''''' [[BR]] if it is a normal tracker where work-arounds can be made
 * '''''minor''''' [[BR]] if it is a minor tracker with only little implications
 * '''''trivial''''' [[BR]] if it is trivial to solve the tracker
 * '''''enhancement''' (only for bugs)'' [[BR]] indicates that the data type of the bug must be changed to a feature request.
=== Target Milestone: [new, edit] (not for patches) ===
The target milestone s not used at the moment, and thus should never be set.

Default is '''''None'''''.

=== Resolution: [new, edit] ===
The resolution field has different value sets for patches versus bugs and feature requests. The reason is that the patches includes code that fixes the problem, and thus the resolution concerns the patch itself rather than the problem which is the focus for a bug or a feature request. The resolution field '''''must''''' be set during the process of treating the tracker.
The status field has different value sets for patches versus bugs and feature requests. The reason is that the patches includes code that fixes the problem, and thus the resolution concerns the patch itself rather than the problem which is the focus for a bug or a feature request. The resolution field '''''must''''' be set during the process of treating the tracker.
Line 127: Line 84:
 * '''''None''''' [[BR]] if not set
 * '''''Fixed''''' [[BR]] if the tracker is fixed with source checked into GForge. Note that this must be accompanied with update of the 'Status' field to 'Resolved'
 * '''''New''''' [[BR]] if not set
 * '''''Need Info''''' [[BR]] The tracker needs additional informaiton before the real problem can be identified.
 * '''''Evaluated ''''' [[BR]] The tracker needs additional informaiton before the real problem can be identified.
 * '''''In progress''''' [[BR]] if the tracker is not valid as a bug or feature request, e.g. if it was caused by wrong use of the system
 *
 '''''Fixed''''' [[BR]] if the tracker is fixed with source checked into GForge. Note that this must be accompanied with update of the 'Status' field to 'Resolved'

 * '''''Fixed, Passed QA''''' [[BR]] if the tracker is fixed with source checked into GForge. Note that this must be accompanied with update of the 'Status' field to 'Resolved
 * '''''Fixed, Released''''' [[BR]] if the tracker is fixed with source checked into GForge. Note that this must be accompanied with update of the 'Status' field to 'Resolved
 * '''''Duplicate''''' [[BR]] if the tracker was already registered and therefore are duplicate of another tracker
Line 130: Line 95:
 * '''''Not a bug''''' [[BR]] if the behavior described is the intended behavior of the system '''''[TODO: describe more clearly the difference between this and Invalid]'''''
 * '''''Duplicate''''' [[BR]] if the tracker was already registered and therefore are duplicate of another tracker
 * '''''Won’t fix''''' [[BR]] if it is decided not to fix the tracker ever
 * '''''No change''' (only for bugs)'' [[BR]] '''''[TODO: describe including explanation of why only bugs has this value possible]'''''
 
 * '''''Won’t fix''''' [[BR]] if it is decided not to fix the tracker ever, for instance if the behavior described is the intended behavior of the system
Line 136: Line 97:
Line 147: Line 109:
The status tells where the tracker is in the resolution process. The process allways starts by an open tracker and ends with a closed tracker.

Default is '''''Open'''''.

 * '''''Open''''' [[BR]] The tracker is still open
 * '''''Closed''''' [[BR]] The tracker is closed and no further action will be made. Only QA can close a tracker
 * '''''Resolved''''' (not for patches) [[BR]] The tracker is resolved, but is still not approved by the QA. Note that this must be accopanied with update of the 'Resolved' field to 'Fixed'.
 * '''''Assigned''''' (not for patches) [[BR]] '''''[TODO: explain what this means, only three bugs have this status]'''''
 * '''''Need Info''''' (not for patches) [[BR]] The tracker needs additional informaiton before the real problem can be identified.
Line 166: Line 118:
 
Line 168: Line 119:
The person the tracker is assigned to. That means it is this person that will be responsible for next action on the tracker (except from points where QA needs to take action).
A tracker can be assigned to a person either via the component specification which each has a responsible person for the component. Or it can be assigned by the person themselfes, in case they want to take it, or it can be reassigned by the allready assigned person or QA.
The person the tracker is assigned to. That means it is this person that will be responsible for next action on the tracker (except from points where QA needs to take action).  A tracker can be assigned to a person either via the component specification which each has a responsible person for the component. Or it can be assigned by the person themselfes, in case they want to take it, or it can be reassigned by the allready assigned person or QA.
Line 175: Line 125:
Line 184: Line 133:
Line 185: Line 135:
 * '''''2''''' thrackers with this priority will most likely be feature requests   * '''''2''''' thrackers with this priority will most likely be feature requests
Line 189: Line 139:
Line 196: Line 145:
The detailed description adds information as basis for planning and doing resolution of the tracker.
This information '''must '''be provided as detailed as possible at the time of registering the tracker.
Furthermore it is used to add information at later stages. Additional comments must be entered via the 'OR Attach A Comment' field and they will then appear in the 'Followup' field.
The detailed description adds information as basis for planning and doing resolution of the tracker.  This information '''must '''be provided as detailed as possible at the time of registering the tracker.  Furthermore it is used to add information at later stages. Additional comments must be entered via the 'OR Attach A Comment' field and they will then appear in the 'Followup' field.
Line 205: Line 152:
Line 212: Line 158:
 * '''''Unit test''''' [[BR]] if found in unit test made on involved code    * '''''Unit test''''' [[BR]] if found in unit test made on involved code
Line 215: Line 161:
 * '''''Production''''' [[BR]] if found in running production code
'''''[TODO: Add Sanity test in GForge and here, and maybe make specification of which production code we refer to (Danish, Scottish ...)]'''''
 * '''''Production''''' [[BR]] if found in running production code '''''[TODO: Add Sanity test in GForge and here, and maybe make specification of which production code we refer to (Danish, Scottish ...)]'''''
Line 221: Line 165:
 * '''''Unit test''''' [[BR]] if it should have been found in unit test made on involved code  
 * '''''Code review''''' [[BR]] if it should have been found in code review of the involved code  
 * '''''Unit test''''' [[BR]] if it should have been found in unit test made on involved code
 * '''''Code review''''' [[BR]] if it should have been found in code review of the involved code

title(Bug/Feature Request/Patch Information Guideline)

TableOfContents

Introduction

The NetarchiveSuite bug/feature-request registration is done by trackers in GForge (https://gforge.statsbiblioteket.dk/tracker/?group_id=7)

In the next section all headers that can appear in a bug/feature-request/patch (from here called tracker) is listed and explained.

In each header, it is indicated whether it can be set when a new tracker is created (by [new]) and whether it is editable when information is changed (by [edit]). No indication means that it is information calculated by GForge.

For each header the following information is given, if relevant:

  • explanation
  • default value
  • values it should be set to
  • possible values with explanation
  • time when information should be updated

There are some differences between order of fields to be set for bugs, feature requests and patches respectively. Furthermore it may be that some of the fields are not included in all trackers. In the following these will be marked as: Values are marked with

  • (not for bugs) if the field is not included in bug trackers

  • (not for feature requests) if the field is not included in feature request trackers

  • (not for patches) if the field is not included in patch trackers

Nothing is indicated the field in included for all trackers.

There are also differences in possible values in drop downs for the different trackers. Values are marked with

  • (bugs only) if it only concerns bug trackers

  • (feature requests only) if it only concerns feature request trackers

  • (patches only) if it only concerns patch trackers

Nothing is indicated if the values are possible for all trackers.

Bug/Feature Request/Patch Information

For project:

The project field in this context is automatically set to NetarchiveSuite.

Submitted By:

The initials of the person which the tracker is submitted by are automatically set.

Date Submitted:

The date when the tracker was submitted is automatically set and given on form YYYY-MM-DD HH:MM.

Data Type: [edit]

The data type tells whether it is a bug, a feature request or a patch. For new bugs/feature-requests/patches, it is automatically set to the selected tracker

  • Bugs for bugs

  • Feature Requests for feature requests

  • Patches for patches with code sent NetarchiveSuite for inclusion

NOTE: if the data type is changed, there may be some of the values that are not transferred to the new tracker type. These values need to be set again.

Module: [new, edit]

This component field must be set in order to have the tracker directed to the correct tracker owner.

Default is None.

Must always be set to one of the following values for NetarchiveSuite

  • None BR if not set (which it must be before it is assigned to a person)

  • Access BR if it concerns the Access (viewerproxy) module

  • Archive BR if it concerns the Archive module

  • Common BR if it concerns the Common module

  • Deploy BR if it concerns the Deploy module

  • Documentation BR if it concerns the documentation related to NetarchiveSuite

  • Harvester BR if it concerns the Harvester module

  • Monitor BR if it concerns monitoring [TODO: must be better described]

  • Test BR if it concerns the test of NetarchiveSuite

Version: [new, edit]

The version field is only used, when it is critical in order to understand the tracker or reproduce a bug. Version of code that the tracker relates to. This means that it must for patches, since these will include code that need to be compatible with the rest of the code.

Default is None.

[TODO: We need to find out whether this field should be used more extensively, and what the rules then are for trackers found at reviews, in test, in production, in Scotland or somewhere else]

Status: [new, edit]

The status tells where the tracker is in the resolution process. The process allways starts by an open tracker and ends with a closed tracker.

The status field has different value sets for patches versus bugs and feature requests. The reason is that the patches includes code that fixes the problem, and thus the resolution concerns the patch itself rather than the problem which is the focus for a bug or a feature request. The resolution field must be set during the process of treating the tracker.

Default is None.

Resolution values for bugs and feature requests which must be set during process of treating the tracker

  • New BR if not set

  • Need Info BR The tracker needs additional informaiton before the real problem can be identified.

  • Evaluated BR The tracker needs additional informaiton before the real problem can be identified.

  • In progress BR if the tracker is not valid as a bug or feature request, e.g. if it was caused by wrong use of the system

  • Fixed BR if the tracker is fixed with source checked into GForge. Note that this must be accompanied with update of the 'Status' field to 'Resolved'

  • Fixed, Passed QA BR if the tracker is fixed with source checked into GForge. Note that this must be accompanied with update of the 'Status' field to 'Resolved

  • Fixed, Released BR if the tracker is fixed with source checked into GForge. Note that this must be accompanied with update of the 'Status' field to 'Resolved

  • Duplicate BR if the tracker was already registered and therefore are duplicate of another tracker

  • Invalid BR if the tracker is not valid as a bug or feature request, e.g. if it was caused by wrong use of the system

  • Won’t fix BR if it is decided not to fix the tracker ever, for instance if the behavior described is the intended behavior of the system

Resolution values for patches which must be set during process of treating the patch

  • None BR if not set

  • Accepted BR if the patch is accepted for inclusion in the NetarchiveSuite source

  • Rejected BR if the patch is rejected, and therefore will stay out of the NetarchiveSuite source

  • Out of date BR if the patch has already been solved by other corrections

  • Awaiting response BR if there are missing decision of accept or rejection and answer to contributor

[TODO: Find out whether we need one saying 'Incorporated' indicating that the code is not only accepted but also included in next release]

Duplicate Of: [new, edit] (not for patches)

If the tracker is a duplicate then the <number> of the tracker that it is a duplicate of is written here.

Status: [new, edit]

Keywords: [new, edit] (not for patches)

  • None BR if not set

  • ASSIGNMENT BR if an assignment has to be made on the tracker before further progress can be initiated

  • ESTIMATED BR if the tracker is estimated as preparation for prioritisation of when the tracker can be resolved. Note that if this keyword is highlighted, the estimate needs to be noted in the 'Detailed description' field or in the 'Followup' field (via 'OR Attach A Comment')

  • MISSING_REVIEW BR if the tracker is resolved, but the resolution of the tracker is still not reviewed

  • MISSING_UNITTEST BR if the tracker is resolved, but there have not been made unit-tests for the resolution of the tracker

  • PLIGT BR if the tracker has special interest of being resolved by the Danish NetarchiveSuite users

  • PRIO_LIST BR if the tracker is subject of being put in to the top priority list of trackers to be solved in the next iterations

  • TRIVIAL BR if the tracker is trivial to resolve and thus could be taken in short breaks from other tasks

Assigned To: [new, edit]

The person the tracker is assigned to. That means it is this person that will be responsible for next action on the tracker (except from points where QA needs to take action). A tracker can be assigned to a person either via the component specification which each has a responsible person for the component. Or it can be assigned by the person themselfes, in case they want to take it, or it can be reassigned by the allready assigned person or QA.

Default is Nobody.

  • Nobody in case the bug/enhancement is not assign to anybody

  • The <name> of the person that the bug/enhancement is assign to

[TODO: There appers a value 'No Change on trackers that has Lars Clausen on as the assigned person. Either this value should be explained or the trackers needs reassignment]

Priority: [new, edit]

The priority can only be changed by QA in cooperation with the daily production manager. The priority is basis for planning resolution order of tracker and which procedures can be used in order to have fixes quickly patched into the production environment.

Default is 3.

Normally it will only be the administrator (QA) that changes the priority to one of the following values:

  • 1 the lowest priority a tracker can have, the tracker will most likely be feature requests and has little change of becomming resolved unlees they are trivial to solve

  • 2 thrackers with this priority will most likely be feature requests

  • 3 the middle priority is the default priority

  • 4 Trackers with this priority will in most cases be fixed within the next iteration

  • 5 the highest priority a trackers can have, - these trackers are the only trackers that can initiate production patches, and fixes under release test.

[TODO: make more clear descriptions, if possible]

Summary: [new, edit]

The summary consists of a short description of the tracker. The summary is used when an overview of tracker is made. This information must be provided when the tracker is registered.

Detailed description: [new, edit]

The detailed description adds information as basis for planning and doing resolution of the tracker. This information must be provided as detailed as possible at the time of registering the tracker. Furthermore it is used to add information at later stages. Additional comments must be entered via the 'OR Attach A Comment' field and they will then appear in the 'Followup' field.

The detailed description must include

  • a detailed description of what the tracker is about
  • possible resolutions if known
  • estimated time for fixing in case the Keywords field includes setting of the ESTIMATED keyword.

URL: [new, edit] (not for patches)

The URL field is optional. It can be used to specify an URL of interest for the tracker, but in most cases this information will be in the 'Detailed Description' or 'Followup' of the tracker.

Found In: [new, edit] (only for bugs)

This field is used to register where the bug was found. The information is used for registration of statistics of bugs, which can assist in adjusting procedures for bug fixing. For instance if a bug is found in production, but obviously should have been found in a code review, this would be an indication that there should be more focus on code reviews.

  • Unit test BR if found in unit test made on involved code

  • Code review BR if found in code review of the involved code

  • Release test BR if found in release test of the involved code

  • Production BR if found in running production code [TODO: Add Sanity test in GForge and here, and maybe make specification of which production code we refer to (Danish, Scottish ...)]

Should Have Been Found In: [new, edit] (only for bugs)

This field is used to register where the bug should have been found. The information is used for registration of statistics of bugs, which can assist in adjusting procedures for bug fixing. For instance if a bug is found in production, but obviously should have been found in a code review, this would be an indication that there should be more focus on code reviews.

  • Unit test BR if it should have been found in unit test made on involved code

  • Code review BR if it should have been found in code review of the involved code

  • Release test BR if it should have been found in release test of the involved code

  • Production BR if it should have been found in running production code

  • Sanity test BR if it should have been found in sanity made by developer before code review

Use Canned Response: [edit]

This field is not used at the moment, and thus should never be set.

OR Attach A Comment: [edit]

This field is used to enter additional comments to the 'Detailed description' field.

Followup:

List of additional comments to 'Detailed description' of the tracker. See also explanation of the 'Detailed Description' field.

Attach Files: [new, edit]

This field offers functionality to add attached files to the list of files under the 'Existing Files' field.

Existing Files:

List of files already attached to the tracker.

Change Log:

Log of changes already made to the tracker.

BugInfGuide (last edited 2010-08-16 10:24:33 by localhost)