Author: husted
Date: Fri Oct 15 17:57:35 2004
New Revision: 54889
Modified:
struts/trunk/doc/roadmap.xml
Log:
Update roadmap for 1.2.4 / 1.2.5 releases. Update source repository references.
Modified: struts/trunk/doc/roadmap.xml
==============================================================================
--- struts/trunk/doc/roadmap.xml (original)
+++ struts/trunk/doc/roadmap.xml Fri Oct 15 17:57:35 2004
@@ -42,6 +42,7 @@
<ul>
<li><a
href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Struts&order=bugs.bug_id">Open
reports</a></li>
+ <li><a
href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=3&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Struts&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&bug_file_loc=&bug_file_loc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Bug+Number">Open
reports with at least 3 votes</a></li>
<li><a
href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=Blocker&bug_severity=Critical&bug_severity=Major&bug_severity=Normal&bug_severity=Minor&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Struts&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&bug_file_loc=&bug_file_loc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=bugs.bug_id">Open
problem reports</a>
<ul>
<li><a
href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Struts&bug_severity=Blocker&bug_severity=Critical&bug_severity=Major&order=bugs.bug_id">major
problem reports</a></li>
@@ -62,59 +63,66 @@
<section href="Struts_1_x" name="Struts 1.x">
<p>
- The platform requirements throughout the Struts 1.x series will remain the
same (Servlet 2.2 / JSP 1.1).
- Though, later platforms may be supported as an option.
+ Releases in the 1.x series will focus on refactoring of existing
functionality, with a
+ continued emphasis on backward compatibility.
</p>
<p>
- Releases in the 1.x series will focus on refactoring of existing
functionality, with a
- continued emphasis on backward compatibility, as were seen in Struts 1.1.
- However, we expect there to releases to be incremental throughout the rest of
the
- 1.x series, so that improvements and fixes become available to production
teams every few weeks.
+ New features are being added to the Struts 1.x series,
+ but only if backward compatability with the prior release can be retained.
+ The 1.x API is evolving through a deprecate/replace/remove protocol.
+ Developers are encouraged to stay current with the "best available" release
+ and to observe deprecation warnings.
+ Features are deprecated before removal, and deprecated features are
ultimately removed.
</p>
<p>
- Any feature that can be implemented under Servlet 2.2/JSP 1.1 may be
considered for the Struts 1.x series.
- This may include, but is not limited to, better support for alternate view
technologies (like XLST),
- integrated unit testing, integrated support for HTTP/HTTPS mode switching,
better workflow handling,
- support for alternative action types (e.g. BSF actions), a chainable request
processor, support for an Action
- context, and so forth.
+ The 1.x series is being refactored into the Struts subproject and several
dependant subprojects.
+ Each subproject is expected to be dependant on the Struts core for necessary
functionality.
+ Otherwise, the subproject should be hosted in another venue, such as Jakarta
Commons or Jakarta Taglibs.
</p>
<p>
- Features most likely to be considered are those that have already been
implemented as
- third-party extensions and are in active use by the Struts Community, such as
- those distributed through the
+ Popular third-party extensions that are in active use by the Struts Community
may be considered
+ as subprojects, such as those distributed through the
<a href="http://sourceforge.net/projects/struts">Struts SourceForge</a> site.
</p>
<p>
- Throughout the 1.x series, there will be a continued emphasis on expanding
unit test coverage for the
- framework.
+ Throughout the 1.x series,
+ there will be a continued emphasis on expanding unit test coverage for the
framework.
Bug reports should include a failing test case when possible.
Proposals for new features should include a working test suite.
(Creating features through Test Driven Development is strongly encouraged.)
</p>
<p>
- Enhancement requests are logged in Bugzilla they are suggested.
- <strong>The listing of an enhancement in Bugzilla does not imply that is
being "planned"</strong>, merely that some
- member of the community has suggested it, and the idea hasn't been ruled out
(yet).
+ Enhancement requests are logged in Bugzilla as they are suggested.
+ <strong>The listing of an enhancement in Bugzilla does not imply that is
being "planned"</strong>,
+ merely that some member of the community has suggested it,
+ and the idea hasn't been ruled out (yet).
</p>
<p>
- Future release milestones are provided for enhancements which are being
actively planned or developed
+ Future release milestones are provided for enhancements
+ which are being actively planned or developed
but may not be ready for the very next release.
- If a report has not been tagged for a specific milestone by a working
developer, then <strong>it may never be
- resolved</strong>.
- When developers (including non-Committers) are actually working on an
enhancement, they should re-tag it for a
- specific release milestone, such as "1.2.1" or "1.2.2".
+ If a report has not been tagged for a specific milestone by a working
developer,
+ then <strong>it may never be implemented</strong>.
+ When developers (including non-Committers) are actually working on an
enhancement,
+ they should re-tag it for a specific release milestone, such as "1.3.1" or
"1.3.2".
</p>
<p>
- If an enhancement has not been tagged for a specific target, feel free to
start working on it yourself.
- Many of our best features have been contributed by developers, just like you.
- If you would like to announce your active interest in an enhancement, please
post a note on the ticket, and tag
- it to an appropriate release milestone.
+ If an enhancement has not been tagged for a specific target,
+ feel free to start working on it yourself.
+ Many of our best features have been contributed by developers,
+ just like you.
+ If you are working on an enhancement,
+ post a note on the ticket that you are working on an enhancement
+ and then post a patch as soon as possible.
+ If the development effort doesn't succeed,
+ post a note to the ticket explaining what problem you had creating the
enhancement,
+ so that other developers can explore alternatives.
</p>
</section>
@@ -134,37 +142,44 @@
The initial release of Struts EL is provided as an optional package.
</li>
- <li>Struts 1.2.x (alpha) -
- Continued refactorings of the Struts 1.x product series. The current
release trigger for 1.2.0 is resolving outstanding <a href="#Bugzilla">problem
reports</a>. There are also <a href="#Bugzilla">several patches</a> that could be
applied prior to rolling 1.2.0.
+ <li>Struts 1.2.4 (complete) -
+ Continued refactorings of the Struts 1.x product series.
<ul>
- <li>Remove deprecations created in the 1.0 to 1.1 timeframe, and
prior</li>
- <li>Add support for wildcard mappings.</li>
- <li>Other minor enhancements and refactorings</li>
+ <li>Removed deprecations created in the 1.0 to 1.1 timeframe, and
prior</li>
+ <li>Added support for wildcard mappings.</li>
+ <li>Other minor enhancements, improvements, and refactorings</li>
</ul>
</li>
+ <li>Struts 1.2.5 (pending) -
+ Migrated repository to Subversion; update website.</li>
+
+ <li>Struts 1.2.x (pending) -
+ Minor enhancements, improvements, and refactorings only, as needed.
+ New features should be added to the 1.3.x series.</li>
+
<li>Struts 1.3.x (pending) -
- More substantial enhancements to product base
+ Enhancements to product base, based on existing features or codebases.
<ul>
- <li>Consider moving repository to Subversion (pending)</li>
+ <li>Divide distribution into subprojects
+ <ul><li>core, apps, el, faces, site, taglibs</li>
+ <li><a
href="http://struts.sourceforge.net/struts-flow/index.html">flow</a>, <a
href="http://struts.sf.net/struts-bsf/">scripting</a> (new)</li>
+ </ul>
+ </li>
<li>Complete support for Maven builds (pending)</li>
- <li>Move taglibs and apps into separate subprojects</li>
- <li>Launch <a
href="http://struts.sourceforge.net/struts-flow/index.html">Flow subproject</a></li>
- <li>Launch <a
href="http://struts.sf.net/struts-bsf/">Scripting</a> subproject</li>
- <li>Move to "Struts Chain" Request Processor (now in Contrib)</li>
- <li>Move to Commons Resources when available</li>
+ <li>Move core to "Struts Chain" Request Processor (now in
Contrib)</li>
+ <li>Move to Commons Resources (if available)</li>
<li>Enhance all configs to extend one configuration element from
another,
as is done with Tiles Definitions</li>
</ul>
</li>
<li>Struts 1.4.x -
- More substantial enhancements to product base
+ Enhancements to product base, based on undeveloped code.
<ul>
- <li>Consider migration to an Action context (which also might be
based on the Commons Chain
- of Responsiblity package)</li>
- <li>Consider enhanced support for other platforms (2.3/1.2) if
this can be accomplished by
- specifying an alternate Request Processor</li>
+ <li>Consider adding support for an Action context
+ (which also might be based on the Commons Chain of
Responsibility package).</li>
+ <li>Consider adding support for Porlets by specifying an
alternate Request Processor catalog.</li>
</ul>
</li>
@@ -174,9 +189,10 @@
<li>Consider <a
href="http://struts.sourceforge.net/struts-spring/index.html">Spring Plugin</a></li>
<li>Consider adopting several popular extensions, including:
<ul>
+ <li><a
href="http://struts.application-servers.com/">Layout</a></li>
<li><a href="http://sslext.sourceforge.net/">SSL
Ext</a></li>
- <li><a
href="http://strutstestcase.sourceforge.net/">TestCase</a></li>
<li><a href="http://stxx.sourceforge.net">Stxx</a>
(XLST)</li>
+ <li><a
href="http://strutstestcase.sourceforge.net/">TestCase</a></li>
<li><a
href="http://www.livinglogic.de/Struts/">Workflow</a></li>
</ul>
</li>
@@ -242,19 +258,20 @@
<p>
Struts 2.x (aka Struts "Next Generation") will include broader enhancements.
We anticipate that the implementation will utilize the Servlet 2.4 / JSP 2.0
- platform, but may optionally support earlier platforms.
+ platform, and perhaps Java 1.5, but may optionally support earlier platforms.
</p>
<p>
We anticipate that Struts 2.x will rely on JSTL and the JavaServer Faces
API as supporting technologies.
- However, the focus of the Struts framework will remain on the Controller aspect
of a Model 2/MVC architecture.
+ However, the focus of the Struts framework will remain on the Controller
+ aspect of a Model 2/MVC architecture.
The core framework will continue to be both Model and View independent.
</p>
<p>
Development of Struts 2.x will include taking a completely fresh look at
- the architecture.
+ the internal architecture.
The goal for 2.x will be to incorporate everything we've learned in the past
years of Struts usage, and create something even better.
Development will follow current best practices, like Test Driven Development,
@@ -271,7 +288,8 @@
</p>
<p>
- Target features include:
+ As Struts 1.x evolves, some (or all) target features may overlap.
+ Target features for Struts 2.x include:
</p>
<ul>
@@ -285,8 +303,8 @@
</li>
<li>
- Transparent support for a portlet environment (JSR 168), with minimal-to-no
changes in your business logic
- and pages.
+ Transparent support for a portlet environment (JSR 168), with
+ minimal-to-no changes in your business logic and pages.
</li>
<li>
@@ -309,7 +327,7 @@
<p>
An early proposal for one possible implementation of Struts 2.x, "Struts
Jericho",
- is available in the <a
href="http://cvs.apache.org/viewcvs.cgi/jakarta-struts/contrib/struts-jericho/">contrib
folder</a>.
+ is available in the <a
href="http://svn.apache.org/viewcvs.cgi/struts/trunk/contrib/struts-jericho/?root=Apache-SVN">contrib
folder</a>.
</p>
</section>
@@ -356,67 +374,31 @@
<section href="jsf" name="JavaServer Faces">
<p>
- The <a href="http://java.sun.com/j2ee/javaserverfaces/">JavaServer
Faces</a> specification has not been
- finalized. However, Struts is already providing support for JSF through
the Struts Faces taglib. Once JSF
- is finalized and comes into broad use, it is expected that Struts
developers will continue to offer
- enhancements to make it even easier to use Struts with JSF.
- </p>
-
- <p>
- Right now, there is only one open source project working on a JavaServer
Faces implementation,
- <a href="http://sf.net/projects/myfaces">MyFaces</a>. This work is being
done under the
- <a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>, which some
- developers find unacceptable. (If you are interested in this project, we
suggest you lobby the developers
- to adopt a more liberal license, like the <a
href="http://apache.org/LICENSE">ASL</a>.)
- </p>
-
- <p>
- Thanks in large part to Apache's advocacy and influence, the <a
href="http://jcp.org">Java Community
- Process</a>, which is responsible for the JavaServer Faces specification,
process has been modified so that
- Apache Software Foundation projects, like Jakarta, can qualify for the
certification scholarship (for
- nonprofits) and access to the TCKs and certify that our application is
compliant.
- </p>
-
- <p>
- An certificated-complaint Apache implementation of JavaServer Faces would
most definately be a Good Thing.
- It would not be the reference implementation, but we could treat it like
one, and strictly follow the
- book, in the Apache Way. A strict, high-quality, open-source
implementation would most likely become
- a popular option among containers.
- </p>
-
- <p>
- Work on such an implementation could be undertaken by Struts, either here
at Jakarta or after our applying
- for status as a top-level Apache project. <b>Or</b>, "Apache Faces" could
also be undertaken as a separate
- project, with Struts simply using the technology as we now use
technologies from the Commons today.
+ Struts is providing support for <a
href="http://java.sun.com/j2ee/javaserverfaces/">JavaServer Faces</a>
+ through the Struts Faces Integration Library. The Struts Faces tablib
allows developers to migrate
+ pages to JSF but retain use of their Actions. Pages can be migrated on a
one-by-one basis. The
+ Struts Faces taglib is still under development, and a 1.0.x release is
forthcoming.
</p>
-
<p>
- However, at this point, there is no "code on the table". Apache products
leave decisions such as these to
- the people who create and maintain the codebase. So, lacking a codebase,
no binding decision
- can be made. But, anyone wishing to pursue an "Apache Faces"
implementation should be aware that the option
- certainly exists.
+ As JSF comes into broader use, it is expected that
+ Struts developers will continue to offer enhancements to make it even
easier to use Struts with JSF.
</p>
<p>
- Aside from offering a strict implementation of JavaServer Faces, there
are many, many other JSF related
- tools and technologies Apache Faces could provide. These include
composite view and validation
- frameworks (like Tiles and the Validator), frameworks for multi-request
transactions, non-HTML markup
- languages (building on top of Faces for things like XUL or XForms or SVG
is easy), non-JSP rendering
- technologies (pretty much anything that has a way to mark where
dynamically created output goes can be
- adapted), libraries of prebuilt components above and beyond the built-in
standard ones (such components
- work equally well in JSP and non-JSP environments), and all the
non-human-UI things based on XML
- technologies.
+ The SourceForge <a href="http://sf.net/projects/myfaces">MyFaces</a> team
is in the process of
+ joining the Apache Software Founcation. Once the Apache MyFaces team has
access to the Apache TCK, it
+ is expected to be recognized as a certified JSF implementation.
</p>
<p>
- As always, the standard implementation is only the beginning.
- </p>
+ For more about Struts and JavaServer faces, see:
+ </p>
- <p>
- For more about Struts and JavaServer faces, see our <a
href="faqs/kickstart.html#jsf">FAQ</a>.
- For more about JavaServer Faces generally, see also <a
href="http://www.jamesholmes.com/JavaServerFaces/">
- Java Server Faces Resources at JamesHomes.com</a>.
- </p>
+ <ul>
+ <li>Craig McClanahan's <a
href="http://blogs.sun.com/roller/page/craigmcc/20040927">blog entry</a></li>
+ <li>Our <a href="faqs/kickstart.html#jsf">FAQ</a></li>
+ <li><a href="http://www.jamesholmes.com/JavaServerFaces/">Java Server
Faces Resources at JamesHomes.com</a></li>
+ </ul>
</section>
<section href="Proposals" name="Relevant Proposals">
@@ -447,12 +429,12 @@
<section>
<p class="right">Next:
- <a href="http://cvs.apache.org/viewcvs/jakarta-struts/">CVS Repository</a></p>
+ <a href="http://svn.apache.org/viewcvs.cgi/struts/?root=Apache-SVN">Source
Repository</a></p>
</section>
<section>
- <p class="version">Website updated from CVS: 2004 AUG 24 by husted.</p>
- <p class="version">Javadocs updated from CVS: 2004 AUG 24 by husted.</p>
+ <p class="version">Website updated from repository: 2004 OCT 15 by husted.</p>
+ <p class="version">Javadocs updated from repository: 2004 OCT 15 by husted.</p>
</section>
</chapter>
</body></document>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]