craigmcc 01/02/21 20:48:13 Modified: src/doc project.xml release.xml Log: Update the release notes document to reflect all the changes since early December, which is the last time it was updated. Update the navigation links on the documentation app: * Remove the 1.0 TODO list (it is TO-DONE :-) * Remove the 1.0b1 release plan link * Update the version number on the link to the release notes * Add a link to the Resources page from the User's Guide Still need to update the main documentation page to reflect the new release. Revision Changes Path 1.22 +7 -8 jakarta-struts/src/doc/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/jakarta-struts/src/doc/project.xml,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- project.xml 2001/02/20 06:09:41 1.21 +++ project.xml 2001/02/22 04:48:12 1.22 @@ -6,14 +6,13 @@ <title>Struts Framework</title> <menu name="Documentation"> - <item name="Home" href="index.html"/> - <item name="Installation" href="installation.html"/> - <item name="User Guide (1.0)" href="userGuide/index.html"/> - <item name="Javadoc" href="api/index.html"/> - <item name="Release Notes (1.0)" href="release.html"/> - <item name="Release Plan (1.0b1)" href="release-plan-1.0b1.html"/> - <item name="TODO List (1.0)" href="todo-1.0.html"/> - <item name="TODO List (1.1)" href="todo-1.1.html"/> + <item name="Home" href="index.html"/> + <item name="Installation" href="installation.html"/> + <item name="User Guide (1.0)" href="userGuide/index.html"/> + <item name="Javadoc" href="api/index.html"/> + <item name="Release Notes (1.0b1)" href="release.html"/> + <item name="Resources" href="userGuide/resources.html"/> + <item name="TODO List (1.1)" href="todo-1.1.html"/> </menu> <menu name="Java Developer Guides"> 1.14 +172 -18 jakarta-struts/src/doc/release.xml Index: release.xml =================================================================== RCS file: /home/cvs/jakarta-struts/src/doc/release.xml,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- release.xml 2000/12/08 04:44:31 1.13 +++ release.xml 2001/02/22 04:48:13 1.14 @@ -3,15 +3,16 @@ <properties> <author>Craig R. McClanahan</author> - <title>Struts Release Notes (Version 1.0)</title> + <title>Struts Release Notes (Version 1.0-beta-1)</title> </properties> <body> <section name="Introduction" href="Introduction"> - <p>This document contains the release notes for <strong>Version 1.0</strong> - of the Struts Framework. The following sections cover + <p>This document contains the release notes for + <strong>Version 1.0-beta-1</strong> of the Struts Framework. + The following sections cover <a href="#New">New Features</a> and <a href="#Changes">Changes</a> since the <strong>Version 0.5</strong> of Struts was made available.</p> @@ -68,19 +69,14 @@ -- simply reset boolean fields to <code>false</code> and they will be set to <code>true</code> (during auto-population of the form bean properties) only if the checkbox was actually checked.</li> + <li>All servlet context attributes created by the Struts controller servlet + itself (but not the Struts Example application) now implement + <code>java.io.Serializable</code>.</li> + <li>The <code>Action</code> class now includes support for "transactional + tokens", so that you can detect cases where the user submitted a form, + pressed the back arrow key, and then resubmitted the form again.</li> </ul> - <p>The following major new features have been added to the utility classes - library (package <code>org.apache.struts.util</code>):</p> - <ul> - <li>Initial implementation of a JDBC data source that implements the - <code>javax.sql.DataSource</code> interface from the JDBC 2.0 Standard - Extensions API. This implementation may be configured based on new - extensions to the Struts configuration file DTD, and the configured - data source / connection pool is made available to application components - as a servlet context attribute (i.e. an application scope bean).</li> - </ul> - <p>The following major new features have been added to the <em>struts-bean</em> custom tag library (package <code>org.apache.struts.taglib.bean</code>):</p> @@ -107,14 +103,16 @@ attribute referring to a JSP bean now also accept an optional <code>scope</code> attribute to define the scope in which to search for that bean. If not specified, all scopes are searched.</li> + <li>The <code><bean:size></code> tag will create a bean that stores + the number of elements of an array, Collection, or Map.</li> </ul> - <p>The <em>struts-form</em> custom tag library has been created (package - <code>org.apache.struts.taglib.form</code>), based on the old tags that + <p>The <em>struts-html</em> custom tag library has been created (package + <code>org.apache.struts.taglib.html</code>), based on the old tags that were related to HTML form presentation. The following differences from the old tags are notable:</p> <ul> - <li>You must now reference the "struts-form.tld" TLD to access these + <li>You must now reference the "struts-html.tld" TLD to access these tags.</li> <li>All attribute names matching JavaScript event handlers are now all lower case (onClick --> onclick) to conform to XHTML.</li> @@ -148,6 +146,56 @@ "struts-config.xml" file, if the <code>name</code>, <code>scope</code>, and <code>type</code> attributes are not specified. This removes the need to make changes in two places when these values are changed.</li> + <li>A new <code><image></code> tag has been added, to create + HTML input tags of type "image".</li> + <li>The <code><html:form></code> tag can now use the value you specify + for the <code>action</code> attribute to look up the corresponding + <code>ActionMapping</code> entry, and thereby derive the name and scope + of any defined form bean, plus the path to which the form should be + submitted. It works for cases where the controller servlet is extension + mapped or path mapped.</li> + <li>The <code><html:img></code> tag has been added, to render an HTML + <code><img></code> tag.</li> + <li>The <code><html:select></code> tag will now correctly display more + than one selected value when the <code>multiple="true"</code> attribute + is set.</li> + </ul> + + <p>A new package of Actions and associated classes for handling file uploads + has been created (package <code>org.apache.struts.upload</code>):</p> + <ul> + <li>The basic package of file upload handling actions has been created.</li> + <li>An example application illustrating the use of the new features + has been added (<code>webapps/struts-upload.war</code>).</li> + </ul> + + <p>The following major new features have been added to the utility classes + library (package <code>org.apache.struts.util</code>):</p> + <ul> + <li>Initial implementation of a JDBC data source that implements the + <code>javax.sql.DataSource</code> interface from the JDBC 2.0 Standard + Extensions API. This implementation may be configured based on new + extensions to the Struts configuration file DTD, and the configured + data sources / connection pools are made available to application + components as a servlet context attribute (i.e. an application scope + bean).</li> + <li>The previous implementation of <code>MessageResources</code>, which was + ultimately based on <code>java.util.ResourceBundle</code>, has been + completely replaced and re-implemented. The primary features of the + new implementation are: + <ul> + <li>All components stored as servlet context attributes now implement + the <code>java.io.Serializable</code> interface, to better integrate + with application servers that prefer this.</li> + <li>The <code>MessageResources</code> and <code>MessageResourcesFactory</code> + classes have been abstracted so that you can easily create your + own implementations that derive their message strings from resources + other than property files.</li> + </ul></li> + <li>Property gets and sets made through <code>PropertyUtils</code> can now + use a new syntax for indexed and nested properties.</li> + <li>Conversion to and from numeric types now support a configurable default + value to use when conversion fails.</li> </ul> <p>The following major new features have been added to the @@ -160,7 +208,32 @@ Note that the action classes have been coded so that they work with either request scope or session scope beans.</li> <li>The Struts Example Application has been updated to utilize the new - (separated) custom tag libraries, rather than the old combined one.</li> + (separated) custom tag libraries, rather than the old combined one, + as well as the latest features of the tags being used.</li> + <li>A "Walking Tour of the Struts Example Application" has been added, to + highlight features for newcomers to Struts.</li> + </ul> + + <p>The following major new documentation updates have been added to + Struts:</p> + <ul> + <li>All documentation is generated from XML input files, using a standard + stylesheet to create a common look and feel.</li> + <li>Developer Guides for the Java classes in the + <code>org.apache.struts.digester</code> and + <code>org.apache.struts.util</code> packages.</li> + <li>Developer Guides for the following Struts custom tag libraries have + been added: <code>struts-bean</code>, <code>struts-html</code>, + <code>struts-logic</code>, and <code>struts-template</code>.</li> + <li>The Struts Users Guide has been brought up to date with respect to + all of the changes since Struts 0.5, and separated into multiple + HTML pages for easy reading.</li> + <li>Installation information has been updated to include platform-specific + notes, issues, and workarounds.</li> + <li>A new resources page now points at external information and resources + related to Struts.</li> + <li>A new example application, <code>struts-blank</code>, is included as a + quick starting point for new application development.</li> </ul> </section> @@ -220,6 +293,9 @@ <li>When the controller servlet processes an <code>ActionForward</code> that has the <code>redirect</code> property set, it now performs URL rewriting to maintain session state even if cookies are not being used.</li> + <li>The <code>ActionErrors</code> class now includes a method that will + return an Iterator over the error messages related to a particular + input field.</li> </ul> <p>The following changes and bug fixes to the Digester module @@ -228,6 +304,74 @@ <li>The <code>Digester.resolveEntity()</code> method has been enhanced to correctly handle local URIs so that it works with resources loaded via <code>Class.getResource()</code>.</li> + <li>The input source handed to the Digester is now closed, even if a + parsing exception is throw.</li> + </ul> + + <p>The following changes and bug fixes to the <em>struts-bean</em> custom + tag library (package <code>org.apache.struts.taglib.bean</code>) have + occurred:</p> + <ul> + <li>By default, the <code><bean:write></code> tag will filter output + for characters sensitive to HTML. You can turn this off by adding a + <code>filter="false"</code> attribute.</li> + <li>When performing a <code><bean:include></code> in a page that is + part of a session, pass the session identifier along on the generated + request so that it will be part of the same session.</li> + <li>The <code><bean:define></code> tag can now create + beans directly from the <code>value</code> attribute, if desired.</li> + <li>The <code><bean:define></code> tag now accepts an optional + <code>toScope</code> attribute, to declare which scope the new bean + should be created in. The default remains <code>page</code> scope.</li> + <li>Default values can now be specified on <code><bean:cookie></code>, + <code><bean:header></code>, and + <code><bean:parameter></code> tags, which are used when the + corresponding value is not present in the current request.</li> + </ul> + + <p>The following changes and bug fixes to the <em>struts-html</em> custom + tag library (package <code>org.apache.struts.taglib.html</code>) have + occurred:</p> + <ul> + <li><strong>WARNING</strong> - When the Struts 0.5 tag library was originally + split into separate libraries, this library was named + <em>struts-form</em>, to reflect the fact that the majority of tags + related to creating input forms. It has been renamed to + <em>struts-html</em> to reflect the fact that all of the tags in this + library are relevant only when building HTML-based user interfaces.</li> + <li>The <code><html:html></code> tag now supports a + <code>locale="true"</code> attribute that requests the same Locale + negotiation (based on the presence of an <code>Accept-Language</code> + header) that is performed by the controller servlet.</li> + <li>The <code><html:link></code> tag now supports the ability to add + a single request parameter (based on a bean property) in addition to the + ability to add request parameters from a Map.</li> + <li>The <code><html:errors></code> tag lets you select only the error + messages related to a particular input field, or all errors.</li> + <li>The <code><html:password></code> tag now optionally redisplays + the previous value of the input field.</li> + <li>The value returned by a <code><html:multibox></code> tag can now + be specified in the body of the tag, as well as via the + <code>value</code> attribute.</li> + </ul> + + <p>The following changes and bug fixes to the <em>struts-logic</em> + custom tag library (package <code>org.apache.struts.taglib.logic</code>) + have occurred:</p> + <ul> + <li>The <code><logic:present></code> and + <code><logic:notPresent></code> tags now accept a <code>role</code> + attribute that allows you to detect whether the currently authenticated + user does, or does not, possess a particular security role.</li> + </ul> + + <p>The following changes and bug fixes to the <em>struts-template</em> + custom tag library (package <code>org.apache.struts.taglib.template</code>) + have occurred:</p> + <ul> + <li>The <code><template:put></code> tag now accepts a + <code>direct</code> attribute that causes the content being put to be + rendered directly, rather than being included.</li> </ul> <p>The following changes and bug fixes to the Utilities package @@ -244,6 +388,16 @@ <li>Fixed <code>PropertyUtils.copyProperties()</code> to skip cases where the origin bean has a getter method but the destination bean does not have a setter method.</li> + <li>Added <code>BeanUtils.cloneBean()</code> to create a new instance of + an existing bean, and copy all known properties, even if the bean class + does not implement <code>Cloneable</code>.</li> + <li>The <code>BeanUtils</code> class has been refactored so that it, and + the associated <code>ConvertUtils</code> and <code>PropertyUtils</code> + classes, can easily be used without having to have the servlet API + classes available on the classpath.</li> + <li>Property introspection is now smarter, so that you can access public + methods declared in an implemented interface, even if the class itself + is not public.</li> </ul> <p>The following changes and bug fixes to the Struts Example Application