You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by th...@apache.org on 2006/07/25 11:07:46 UTC
svn commit: r425340 [10/10] - in
/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo:
./ docs/ docs/developer/ docs/developer/useCases/ docs/user/
docs/user/useCases/ images/ projectDetails/ projectDetails/category/ skin/
...
Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/svn-log/log.svn.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/todo.html
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/todo.html?rev=425340&r1=425339&r2=425340&view=diff
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/todo.html (original)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/todo.html Tue Jul 25 02:07:44 2006
@@ -3,9 +3,9 @@
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8-dev">
+<meta name="Forrest-version" content="0.8">
<meta name="Forrest-skin-name" content="pelt">
-<title>Todo List (v0.8)</title>
+<title>Todo List</title>
<link type="text/css" href="skin/basic.css" rel="stylesheet">
<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
@@ -38,25 +38,13 @@
<!--+
|start Project Logo
+-->
-<div class="projectlogo">
-<a href=""><img class="logoImage" alt="Plugin: Project Info input" src="images/project.png" title="org.apache.forrest.plugin.input.projectInfo plugin for Apache Forrest"></a>
+<div class="projectlogoA1">
+<a href=""><img class="logoImage" alt="Plugin: projectInfo input" src="images/project.png" title="org.apache.forrest.plugin.input.projectInfo plugin for Apache Forrest"></a>
</div>
<!--+
|end Project Logo
+-->
<!--+
- |start Search
- +-->
-<div class="searchbox">
-<form action="http://www.google.com/search" method="get" class="roundtopsmall">
-<input value="mydomain" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">
- <input name="Search" value="Search" type="submit">
-</form>
-</div>
-<!--+
- |end search
- +-->
-<!--+
|start Tabs
+-->
<ul id="tabs">
@@ -123,12 +111,39 @@
<a href="http://forrest.apache.org/docs/plugins" title="Index of Forrest Plugins">Plugins Index</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Projects</div>
+<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
<div id="menu_1.2" class="menuitemgroup">
-<div onclick="SwitchMenu('menu_1.2.1', 'skin/')" id="menu_1.2.1Title" class="menutitle">Navigation Indexes</div>
+<div onclick="SwitchMenu('menu_1.2.1', 'skin/')" id="menu_1.2.1Title" class="menutitle">User</div>
<div id="menu_1.2.1" class="menuitemgroup">
-<div onclick="SwitchMenu('menu_1.2.1.1', 'skin/')" id="menu_1.2.1.1Title" class="menutitle">All</div>
-<div id="menu_1.2.1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="docs/user/useCases/changeLogFeatures.html">Change Log</a>
+</div>
+<div class="menuitem">
+<a href="docs/user/useCases/useCaseFeatures.html">Use Cases</a>
+</div>
+<div class="menuitem">
+<a href="docs/user/useCases/all.html">All Cases</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.2', 'skin/')" id="menu_1.2.2Title" class="menutitle">Developer</div>
+<div id="menu_1.2.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="docs/developer/useCases/changeLogFeatures.html">Change Log</a>
+</div>
+<div class="menuitem">
+<a href="docs/developer/useCases/useCaseFeatures.html">Use Cases</a>
+</div>
+<div class="menuitem">
+<a href="docs/developer/useCases/all.html">All Cases</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Projects</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.1', 'skin/')" id="menu_1.3.1Title" class="menutitle">Navigation Indexes</div>
+<div id="menu_1.3.1" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.1.1', 'skin/')" id="menu_1.3.1.1Title" class="menutitle">All</div>
+<div id="menu_1.3.1.1" class="menuitemgroup">
<div class="menuitem">
<a href="projectDetails/projectDetails.html" title="Project details for projectInfo">projectInfo</a>
</div>
@@ -136,14 +151,14 @@
<a href="projectDetails/projectDetails.forrest.html" title="Project details for Apache Forrest">Apache Forrest</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.2.1.2', 'skin/')" id="menu_1.2.1.2Title" class="menutitle">Java</div>
-<div id="menu_1.2.1.2" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.1.2', 'skin/')" id="menu_1.3.1.2Title" class="menutitle">Java</div>
+<div id="menu_1.3.1.2" class="menuitemgroup">
<div class="menuitem">
<a href="projectDetails/projectDetails.forrest.html" title="Project details for Apache Forrest">Apache Forrest</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.2.1.3', 'skin/')" id="menu_1.2.1.3Title" class="menutitle">Language Indexes</div>
-<div id="menu_1.2.1.3" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.1.3', 'skin/')" id="menu_1.3.1.3Title" class="menutitle">Language Indexes</div>
+<div id="menu_1.3.1.3" class="menuitemgroup">
<div class="menuitem">
<a href="projectDetails/Java_lang.html" title="All projects using Java">Java</a>
</div>
@@ -155,8 +170,8 @@
</div>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.2.2', 'skin/')" id="menu_1.2.2Title" class="menutitle">Page Indexes</div>
-<div id="menu_1.2.2" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.2', 'skin/')" id="menu_1.3.2Title" class="menutitle">Page Indexes</div>
+<div id="menu_1.3.2" class="menuitemgroup">
<div class="menuitem">
<a href="projectDetails/lang-index.html" title="A list of all projects, indexed by language">Index by Language</a>
</div>
@@ -168,10 +183,7 @@
</div>
</div>
</div>
-<div id="credit">
-<hr>
- This is documentation for current version v0.8
- (<a href="http://forrest.apache.org/versions/index.html">More</a>)</div>
+<div id="credit"></div>
<div id="roundbottom">
<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
<!--+
@@ -186,10 +198,6 @@
|start content
+-->
<div id="content">
-<div title="Portable Document Format" class="pdflink">
-<a class="dida" href="todo.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
- PDF</a>
-</div>
<div class="trail">Font size:
<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">
<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
@@ -282,7 +290,7 @@
</div>
<div class="copyright">
Copyright ©
- 2004-2005 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+ 2004-2006 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
<!--+
|end bottomstrip
Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/changeLogFeatures.xml
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/changeLogFeatures.xml?rev=425340&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/changeLogFeatures.xml (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/changeLogFeatures.xml Tue Jul 25 02:07:44 2006
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<useCases>
+ <title>Uses Cases for Change Log management features of org.apache.forrest.plugin.input.projectInfo</title>
+
+ <useCase>
+ <title>Write status.xml File</title>
+ <description>
+ <p>Status.xml if an XML file that records the actions that have been taken in each release
+ of a project. You can then generate a Change Log from that file using the projectInfo
+ plugin.</p>
+
+ <section>
+ <title>Justification</title>
+
+ <p>Provide a central location and a semi-structured format for recording
+ actions taken during project development. This file can then be used to
+ generate various views on the changes in a release. For example:</p>
+
+ <ul>
+ <li>Changes between releases</li>
+ <li>Developers involved in a release</li>
+ <li>Release notes</li>
+ </ul>
+ </section>
+
+ </description>
+
+ <steps>
+ <step>
+ <title>Create/open a status.xml file</title>
+ <description>
+ <p>In your favourite XML editor either create a new file
+ or open an existing status.xml file. The default location of these files
+ within a Forrest content object is in the project root. This file should
+ conform to one of the status.xml schemas. The root element for this
+ document is <code>status</code>.</p>
+ </description>
+ <result>You have either a blank status.xml document or an existing one ready for editing.</result>
+ </step>
+
+ <step>
+ <title>Create a developer list</title>
+ <description>
+ <p>In order to attribute changes to a specific developer it is neceessary to create
+ a <code>developers</code> element. Within this element you should add a single
+ <code>person</code> element for each develop who works on the project.</p>
+ </description>
+ <result>Each developer is identified in the status.xml file.</result>
+ </step>
+
+
+ <step>
+ <title>Create a contexts list</title>
+ <description>
+ <p>Each action within a release is given a context to help classify changes.
+ When reports are created the context of an action is used to create a more
+ readable report in which similar actions are grouped together. You can
+ specify any contexts you like within the <code>contexts</code> element.</p>
+ <p>Common contexts used in an software development project are:</p>
+ <source><![CDATA[
+<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>
+ ]]></source>
+ </description>
+ <result>The status.xml file describes the sufficient contexts to group common
+ actions together.</result>
+ </step>
+
+ <step>
+ <title>Create a changes element</title>
+ <description>
+ <p>Actions that describe the changed in a release are placed within
+ a <code>changes</code>.</p>
+ </description>
+ <result>Status.xml holds an changes element that will group all release
+ information.</result>
+ </step>
+
+ <step>
+ <title>Create a release element</title>
+ <description>
+ <p>The details of each release are enclosed within a <code>release</code> element,
+ so you need to create that now.</p>
+ </description>
+
+ <result>You have the container for your current development release.</result>
+ </step>
+
+ <step>
+ <title>Create a notes element</title>
+ <description>
+ <p>Each release can have a <code>notes</code> section. This is used
+ to provide descriptive text at the start of many reports. The notes
+ should describe the release in fairly high level detail, it should
+ not describe any change descriptions, these will be added in the
+ next step.</p>
+ </description>
+
+ <result>You have a user focussed description of the project and this release.</result>
+ </step>
+
+ <step>
+ <title>Add actions taken during the development cycle</title>
+ <description>
+ <p>During the development cycle for the release <code>action</code> elements
+ should be added for each significant contribution to the release.</p>
+
+ <p>If the change is of particular significance and you woul dlike it to appear
+ in the release notes generated by the projectInfo plugin you should set the
+ <code>importance</code> attribute to <code>"high"</code>.</p>
+ </description>
+
+ <result>Each significant change in this development cycle is describe in a
+ <code>action</code> element.</result>
+ </step>
+
+ <step>
+ <title>Generate the change log</title>
+ <description>
+ <p>To generate a changelog from your status.xml file you need to request
+ <code>/changes.html</code> or <code>changes.pdf</code> or whatever format
+ you have enabled within Forrest using output plugins.</p>
+
+ <p>Note that the projectInfo plugin provides a special RSS output format
+ of. Technically, this should not be part of an input plugin and therefore
+ it may be moved at a later date. However, you will always be able to
+ generate the RSS feed by requesting <code>changes.rss</code>.</p>
+
+ <p>You can generate a change log for a specific version by specifying a
+ version number in the request, for example, <code>changes_0.1.html</code>.</p>
+ </description>
+
+ <result>Your project is able to generate a changelog.</result>
+ </step>
+ </steps>
+ </useCase>
+</useCases>
Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/changeLogFeatures.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/useCaseFeatures.xml
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/useCaseFeatures.xml?rev=425340&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/useCaseFeatures.xml (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/useCaseFeatures.xml Tue Jul 25 02:07:44 2006
@@ -0,0 +1,376 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<useCases>
+ <title>Uses Cases for the Use Case management features of org.apache.forrest.plugin.input.projectInfo</title>
+
+ <useCase>
+ <title>Write Use Case Documentation</title>
+ <description>
+ <p>Write semi-structured use case documents so that they can be reused in a variety of ways.
+ This use case describews a process for writing such documents. This document is derived from
+ such a <a href="useCaseFeatures.source.xml">source document</a>.</p>
+
+ <section>
+ <title>Justification</title>
+
+ <p>A use case describes a unit of work. It is typically used in the design
+ stages of a software project. It is very useful for describing what an applicaiton must
+ do and what patchs through the system can be taken.</p>
+
+ <p>By bringing this information together in a semi-structured document we can use it in many
+ different ways. For example:</p>
+
+ <ul>
+ <li>Requirements Documentation</li>
+ <li>Developer Documentation</li>
+ <li>User Documentaiton</li>
+ <li>Functionality Matrices</li>
+ <li>Task Lists</li>
+ </ul>
+ </section>
+
+ </description>
+
+ <steps>
+ <step>
+ <title>Create/open a Use Case file</title>
+ <description>In your favourite XML editor either create a new file
+ or open an existing use case file. The default location of these files
+ within a Forrest content object is <code>/content/documentation/useCases/**.xml</code>
+ </description>
+ <result>You have either a blank use case document or an existing one ready for editing.</result>
+
+ <fixme priority="Medium">Create a DTD for use case descriptions.</fixme>
+ <fixme priority="High">Aggregate all documents in the useCases directory to provide
+ ne large document describing all use cases.</fixme>
+ </step>
+
+ <step>
+ <title>Create a new use case</title>
+ <description>
+ <p>A use case is enclosed within a <code>useCase</code> element.
+ Each use case should be given a brief <code>title</code> to describe it.</p>
+
+ </description>
+
+ <result>You have the container for your new use case.</result>
+ </step>
+
+ <step>
+ <title>Describe the overall objective of the use case</title>
+ <description>
+ <p>Each use case should be described in terms of:</p>
+ <ul>
+ <li>The objective</li>
+ <li>The expected results</li>
+ <li>The justification</li>
+ </ul>
+ <p>This information should be placed in the <code>description</code> element
+ of your use case. This node allows any XDoc markup and therefore you are
+ reasonably free to use whatever formatting or images are needed to convey the
+ important details most efficiently.</p>
+ </description>
+
+ <result>You have a use case that is described sufficiently well for an average user of the end system
+ to understand its purpose.</result>
+ </step>
+
+ <step>
+ <title>Define each step in the Use Case</title>
+ <description>
+ <p>Each use case will be subdivided into one or more steps that must be carried out
+ in order to complete the task. Each of these steps is defined within a <code>step</code>
+ element which are chilren of a <code>steps</code> element.</p>
+ </description>
+ </step>
+
+ <step>
+ <title>Descripbe the step</title>
+ <description>
+ <p>Each step has a title and a description. The description should provide enough information
+ for a user to complete the task and for a developer to implement support for the user in that
+ task.</p>
+
+ <p>In addition each step can be described as required or optional. By default a step is assumed
+ be required. To set it to optional add a <code>required="false"</code> attribute to the
+ <code>step</code> element.</p>
+ </description>
+
+ <result>A user will be able to follow instructions on how to carry out the step.</result>
+ </step>
+
+ <step>
+ <title>Describe the expected results</title>
+ <description>
+ <p>Provide, within a <code>result</code> a brief description of the expected results from
+ this step. This should summarise what state the application will be in once this use case
+ has been performed.</p>
+ </description>
+ <result>You will have provided enough information to allow developers to test the functionality and
+ users to identify when a step has been succesfully completed.</result>
+ </step>
+
+ <step required="false">
+ <title>Add "fixme" notes</title>
+ <description>
+ <p>A fixme note is enclosed within a <code>fixme</code> element. It describes something that
+ remains to be done within this step. Each fixme has a priority attribute which can take one of
+ of the followin values:</p>
+
+ <ul>
+ <li>Enhancement - a nice to have ehancment that may or may not be implemented.</li>
+ <li>Low - this is considered an important addition to the use case, but everything works without it.</li>
+ <li>High - this is an important addition. Everything works without it, but having this implmeneted would
+ improve the application considerably.</li>
+ <li>Major - this is nor preventing work that utilises the use case, but it is considered a requirement
+ for the next release since it adds key functionlaity.</li>
+ <li>Blocker - this is preventing the correct operation of this use case and must be implmeneted ASAP</li>
+ </ul>
+
+ <p>Although this step is optional, it is good practice to allways add a
+ <code><fixme priority="blocker">Not yet implemented</fixme></code>
+ element to all new steps. This is becuase these nodes will be used to build a
+ functionality matrix later on.</p>
+ </description>
+
+ <result>Users will be able to understand to what degree a step is implemented and developers will be able to
+ see what remains to be done.</result>
+
+ <fixme priority="enhancement">All fixmes to link to an issue tracker entry</fixme>
+ </step>
+
+ <step required="false">
+ <title>Add alternatives</title>
+ <description>
+ <p>Sometimes there will be alternative paths through each step. These can be described in an
+ <code>alternatives</code> element that allows free-form XDoc content. However, please be
+ careful, if an alternative is more than a simple variation you may want to consider a
+ whole new use case for the alternative.</p>
+ </description>
+
+ <result>Minor variations in the path through a use case will be documented for your users.</result>
+ </step>
+
+ <step required="false">
+ <title>Write Implementation Notes</title>
+ <description>
+ <p>Developer implementation notes for each of the steps should be added either when writing the
+ initial use case or later during the development phases of the use case. These notes are for technical readers
+ and are intended to help those who come after the initial author to get a starting point when inspecting how
+ a feature is implemented. It is not intended that these notes will contain full implementation details, only an
+ overview should be provided.</p>
+ </description>
+
+ <result>A technical reader will be able to gain a baisc understanding of how each step is implemented in the
+ application.</result>
+ </step>
+ </steps>
+ </useCase>
+
+ <useCase status="In Progress" owner="open">
+ <title>Generate Use Case Documentation for Developers</title>
+
+ <description>
+ <p>Generate a complete list of all use cases for a project in a format useful to
+ developers of the application. This list is to include:</p>
+
+ <ul>
+ <li>a description of the use case</li>
+ <li>a summary of each of the steps involved</li>
+ <li>full details of each of the steps</li>
+ <li>a description of the expected outcome of each step</li>
+ <li>details of common alternatives in each step</li>
+ <li>implementation notes for each step</li>
+ </ul>
+
+ <section>
+ <title>Justification</title>
+ <p>A use case describes a unit of work. It is typically used in the design
+ stages of a software project, however, they can often be useful in creating
+ user documentaiton. Especially when they describe user interface functionality.</p>
+
+ <warning>Unfortunately this use case document does not currently cover all functions
+ of the plugin since this functionlaity was added after many other features. Whilst you
+ are exploring this feature, why not add a use case to the plugin and submit a patch
+ so that those coming after you can enjoy more complete documentation.</warning>
+ </section>
+ </description>
+
+ <steps>
+ <step>
+ <title>Make HTTP request</title>
+ <description>
+ <p>
+ Request
+ http://localhost:8888/docs/developer/useCases.xml
+ </p>
+ </description>
+ <result>
+ <p>
+ An XDoc is created that describes the use cases
+ </p>
+ </result>
+
+ <fixme priority="High">Make the summary optional - already added
+ $includeImplementationNotes parameter to stylesheet. Need to pass value form sitemap.</fixme>
+
+ <alternatives>
+ <p>Depending on what plugins are available within your running instance of Forrest you will
+ be able to request different output formats as per the usual Forrest usage. For example requesting
+ a http://localhost:8888/docs/developer/useCases.html will generate the HTML document, whilst
+ http://localhost:8888/docs/developer/useCases.pdf will generate the PDF document (as long
+ as you have the relevant plugins installed).</p>
+ </alternatives>
+
+ <implementation>
+ <description>
+ <p>The source document for use cases is, by default, called <code>useCases.xml</code> and is
+ located in the root of the projects xdocs directory.</p>
+
+ <p>The URL space <code>docs/**/useCases.xml</code> is reserved for the projectInfo plugin. A request to
+ /docs/developer/useCases.xml results in the useCases.xml file being translated into an XDoc as per
+ the usual forrest processing. See the input.xmap file fo this plugin,</p>
+ </description>
+ </implementation>
+ </step>
+ </steps>
+ </useCase>
+
+ <useCase status="In Progress" owner="open">
+ <title>Generate Use Case Documentation for Users</title>
+
+ <description>
+ <p>Generate a complete list of all use cases for a project. This list is to include:</p>
+
+ <ul>
+ <li>a description of the use case</li>
+ <li>a summary of each of the steps involved</li>
+ <li>full details of each of the steps</li>
+ <li>a description of the expected outcome of each step</li>
+ <li>details of common alternatives in each step</li>
+ </ul>
+
+ <section>
+ <title>Justification</title>
+ <p>A use case describes a unit of work. It is typically used in the design
+ stages of a software project, however, they can often be useful in creating
+ user documentaiton. Especially when they describe user interface functionality.</p>
+
+ <warning>Unfortunately the use case document does not currently cover all functions
+ of the plugin since this functionlaity was added after many other features. Whilst you
+ are exploring this feature, why not add a use case to the plugin and submit a patch
+ so that those coming after you can enjoy more complete documentation.</warning>
+ </section>
+ </description>
+
+ <steps>
+ <step>
+ <title>Make HTTP request</title>
+ <description>
+ <p>
+ Request
+ http://localhost:8888/docs/user/useCases.xml
+ </p>
+ </description>
+ <result>
+ <p>
+ An XDoc is created that describes the use cases
+ </p>
+ </result>
+
+ <fixme priority="High">Enable the retrieval of a specific use case rather than all at once.</fixme>
+ <fixme priority="Low">Make the summary optional - there is a switch in the XSL for this, just need to pass a property
+ from the XMAP</fixme>
+
+ <alternatives>
+ <p>Depending on what plugins are available within your running instance of Forrest you will
+ be able to request different output formats as per the usual Forrest usage. For example requesting
+ a http://localhost:8888/docs/user/useCases.html will generate the HTML document, whilst
+ http://localhost:8888/docs/user/useCases.pdf will generate the PDF document (as long
+ as you have the relevant plugins installed).</p>
+ </alternatives>
+
+ <implementation>
+ <description>
+ <p>The source document for use cases is, by default, called <code>useCases.xml</code> and is
+ located in the root of the projects xdocs directory.</p>
+
+ <p>The URL space <code>docs/**/useCases.xml</code> is reserved for the projectInfo plugin. A request to
+ /docs/user/useCases.xml results in the useCases.xml file being translated into an XDoc as per
+ the usual forrest processing, see input.xmap for more details.</p>
+ </description>
+ </implementation>
+ </step>
+ </steps>
+ </useCase>
+
+ <useCase status="In Progress">
+ <title>Generate a Functionality Matrix</title>
+ <description>
+ <p>If a use case document is correcly marked up with <code>fixme</code> elements it is possible
+ to create a functionality matrix for each use case. This will show how complete the implementation
+ of a use case is.</p>
+
+ <p>A table can be created which shows each of the steps in a use case, each step can be given a
+ count for the bumber of fixme items outstanding on each of the steps. Furthermore, since each
+ <code>fixme</code> is given a priority we can clearly indicate which use cases are operational an
+ hich are not.</p>
+ </description>
+
+ <steps>
+ <step>
+ <title>Make HTTP request</title>
+ <description>
+ <p>
+ Request
+ http://localhost:8888/docs/developer/featureMatrix/useCases.xml
+ </p>
+ </description>
+ <result>
+ <p>
+ An XDoc is created that lists the steps in each use case and identifies the status
+ of each use case.
+ </p>
+ </result>
+
+ <fixme priority="Blocker">Not Implemented Yet - although the user and dev use case documents
+ do show the status of each step in the details table and implementation notes.</fixme>
+
+ <alternatives>
+ <p>Depending on what plugins are available within your running instance of Forrest you will
+ be able to request different output formats as per the usual Forrest usage. For example requesting
+ a http://localhost:8888/docs/developer/featureMatrix/useCases.html will generate the HTML document, whilst
+ http://localhost:8888/docs/developer/featureMatrix/useCases.pdf will generate the PDF document (as long
+ as you have the relevant plugins installed).</p>
+ </alternatives>
+
+ <implementation>
+ <description>
+ <p>The source document for use cases is, by default, called <code>useCases.xml</code> and is
+ located in the root of the projects xdocs directory.</p>
+
+ <p>The URL space <code>docs/**/useCases.xml</code> is reserved for the projectInfo plugin. A request to
+ /docs/developer/featureMatrix/useCases.xml results in the useCases.xml file being translated into an XDoc as per
+ the usual forrest processing. See the input.xmap file fo this plugin,</p>
+ </description>
+ </implementation>
+ </step>
+ </steps>
+ </useCase>
+</useCases>
+
Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/useCases/useCaseFeatures.xml
------------------------------------------------------------------------------
svn:eol-style = native