<?xml version="1.0"?>
<document url="./todo-1.1.xml">

  <properties>
    <author>Craig R. McClanahan</author>
    <title>The Struts Project TODO List for Version 1.0</title>
  </properties>

  <body>


  <section name="Introduction" href="Intro">

  <p>Application frameworks, like the applications we build with them,
  never seem to be completed.  The following are the remaining work items
  before Version 1.0 of Struts can be released.</p>

  <p>The TODO list tasks are divided into functional areas that correspond
  to the major components of the Struts Framework.  References in square
  brackets are the Java package containing the corresponding source code.</p>

  </section>


  <task-list name="Struts Documentation" href="Docs">

    <info>
      <p>Omnibus task list for items related to the Struts Documentation,
      which do not have direct relationships with code bases.</p>
    </info>

  </task-list>


  <task-list name="Struts Example Application" href="Example">

    <info>
      <p>An example web application utilizing the Struts framework and
      custom tag library.</p>
    </info>

  </task-list>


  <task-list name="MVC Framework [org.apache.struts.action]" href="MVC">

    <info>
      <p>This is the core controller servlet, with support for the developer's
      action and form bean classes, plus the supporting data structures.</p>
    </info>

    <task name="Deprecation Warnings">
      <info>
        <p>Review framework-wide use of features that have now been
        deprecated.</p>
      </info>
    </task>

  </task-list>


  <task-list name="XML Digester [org.apache.struts.digester]" href="Digester">

    <info>
      <p>The Digester package supports scripted firing of "rules" based on
      matching a particular pattern of nested XML tags.  Among the predefined
      rules that can be utilized are rules to create new objects, set bean
      properties from the contents of attributes, or call arbitrary methods
      with arguments based on the XML content being parsed.  A common
      use for this technology (illustrated in the Struts ActionServlet), is
      parsing configuration files and building corresponding object trees.</p>
    </info>

  </task-list>


  <task-list name="Bean Tag Library [org.apache.struts.taglib.bean]"
             href="BEAN">

    <info>
      <p>This tag library contains basic tags useful in manipulating JavaBeans
      and their properties.  It includes support for getting and setting bean
      properties using simple, nested, and subscripted accessor expressions.
      </p>
    </info>

  </task-list>


  <task-list name="HTML Forms Tag Library [org.apache.struts.taglib.html]"
             href="HTML">

    <info>
    <p>This tag library contains tags useful in preparing web applications that
    use HTML forms as their primary mechanism for user data entry, as well as
    support for internationalized and localized applications.</p>
    </info>

  </task-list>


  <task-list name="Utility Classes" href="Util">

    <info>
      <p>This package contains a variety of utility classes useful within
      Struts as well as in stand-alone applications.</p>
    </info>

    <task name="Update HTML Filtering">
      <info>
        <p>Update the filtering supported by <code>BeanUtils.filter()</code>.
        </p>
        [STRUTS-DEV, Matthias Kerkhoff, 11/13/2000]
      </info>
    </task>

  </task-list>


  </body>

</document>
