> Some people already moan that struts is too jsp orientated with
> the tags that are included 

I'm not trying to tip the discussion in any direction here, but I
thought I would point out that JSF is "supposed" to be view agnostic. 
Render kits are being built for WML, Swing, etc.  I think that it is
safe to assume that JSF would move Struts AWAY from its jsp
orientation.

> and I'm wondering what proportion of the
> exisiting Struts user base were going to loose/screw going that route?
> 
> I guess in order to agree/disagree with this stratgey I need to go and
> actullay try JSF out.
> 
> Niall
> 
> 
> 
> ----- Original Message -----
> From: "Sean Schofield" <[EMAIL PROTECTED]>
> To: "Struts Developers List" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> Sent: Tuesday, October 26, 2004 6:35 PM
> Subject: Re: Struts Shale
> 
> > I'm +1 on JDK 1.4 (+0 on JDK 1.5).
> >
> > I also agree with Craig's sentiments on keeping things as simple as
> > possible and not reinventing what JSF (and other frameworks) can do
> > for you.
> >
> > The more I look at JSF, the more impressed I am with it.  In many ways
> > it seems to be a signifcant improvement upon Struts but without the
> > restrictions on being backwards compatible.  Not suprising since Craig
> > was key in both of these efforts ...
> >
> > I definitely feel that JSF should fit seemlessly into the new Shale
> > effort.  Right now its a bit awkward integrating Struts and JSF.
> > That's to be expected because Struts was not designed with JSF in
> > mind.  Going forward, however, I think we diminish the value of both
> > Struts and JSF if we don't take JSF strongly into account.
> >
> > From reading Craig's proposal and comment here, it sounds like that is
> > his goal.  I just wanted to second that notion.
> >
> > sean
> >
> >
> > On Tue, 26 Oct 2004 09:34:07 -0700, Craig McClanahan <[EMAIL PROTECTED]>
> wrote:
> > > Just time for a couple of notes this morning.
> > >
> > > I'm +0 on JDK 5.0 (nee 1.5) depending on how long we really think this
> > > is going to take.  The "struts core" part of this isn't really huge or
> > > complicated, but asking a Struts developer for a timeline is probably
> > > a silly thing to do :-).
> > >
> > > Other comments inline.
> > >
> > >
> > > On Tue, 26 Oct 2004 09:42:27 -0400, Ted Husted <[EMAIL PROTECTED]>
> wrote:
> > > > > On Mon, 25 Oct 2004 04:56:45 +0000, [EMAIL PROTECTED] wrote:
> > > > >> URL: http://wiki.apache.org/struts/StrutsShale
> > > >
> > > > A few more more notes.
> > > >
> > > > > 2.4 View Controller
> > > > > 3.3 View (Presentation) Tier APIs
> > > > > Proposal:: JavaServer Faces 1.1
> > > >
> > > > Does the View Controller need to be tied to JSF?
> > > >
> > > > Could the interface be agnostic and a FacesViewController be provided
> that is specific to JSF?
> > > >
> > > > Or, could there be a [org.apache.shale.faces] package, allowing room
> for, say, a [org.apache.shale.xlst] package or a [org.apache.shale.jstl]
> package or a [org.apache.shale.velocity] ?
> > > >
> > > > I'm not saying that we would have to provide all of these packages for
> Shale to be complete. I'd just like to position Struts 2.x so it could be
> everyone's controller :) -- if there are volunteers ready, willing, and able
> to make it so.
> > >
> > > The interface as currently defined is not dependent on JSF, nor need
> > > it be for its own purposes.  Applications that implement a
> > > ViewController can stay *mostly* agnostic of the view tier technology,
> > > but you still have to decide at some point:
> > >
> > > * How do I bind my model data to my user interface "components"?
> > >  (With JSF, you use value bindings on the components to
> > >  properties in your view controller, and/or "binding" attributes
> > >  to bind the actual component instances.)
> > >
> > > * How do I send error messages back to the user interface?
> > >  (With JSF, you call FacesContext.addMessage().)
> > >
> > > * How do I initiate page navigation? (With JSF, the string outcome
> > >  returned by an "action" method is fed through the page navigation
> > >  rules you've configured to choose the next page, or "null"
> > >  return means stay on the same page).
> > >
> > > All of those sorts of decisions have predefined answers in JSF, and
> > > abstracting them would require building infrastructure (into Struts
> > > Core) to bridge that gap into any other view tier technology you want,
> > > and/or reinventing a lot of what JSF (the managed beans, page
> > > navigation, and so on) already has.  That's not an effort I'm
> > > interested in actually doing, and IMHO it would needlessly complicate
> > > the overall architecture -- but it's technically feasible.
> > >
> > > >
> > > > > 2.5 Functionality Not Included In Struts 2.0 Core
> > > >
> > > > Would any view packages be bundled with the 2.x core, or would the
> core be the Application controller and interfaces for the Dialog and View
> controllers (and any implementation-independent utilities).
> > > >
> > >
> > > My current view is that no view *components* would be included in the
> > > core -- although, if we accept the proposal to base the core on JSF
> > > for its infrastructure capabilities, we'd need to have a JSF
> > > implementation available (even if an alternative view technology was
> > > used for the actual presentation).  The core would also include
> > > preregistration of JSF plugins like a custom ViewHandler that would
> > > actually implement the ViewHandler calling-in contracts (but that's
> > > invisible to people using it; JSF recognizes META-INF/faces-config.xml
> > > files inside a JAR at startup time to add stuff like this).
> > >
> > > It's clearly reasonable to distribute separate view tier packages,
> > > including things like useful components (the way MyFaces does) and/or
> > > extra goodies for things like validation.
> > >
> > > > > 2.5 Functionality Not Included In Struts 2.0 Core
> > > >
> > > > Since "client-side" validation is mentioned, are we leaving the door
> open for "server-side" validation?
> > > >
> > >
> > > My current view is that UI validation (as opposed to business rules
> > > that might require database lookups, like authenticating a user in a
> > > login screen) should be defined in the view tier.  Whether it's
> > > implemented client side or server side (or both) is an implementation
> > > detail.  Here's some options (again presuming a choice of JSF):
> > >
> > > * Standard JSF per-component validators (server side only for
> > >  the standard components, but smarter components could do
> > >  client side as well)
> > >
> > > * Special form tag component that hooks into an externally defined
> > >  set of rules that enforce the rules both client and server side
> > >  (this is what struts-faces does to hook into Commons Validator)
> > >
> > > * Special JSF ActionListener plugin (the part of JSF that receives
> > >  submit buttons and decides what view controller to load, and what
> > >  action method to call) that would hook in to the validator framework
> > >  (this would work with the standard form component too)
> > >
> > > In none of the cases would the view controller's action method be
> > > called if there were validation errors (exactly analogous to how we
> > > don't call an Action if errors existed).
> > >
> > > > Perhaps as an abstract link in the request processing chain?
> > >
> > > The third option above is probably the most elegant, and would
> > > certainly lend itself to inserting an arbitrary request processing
> > > chain of your own, which could include validation or anything else you
> > > wanted to do solely on form submits (versus user interface events like
> > > expanding a node in a tree control, where the component changes state
> > > and just rerenders the page).
> > >
> > > >
> > > > Would there be an interface for the Application Controller?
> > > >
> > >
> > > Not sure.  It could be as simple as a set of servlet filters that you
> > > configure together, or it could be some single filter (to make web.xml
> > > manipulation easier) that has a configuration file for the services
> > > that are defined at this level (perhaps driven by chains).
> > >
> > > > > [New topic] 2.6 Unit Tests
> > > >
> > > > Would it be all right if I contributed some unit tests to the codebase
> accompanying the proposal?
> > > >
> > >
> > > Absolutely.  There's an empty spot in SVN ("src/test") just waiting
> > > for this kind of thing to be added.
> > >
> > > In fact, I'd like to go one further in the big picture -- I'd like us
> > > to include unit tests in any example application that we ship, so that
> > > we can demonstrate best practices for unit testing a Struts-based
> > > appication.
> > >
> > > This will also show off one particular architectural change that
> > > Struts 1.x gets knocked for -- it's much easier to unit test a view
> > > controller ... all your test framework has to do is call into the bean
> > > in the right order -- no mocks unless you need to deal with error
> > > messages (and we might want to set up an abstraction to make that
> > > easier too).
> > >
> > > > I realize that everything is subject to change, and the tests would
> have be resynched with any changes, but I'm up for that :)
> > > >
> > > > Obviously, the tests would not be much at this point, but I want to be
> sure we start out on the right foot.
> > > >
> > >
> > > +1 on being aggressive about unit testing the framework itself (and
> > > apps, as described above).
> > >
> > > > > 3.8 Logging APIs
> > > >
> > > > Proposal: Commons Logging
> > > >
> > > > +1
> > > >
> > >
> > > Craig
> > >
> > > >
> > > >
> > > >
> > > > On Tue, 26 Oct 2004 01:14:40 -0400, Ted Husted wrote:
> > > > >> 3.1 Java2 Standard Edition APIs
> > > > >>
> > > > > I'd be +1 for J2SE 5.0
> > > > >
> > > > > * http://java.sun.com/j2se/1.5.0/index.jsp
> > > > >
> > > > > Since Struts 1.x is in evolutionary mode, we might as well start
> > > > > the  revolution based on the latest and greatest. We'd then be able
> > > > > to "take advantage of annotations, generics, and all that". From
> > > > > the traffic on the list, I have the feeling many of us have JDK 5.0
> > > > > itches. I'm getting one myself :)
> > > > >
> > > > > As Apache Beehive reasoned, by the time we are done, it will be
> > > > > widely deployed. If we both base our work on JDK 5.0, we might help
> > > > > that become a self-fulfilling prophesy :)
> > > > >
> > > > >
> > > > >> 3.5 Service Provisioning APIs
> > > > >> From my research so far, I like Spring's capabilities in this
> > > > >> area the best, but am open to other suggestions.
> > > > >>
> > > > > +1
> > > > >
> > > > >
> > > > > On Mon, 25 Oct 2004 04:56:45 +0000, [EMAIL PROTECTED] wrote:
> > > > >
> > > > >> Date: 2004-10-24T21:56:45
> > > > >> Editor: CraigMcClanahan <[EMAIL PROTECTED]>
> > > > >> Wiki: Apache Struts Wiki
> > > > >> Page: StrutsShale
> > > > >> URL: http://wiki.apache.org/struts/StrutsShale
> > > > >>
> > > > >> Pointers to information about the "Shale" proposal
> > > > >>
> > > > >> New Page:
> > > > >>
> > > > >> This is a proposal for an overall architecture for Struts 2.0,
> > > > >> based on dividing the controller tier into
> > > > >> modular layers, and dramatically increasing the usability of the
> > > > >> controller functionality.
> > > > >>
> > > > >> * [http://svn.apache.org/viewcvs.cgi/*checkout*
> > > > >> /struts/trunk/contrib/struts-shale/README.html Proposal Details]
> > > > >> (latest SVN version)
> > > > >> * [http://www.apache.org/~craigmcc/struts-shale/ API Javadocs]
> > > > >> (periodically updated)
> > > > >>
> > > > >>
> > > > >> ------------------------------------------------------------------
> > > > >> --  - To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > >> For  additional commands, e-mail: [EMAIL PROTECTED]
> > > > >
> > > > >
> > > > > --------------------------------------------------------------------
> > > > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For
> > > > > additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > >
> > > >
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > > ---------------------------------------------------------------------
> > >
> > >
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> 
> ---------------------------------------------------------------------
> 
> 
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to