Copyright © 2003 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use, and software licensing rules apply.
This is the user and installation guide for the Extensible Issue Tracker (ExIT). ExIT is an XML-based issue tracking tool that has been designed to help Working Groups satisfy the requirements of the W3C Process.
This document is still a draft. In particular, the description of the logic and syntax of ExIT issue data is incomplete.
This authors welcome people to use this software. However, at this time, the authors make no commitment to maintain, develop, or provide support for this code.
This is the documentation of version 0.9 of ExIT. After the authors have broader user experience, we may advance to version 1.0 and publish a snapshot of the code elsewhere on the W3C site. Until then, we may make backwards incompatible changes.
Please send comments on this tool to the authors.
1 Introduction
2 System requirements
3 Quick start for setting up an issues list
4 Issue views
4.1 Summary view
4.1.1 Sorting and Filtering
4.1.2 Highlighting
4.1.2.1 Director view
4.1.2.2 Working Group view
4.2 Issue details
4.3 View by Reviewers
4.4 View Open Actions
4.5 View by what Topic the Issue Concerns
4.6 View Issue Changes
4.7 Graphical Views of Distributions
5 Creation and management of issue data
5.1 Schema validation
5.2 Using XInclude to store Issue Data in Multiple Files
5.3 Abbreviating issues date with references to email
archives
6 User extension through categories
7 ExIt Logic
7.1 Structure of issue data
7.2 Issue Logic
7.2.1 Issue Types
7.2.2 Transition History
7.3 Acknowledgment Logic
7.4 Action Logic
8 Using ExIT in Offline Mode
9 Future Work
10 Acknowledgments
ExIt reflects the experience of the authors and of several W3C Working Groups regarding issue tracking. ExIt features:
Requirements to view results:
The system is designed to work reasonably well even if support for these features is incomplete; however some of the highlighting and filtering capabilities may not be available.
To set up an ExIT issues list, follow these steps.
The issues.xml file in exit.zip is a generic issues file. You can create a personalized issues.xml using the online form for list creation. You can then start adding issues to your list with the online form for issue creation. This form will generate the xml that you can add to your issues list. Whenever you edit your issues list, type "make" and check in the results. See below for more information on creating issue data.
ExIT generates a number of useful views of issues and actions (see sample screenshots). Each view is URI-addressable.
The "home page" of the issues list (issues.html) displays a summary of all issues. This home page also provides access to the other views.
For each issue, the summary table displays by default:
By default, issues are listed in the table in the order they are listed in issues.xml. It is also possible to sort by issue state, type, and acknowledgment cycle by selecting the appropriate column title.
By default, all issues (rows) and all columns are displayed in the summary table. It is possible to filter out rows and columns in a variety of ways. For each of the following, to invoke the filter, select the appropriate check box and push the "Reformat" button.
ExIT is designed to highlight information (using colors and font styles) that is relevant in two situations:
Currently, three classes of information are highlighted: errors, warnings, and notes. The interpretation of these classes depends on the view. A highlight view in conjunction with "Show open issues only" work well together to provide a view of issues that required attention.
In the Director view:
In the Working Group view:
The "home page" of the issues list (issues.html) also shows the details of each issue (available by following the issue identifier link in the summary table). The details section is sorted according to the sort order chosen for the summary table.
The details of each issue include:
For more information on the meaning of issue transitions, acknowledgment cycle, and action history, see the section below on ExIT logic.
The reviewers view lists the groups and individuals who raised issues. An issue is associated with an individual only when the individual did not raise it on behalf of a group.
By the Candidate Recommendation transition on the Recommendation track, a Working Group is expected to be able to show the Director that the specification has received wide review. To help the Director determine at a glance that a specification has received wide review, check "Hide issue details" checkbox then push Reformat. The resulting view summarizes the names and number of reviewing groups and individuals. The default view ("Hide issue details" is not checked) lists the issues raised by each group and individual (with links back to the issue details).
Two views of open action items are available:
The first view is designed to help group participants track their open action items. The second view is designed to help a group close a particular issue.
This view lists all topics that are concerned by the issues. Each topic indicates which issue(s) refer to it. An issue may refer to more than one topic. Issues refer to topics by URI.
Because ExIT keeps a running history of message dates (for discussions, transitions, announcements, etc.), groups can view the state of the issues list between two arbitrary dates. The changes view is generated dynamically from an issue home page by entering at least the "start date" and optionally an interval "end date", and pushing the "Changes" button.
Absence of an "end date" means "from the start date onward." Both start and end dates are inclusive; an event is considered within the range if it occurs on or after the start date and prior to or on the end date.
Some uses of the changes view include:
ExIT issues are represented in XML according to the ExIT XML Schema. Later sections describe the shape of valid ExIT data and the corresponding semantics. This section focusses on the creation and storage of the XML.
Today, there are three ways to create issue data:
Once you have created or modified issues.xml you must regenerate files (e.g., using "make") for the various views described below.
To ensure that your issue data is valid, we encourage you to use the online XML Schema Validator. Each issue home page includes a link to the online Schema validator for the issue data of that list.
The default Makefile also allows you to type "make validate", which also calls the online validator.
ExIT supports XInclude and allows you (but does not require you) to create a single issues list from multiple source files. Your issues.xml file should include all of the metadata in the file header. In place of the <issue> element, refer to an external issue file with <xi:include href="myissue.xml"/>.
Some XSLT processors (including xsltproc) support XInclude natively. To use XSLT processor support, adjust your Makefile accordingly (e.g., see the "--xinclude" option for xsltproc).
If your XSLT processor does not support XInclude, you may use ExIT's implementation of XInclude (an XSLT transform). Here is an example of an xsltproc call that takes an issues.xml and expands the XInclude markup:
xsltproc $(EXITXSLPATH)xinclude.xsl issues.xml
where $(EXITXSLPATH)
represents the path to the ExIT
XSLT file xinclude.xsl. The result of this processing should be issues
data that conforms to the ExIT
XML Schema.
For a more complete example, see the xinclude example in the ExIT source.
ExIT includes a mechanism to take advantage of the XHTML structure W3C mailing list archives. The abbreviated syntax (which does not conform to the ExIT XML Schema) lets you:
For example, suppose that the "full form" of an issue in its initial state is:
<issue id="issue-1" type="proposal">
<title>
Section 4.1 should be deleted
</title>
<transitions>
<raised xlink:type="simple"
xlink:href="http://www.example.com/list/">
<date>2003-12-12</date>
<description>
<eg>
...description of issue here...
</eg>
</description>
<originator>
<loc xlink:type="simple"
xlink:href="mailto:joe@example.com">Joe Reviewer</loc>
</originator>
</raised>
</transitions>
</issue>
The most compact abbreviated form is:
<issue id="issue-1" type="proposal"
src="http://lists.w3.org/Archives/Public/...">
</issue>
The value of the "src" attribute is a URI that refers to an email in a mailing list archive. The following xlstproc call shows how one would expand an issues.xml file with data in this abbreviated form into a form conforming to the ExIT XML Schema:
xsltproc $(EXITXSLPATH)abbr2full.xsl issues.xml
The abbreviation mechanism allows you to extract the following information from an email automatically:
An email subject line may not make the best issue title, so ExIT lets you override the issue title locally as follows:
<issue id="issue-1" type="proposal"
src="http://lists.w3.org/Archives/Public/...">
<title>
This title overrides the email subject.
</title>
</issue>
Similarly, ExIT lets you to override the issue description locally as follows:
<issue id="issue-1" type="proposal"
src="http://lists.w3.org/Archives/Public/...">
<transitions>
<override>
<description>
This description overrides the email body.
</description>
</override>
</transitions>
</issue>
The title and description overrides may be used together. The abbreviated form is compatible with the remaining pieces of issue data (e.g., discussion, other transitions, actions, etc.).
Since this mechanism automatically retrieves data from the W3C mailing list when ExIT generates views, you may wish to use this mechanism in combination with the XInclude mechanism. This allows you to "expand" the abbreviated form once, then include the expanded form in issues.xml. The ExIT source includes an example issues file that includes individual issue files that themselves use the abbreviation mechanism. The associated Makefile illustrates how to expand individual issues into a file that can be included into an issues.xml file. The individual issues files are only expanded when the issue data is modified to avoid unnecessary requests to the mailing list server.
Note:
Today, this abbreviation mechanism is only available for public W3C mailing lists due to the implementation of ExIT.Users may wish to further categorize a set of issues. ExIT allows users to include arbitrary XML data within a <categories> element, which is an optional child of the <issue> element. By default, ExIT simply ignores this data. However, list owners may define three XSLT templates to change the default handling:
The easiest way to define these templates is as follows:
<xsl:include href='http://dev.w3.org/cvsweb/~checkout~/2002/issues/xsl/main.xsl?content-type=text/xsl'/>
The value of the "href" attribute refers to the main.xsl file of the current ExIT distribution.
See the example main.xsl file in the ExIT distribution that illustrates how the W3C TAG has used the category mechanism.
The ExIT XML Schema is the definitive source of information on issue data. A few notes:
The primary logical component of ExIt is the "issue". An issue consists of:
ExIt considers that an issue is "closed" when all of the following are true:
Otherwise an issue is open. Note that an issue may be "decided" without being "closed". This means that the Working Group has reached a decision, but has more to do: to complete actions or the acknowledgment cycle.
An issue has one of the following types:
The transition history of the issue refers to the states leading up to an eventual decision by the Working Group on the issue. The transitions are:
Each transition type requires that the user provide the date of the transition and a link to the message that caused the transition. In addition, these transition types require additional information:
An issue in the decided state has a "disposition" that represents the type of group decision.
Once an issue is in the decision state, the Working Group announces the decision to the reviewer and seeks acknowledgment from the reviewer that the reviewer is satisfied. This is called the acknowledgment cycle. The transitions of the acknowledgment cycle are:
If you have checked the ExIT source files out of the CVS archive, you may modify them and use the issues list in "offline mode". Change the value of the EXITXSLPATH variable in the Makefile to refer to your local installation. All links (to generated files, style sheets, and scripts) will point to your local installation files rather than those on the Web.
Functionalities that rely on the online XSLT processor (changes view) and the online Schema validator will not work in offline mode.