GiellaLT

GiellaLT provides an infrastructure for rule-based language technology aimed at minority and indigenous languages, and streamlines building anything from keyboards to speech technology.

View GiellaLT on GitHub

Page Content

Describing the project status

The project status and progress can easily be followed by maintaining the status.xml file, found at the project root, at the same location as forrest.properties. The purpose of this file is to communicate the technical progress and development of the project without forcing people to scrutinize our bug database. Also, it can be used to state progress, changes and whatever that is not related to the bug db at all.

Exactly what we put into the status file can vary, but the latest version of Forrest (0.7) has a mechanism to filter out entries with a certain property, such that one can get overview reports as well as detailed lists of bugs fixed.

If we look at how it is used in the Forrest project itself, each entry contains a very short description (typically one sentence) with reference to the bug report(s) it relates to. It is easy to automatically create links to the bug reports.

Format of the status.xml file

The status.xml file is heavily under-documented in Forrest, and the description below is based on what I have found in the XSL stylesheet processing status.xml, as well as the example status.xml found in $FORREST_HOME/plugins/org.apache.forrest.plugin.input.projectInfo/. The basic outline of the file is as follows:

<!DOCTYPE status PUBLIC "-//APACHE//DTD Status V1.3//EN" "status-v13.dtd">
<status>

  <!-- List developers here, the ID is used as reference further down -->
  <developers>
    <person name="Sjur N. M." email="xx(a)samediggi.no" id="SNM"/>
  </developers>

  <!-- List type of change here, the ID is used as reference further down -->
  <contexts>
   <context id="code" title="Changes to the Code Base"/>
   <context id="docs" title="Changes to Documentation"/>
  </contexts> 

  <changes>
    <!-- Add new releases here -->
    <release version="0.1" date="25 May 2005">
      <notes>
        <p>Notes pertaining to this release.</p>
      </notes>

      <action dev="SNM" type="fix" context="code"
       fixes-bug="85" due-to="Børre Gaup">
        Short description of what was fixed.
      </action>
      <!-- Add more actions here -->
    </release>
  </changes>

  <todo>
    <!-- 'actions' can have priorities 'high', 'medium' or 'low' -->
    <actions priority="high">
      <action context="code" dev="open">
        Short description of feature request here.
      </action>
    </actions>
  </todo>

</status>

Each of the main sections above will be described further below.

developers

The format is straight-forward. The ID is used further down in the listed actions, to identify the developer behind that action.

contexts

Each context defines a logical domain of work. The ID is used in the actions to classify each action with respect to the defined domains, and the title is used as section titles for each domain in the generated page. The contexts predefined by the project-info plugin are the following:

  <contexts>
   <context id="code"   title="Changes to the Code Base"/>
   <context id="docs"   title="Changes to Documentation"/>
   <context id="admin"  title="Changes to Project Administration"/>
   <context id="design" title="Changes to Design"/>
   <context id="build"  title="Changes to Build"/>
  </contexts> 

This is a reasonable set, but we are of course free to add, remove or redefine this list at will.

changes/release

All changes are found within the <changes> element, and further encapsulated in one or more <release> elements. The following attributes are available:

action

Within each release, action elements describe each change or action taken. The following attributes are available:

todo/actions

All todo items are found within the <todo> element, and further encapsulated in one or more <actions> elements. The following attributes are available:

action

Only the following attributes are available for <action> elements within the <todo> element: