struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dakota Jack <>
Subject Re: "Use Cases" Example Webapp for the Shale proposal
Date Tue, 04 Jan 2005 06:46:03 GMT

Whatever happened to the proposals to move this JSF implementation to
MyFaces?  That would seem to be much more appropriate.  Perhaps it
could be called JSFShale or FacesShale?  What this has to do at all
with Struts has never, in my opinion, been explained, beyond the
desire to appropriate the Struts name.


On Mon, 3 Jan 2005 20:50:12 -0800, Craig McClanahan <> wrote:
> (Cross posting because this topic has come up on all of the lists in
> the last couple weeks.)
> I just committed into the Struts SVN repository a new example
> application (struts-shale-usecases) that illustrate's the different
> take that Shale has on how an application framework can be built
> around JSF, including support for "dialog scope" (longer than a
> request, but shorter than a session).  I've updated the Shale wiki
> page to contain pointers to the latest API documentation for both
> Shale and the example app:
> and nightly builds of the example app will be available starting
> tonight (pointer is on the Wiki page above).
> The commit message was over the max size allowed, so here's the
> descriptive text:
> ------------------------------------------------------------------------------------------------------------
> Initial commit of an example application for Shale, illustrating more
> interesting features than one sees with MailReader.  In particular:
> * Use of application level "controller" features to filter out
>   direct requests for JSP and JSPF (JSP fragment) resources, since
>   they should only be accessed via *.faces URLs.
>   See "src/web/WEB-INF/chain-config.xml" for configuration of
>   this application's additions to the standard Shale processing chain.
> * Use of DialogController for a sophisticated workflow with multiple
>   entries and exits:  logon dialog for a portal-type site that supports
>   creating new profiles (with or without an email confirmation), plus
>   "remember me" cookies.
>   See the javadocs for package "org.apache.shale.usecases.logon" for
>   an overview of this functionality, plus an activity diagram describing
>   the state transitions.  (The diagram was produced with Poseidon for UML
>   Community Edition, version 3.0, and the Poseidon project file is
>   also checked in).
> * Use of standard JSF facilities to support a language picker, based on
>   the supported locales for the application.  (NOTE - at present switching
>   languages does not appear to do anything, but that is because I only
>   checked in the default (English) properties file -- if someone would
>   like to translate "src/java/org/apache/shale/usecases/view/"
>   into other languages, I'd be happy to check it in.
>   See "src/web/locale/select.jsp" for the JSP page that does this,
>   and "src/java/org/apache/shale/usecases/locale/" for
>   the corresponding backing bean.
> * Use of <managed-property> elements to configure the properties of a
>   newly created managed bean, using either literal values or expressions
>   (essentially an example of IoC with setter injection).
>   In this example, such properties are used to:
>   - Configure the DAO object that is used by the business logic of
>     the application, using
>   - Configure the functionality of the DialogController instance,
>     describing whether email confirmations and remember me cookies
>     should be enabled or not.
>   See "src/web/WEB-INF/faces-config.xml" for configuration of this feature.
> * General purpose "domains" object (cached in application scope the first
>   time it is accessed) to provide localized lists of SelectItem value/label
>   pairs (these provide the content for dropdown lists etc.).
>   See "src/java/org/apache/shale/usecases/util/"
> The Javadocs for this application will be published soon, with a pointer on
> the Wiki, and nightly builds will commence this evening.
> ------------------------------------------------------------------------------------------------------------
> Craig
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:


"You can lead a horse to water but you cannot make it float on its back."

~Dakota Jack~

"You can't wake a person who is pretending to be asleep."

~Native Proverb~

"Each man is good in His sight. It is not necessary for eagles to be crows."

~Hunkesni (Sitting Bull), Hunkpapa Sioux~


"This message may contain confidential and/or privileged information.
If you are not the addressee or authorized to receive this for the
addressee, you must not use, copy, disclose, or take any action based
on this message or any information herein. If you have received this
message in error, please advise the sender immediately by reply e-mail
and delete this message. Thank you for your cooperation."

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message