Differences between revisions 38 and 39
Revision 38 as of 2006-03-03 17:44:30
Size: 4999
Editor: WendySmoak
Comment:
Revision 39 as of 2009-09-20 23:12:43
Size: 5041
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
 * [http://www.apache.org/~craigmcc/struts-shale-README.html Proposal Details] (last updated 21-Jan-2005)  * [[http://www.apache.org/~craigmcc/struts-shale-README.html|Proposal Details]] (last updated 21-Jan-2005)
Line 14: Line 14:
   * [http://www.apache.org/~craigmcc/shale-core-javadocs/ Core Library]
   * [http://www.apache.org/~craigmcc/shale-clay-javadocs/ Clay Plug-In]
   * [http://www.apache.org/~craigmcc/shale-test-javadocs/ Unit Test Framework]
   * [http://www.apache.org/~craigmcc/shale-usecases-javadocs/ Use Cases Example App]
 * [http://cvs.apache.org/builds/struts/nightly/struts-shale/ Nightly Builds]:
   * [http://cvs.apache.org/builds/struts/nightly/struts-shale/core-library Core Library]
   * [http://cvs.apache.org/builds/struts/nightly/struts-shale/clay-plugin Clay Plug-In]
   * [http://cvs.apache.org/builds/struts/nightly/struts-shale/test-framework Unit Test Framework]
   * [http://cvs.apache.org/builds/struts/nightly/struts-shale/use-cases Use Cases Example App]
   * [http://cvs.apache.org/builds/struts/nightly/sandbox/tiles-core Standalone Tiles]
   * [[http://www.apache.org/~craigmcc/shale-core-javadocs/|Core Library]]
   * [[http://www.apache.org/~craigmcc/shale-clay-javadocs/|Clay Plug-In]]
   * [[http://www.apache.org/~craigmcc/shale-test-javadocs/|Unit Test Framework]]
   * [[http://www.apache.org/~craigmcc/shale-usecases-javadocs/|Use Cases Example App]]
 * [[http://cvs.apache.org/builds/struts/nightly/struts-shale/|Nightly Builds]]:
   * [[http://cvs.apache.org/builds/struts/nightly/struts-shale/core-library|Core Library]]
   * [[http://cvs.apache.org/builds/struts/nightly/struts-shale/clay-plugin|Clay Plug-In]]
   * [[http://cvs.apache.org/builds/struts/nightly/struts-shale/test-framework|Unit Test Framework]]
   * [[http://cvs.apache.org/builds/struts/nightly/struts-shale/use-cases|Use Cases Example App]]
   * [[http://cvs.apache.org/builds/struts/nightly/sandbox/tiles-core|Standalone Tiles]]
Line 27: Line 27:
   * [http://forum.java.sun.com/forum.jspa?forumID=427 JSF Forum at Sun Developer Network]
   * [http://myfaces.apache.org MyFaces Project] - JSF implementation, components, mailing lists, and more
   * [http://www.jamesholmes.com/JavaServerFaces James Holmes' JSF Resources] - Extensive listing of articles, components, FAQs, presentations, tutorials, etc.
   * [http://jsfcentral.com JSFCentral.com] - Huge catalog of articles, FAQs, tutorials, samples
   * [[http://forum.java.sun.com/forum.jspa?forumID=427|JSF Forum at Sun Developer Network]]
   * [[http://myfaces.apache.org|MyFaces Project]] - JSF implementation, components, mailing lists, and more
   * [[http://www.jamesholmes.com/JavaServerFaces|James Holmes' JSF Resources]] - Extensive listing of articles, components, FAQs, presentations, tutorials, etc.
   * [[http://jsfcentral.com|JSFCentral.com]] - Huge catalog of articles, FAQs, tutorials, samples
Line 56: Line 56:
 * [http://www.jroller.com/page/dgeary/20050321#shale_cometh Shale Cometh]  * [[http://www.jroller.com/page/dgeary/20050321#shale_cometh|Shale Cometh]]
Line 58: Line 58:
 * [http://www.groundside.com/blog/content/DuncanMills/J2EE+Development/?permalink=C6020059D201AAC49C5E9106A181C8E6.txt Customising the ViewControllerMapper]  * [[http://www.groundside.com/blog/content/DuncanMills/J2EE+Development/?permalink=C6020059D201AAC49C5E9106A181C8E6.txt|Customising the ViewControllerMapper]]
Line 60: Line 60:
 * [http://www.groundside.com/blog/content/DuncanMills/J2EE+Development/?permalink=9074324708A06EE85EE4720495475AA9.txt The ViewController Lifecycle]  * [[http://www.groundside.com/blog/content/DuncanMills/J2EE+Development/?permalink=9074324708A06EE85EE4720495475AA9.txt|The ViewController Lifecycle]]
Line 64: Line 64:
 * [http://www.jroller.com/page/dgeary/20050419#added_commons_validator_support_to Shale Adds Validation Support]  * [[http://www.jroller.com/page/dgeary/20050419#added_commons_validator_support_to|Shale Adds Validation Support]]
Line 66: Line 66:
 * [http://blogs.sun.com/roller/page/wilfred?entry=building_shale_javaone_demo Building JavaOne Shale Demo]  * [[http://blogs.sun.com/roller/page/wilfred?entry=building_shale_javaone_demo|Building JavaOne Shale Demo]]
Line 76: Line 76:
 * [http://www-128.ibm.com/developerworks/library/j-shale0228/?ca=dgr-lnxw07Shale All Hail Shale: Shale isn't Struts]  * [[http://www-128.ibm.com/developerworks/library/j-shale0228/?ca=dgr-lnxw07Shale|All Hail Shale: Shale isn't Struts]]

1. Introduction

This is a proposal for a next generation web application framework architecture, based on assuming the existence of JavaServer Faces and utilizing its extensibility points (as well as other capabilities of the servlet and portlet APIs) to add value and improve ease of use for application developers. It was originally proposed as "the" architecture for Struts 2.x, but has been accepted as a formal Struts subproject so that it can develop community and functionality here.

2. Key Pointers

The following links provide access to information about the proposal itself, links to the nightly build area for downloading the work in progress (there have been no formal releases yet), snapshots of the Javadocs for Shale and the "Use Cases" example application, and access to information about building Shale yourself.

3. Short Term Roadmap

The following bullets define a short term roadmap of functionality that should be included before an initial release of this technology:

  • Provide View Controller support for subviews (things included via Request Dispatcher include calls) - DONE!
  • Integration of transparent Spring bean generation in the managed beans facility - DONE!
  • Integration of Commons Validator for client- and server-side validation support - DONE!
  • Integration of Commons File Upload for file upload support
  • Integration of Struts Tiles (or, more likely, the standalone variant of Tiles being proposed for incubation) for templating support - DONE!
  • Refinements to the View Controller and Dialog Controller APIs for even easier use, and robustness in the face of exceptions thrown by application logic
  • Fleshing out the unit test framework (struts-shale-test) with mocks for the remaining framework APIs
  • Instrumenting the Use Cases example app with unit tests using the test framework. - DONE!
  • Explore integration with "workflow" technologies like Spring Web Flow and Beehive's PageFlows.

4. Long Term Roadmap

Longer term plans (but could be incorporated into an initial release if sufficient developer interest exists to make it happen):

  • Server side infrastructure to respond to background XML requests from JSF components (or other code) that has client side JavaScript behavior

  • Add some JSF components to provide easy developer access to these sorts of facilities, plus examples of how they can be used

5. Recipes and Articles About Shale

StrutsShale (last edited 2009-09-20 23:12:43 by localhost)