You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by cr...@locus.apache.org on 2000/09/15 02:40:56 UTC

cvs commit: jakarta-struts/src/doc/stylesheets struts.xsl

craigmcc    00/09/14 17:40:56

  Modified:    src/doc  project.xml
               src/doc/stylesheets struts.xsl
  Added:       src/doc  todo.xml
  Log:
  The beginnings of the TODO list converted to the new documentation format,
  with room for people to sign up for implementing particular tasks.
  
  Revision  Changes    Path
  1.5       +3 -2      jakarta-struts/src/doc/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/doc/project.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- project.xml	2000/09/07 01:37:26	1.4
  +++ project.xml	2000/09/15 00:40:55	1.5
  @@ -8,7 +8,8 @@
       <menu name="Overview">
           <item name="Home"               href="index.html"/>
           <item name="Installation"       href="installation.html"/>
  -        <item name="API Javadoc"        href="api/index.html"/>
  +        <item name="Javadoc"            href="api/index.html"/>
  +        <item name="TODO List"          href="todo.html"/>
       </menu>
   
       <menu name="New Tag Library Reference">
  @@ -21,7 +22,7 @@
   
       <menu name="Old Documents">
           <item name="Tag Library (Old)"  href="tags.html"/>
  -        <item name="TODO"               href="todo.txt"/>
  +        <item name="TODO (Old)"         href="todo.txt"/>
           <item name="User's Guide"       href="users_guide.html"/>
       </menu>
   
  
  
  
  1.1                  jakarta-struts/src/doc/todo.xml
  
  Index: todo.xml
  ===================================================================
  <?xml version="1.0"?>
  <document url="./todo.xml">
  
    <properties>
      <author>Craig R. McClanahan</author>
      <title>The Struts Project TODO List</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 items have been targeted
    for completion in preparation for a version <strong>1.0</strong>
    release of Struts, timed to coincide with the ApacheCon Europe 2000
    conference in London, October 23-25, 2000.</p>
  
    <p>Whether everything listed here makes it in to the final release
    depends primarily on how many volunteers are interested in contributing
    code and ideas to make it happen.  If you are interested in helping out
    on specific tasks listed below, please let us know (via a message to the
    STRUTS-DEV mailing list), and we will put your name in the "Volunteers"
    column.  There is also no problem having more than one person collaborating
    on a particular task, if you would like to do that.</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="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="Enhanced Configuration">
        <info>
          <p>Implement a new configuration mechanism for the controller servlet
          (replacing <code>action.xml</code>) that is based on the proposed
          <code>struts-config.dtd</code> DTD with future extensibility in mind.
          For backwards compatibility, support the existing configuration format
          at least until 1.0 is released.</p>
        </info>
        <assigned>
          Craig McClanahan
        </assigned>
      </task>
  
      <task name="Standard Actions">
        <info>
          <p>Begin the collection of a set of generally useful standard
          <code>Action</code> implementations, in a new Java package
          [<code>org.apache.struts.actions</code>].  Useful actions to consider:
          add/change/delete configured mappings, forwards, and beans; reload
          the configuration file; file upload handling.</p>
        </info>
      </task>
  
      <task name="Default Action">
        <info>
          <p>Support a configurable default action mapping if none of the
          other mappings are selected.</p>
        </info>
      </task>
  
      <task name="Enhanced Validation">
        <info>
          <p>Replace the current <code>ValidatingActionForm.validate()</code>
          method with one that takes useful contextual arguments (request?,
          servlet?, mapping?) so that it can do more global sorts of validation
          checks, as well as access external resources.</p>
          <p><strong>NOTE:  Likely to break backwards compatibility.</strong></p>
        </info>
      </task>
  
      <task name="Calculate User Locale">
        <info>
          <p>Provide configurable support in <code>ActionServlet</code> to
          attempt a mapping of the values specified in the HTTP
          <code>Accept-Language</code> headers (if any) to a corresponding
          <code>Locale</code>, if one has not been set as a session attribute
          by application code.  It should also be possible to request creation
          of this Locale as a request attribute, rather than a session
          attribute, when Struts is used in a session-less environment.</p>
        </info>
      </task>
  
      <task name="Non-HTTP Actions">
        <info>
          <p>Define a second <code>Action.perform()</code> method signature that
          takes <code>ServletRequest</code> and <code>ServletResponse</code> as
          parameters, rather than their HTTP subclasses.  Default implementation
          in <code>ActionBase</code> should forward to the HTTP equivalents if
          possible, or throw an exception otherwise, to partially preserve
          backwards compatibility.</p>
        </info>
      </task>
  
      <task name="Referer-Based Forwards">
        <info>
          <p>Support a special type of <code>ActionForward</code> that uses the
          HTTP <code>Referer</code> header to identify the page to be returned
          to for the input form, without having to name it explicitly.  This
          allows page developers to include the same form in multiple pages,
          if desired.</p>
        </info>
      </task>
  
      <task name="Extend Forward Mechanism">
        <info>
          <p>Extend the functionality of ActionForward to support ability to
          forward across SSL-versus-not access to the same webapp.  This may
          require dependence on container-specific features.</p>
        </info>
      </task>
  
      <task name="ActionForm Population">
        <info>
          <p>Consider migrating management of ActionForm population out of
          ActionServlet (possibly into ActionMapping) and/or provide hooks
  	in the interface for application-level control.</p>
        </info>
      </task>
  
      <task name="Developer Documentation">
        <info>
  	<p>Create more detailed documentation of how the Struts controller
  	servlet framework is intended to be used, and how it might be
  	extended.  This documentation should be focused on the needs of
  	web application developers and architects.</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 name="Developer Documentation">
        <info>
  	<p>Create more detailed documentation of how the Digester package
  	can be utilized by application developers.</p>
        </info>
      </task>
  
  
    </task-list>
  
  
    </body>
  
  </document>
  
  
  
  1.4       +49 -1     jakarta-struts/src/doc/stylesheets/struts.xsl
  
  Index: struts.xsl
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/doc/stylesheets/struts.xsl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- struts.xsl	2000/08/29 23:57:13	1.3
  +++ struts.xsl	2000/09/15 00:40:56	1.4
  @@ -1,6 +1,6 @@
   <?xml version="1.0" encoding="ISO-8859-1"?>
   <!-- Content Stylesheet for Struts Documentation -->
  -<!-- $Id: struts.xsl,v 1.3 2000/08/29 23:57:13 craigmcc Exp $ -->
  +<!-- $Id: struts.xsl,v 1.4 2000/09/15 00:40:56 craigmcc Exp $ -->
   
   <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     version="1.0">
  @@ -230,6 +230,54 @@
       <p><xsl:apply-templates/><br/></p>
     </xsl:template>
   
  +
  +  <!-- Process a task list section -->
  +  <xsl:template match="task-list">
  +    <xsl:choose>
  +      <xsl:when test="@href">
  +        <xsl:variable name="href">
  +          <xsl:value-of select="@href"/>
  +        </xsl:variable>
  +        <a name="{$href}"></a>
  +      </xsl:when>
  +    </xsl:choose>
  +    <table border="0" cellspacing="5" cellpadding="5" width="100%">
  +      <tr><td bgcolor="{$banner-bg}">
  +        <font color="{$banner-fg}" face="arial,helvetica,sanserif" size="+1">
  +          <xsl:value-of select="@name"/>
  +        </font>
  +      </td></tr>
  +      <tr><td>
  +        <xsl:apply-templates select="info"/>
  +      </td></tr>
  +      <tr><td>
  +        <blockquote>
  +          <table border="1" cellspacing="5" cellpadding="5" width="100%">
  +            <tr>
  +              <th width="75%">Description</th>
  +              <th width="25%">Volunteer</th>
  +            </tr>
  +            <xsl:apply-templates select="task"/>
  +          </table>
  +        </blockquote>
  +      </td></tr>
  +    </table>
  +  </xsl:template>
  +
  +  <!-- Process an individual task (in a TODO list) -->
  +  <xsl:template match="task">
  +    <tr>
  +      <td>
  +        <xsl:choose>
  +          <xsl:when test="@name">
  +            <em><xsl:value-of select="@name"/></em>.
  +          </xsl:when>
  +        </xsl:choose>
  +        <xsl:value-of select="info"/>
  +      </td>
  +      <td><xsl:value-of select="assigned"/></td>
  +    </tr>
  +  </xsl:template>
   
     <!-- Process everything else by just passing it through -->
     <xsl:template match="*|@*">