You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by Daryl Olander <do...@gmail.com> on 2006/01/03 17:35:18 UTC

Struts Action 2.0 and NetUI

Now that Rich has been made a committer on Struts (Congrats Rich), I think
it's time that we start to discuss how NetUI (Page Flows) and Struts Action
2.0 are related.  Rich can you start off the discussion with a summary of
the direction the page flow code is going (phase 2) and what you think the
direction between the two projects is?

Thanks

Re: Struts Action 2.0 and NetUI

Posted by Daryl Olander <do...@gmail.com>.
Thanks for the summary Rich.  I agree that we really need to think through
this with the community and also then involve the Struts community.  For the
moment you're their representative here, but we need to get a real sense of
how NetUI fits into their plans for 2.0 (subproject or as an optional part
of the core).

My feeling is that we should break NetUI into three parts in this
discussion,
1) The Page Flow Annotation and programming model -- This is one of two core
artifacts that our users create.
2) The JSP pages -- This is the other set of core artifacts and uses our JSP
tags or JSF support.
3) The internal API's.

It seems to me, we want to make sure there is a solid upgrade story for 1
and 2.  This should be a basic requirement.  This may include a set of
"legacy" base classes that provide the same API for 1 that is currently
being used.

As for 2, Beehive has a good model for Tags/UI and it would be interesting
to see if these have a place in the Struts 2.0 core.  There was some work on
cleaning up the architecture, aligning it closer to JSP 2.0 and allowing the
features to be exposed both through JSP and Velocity (you can think of this
as moving most of the functionality out of the JSP tags themselves into
rendering behaviors.)   There has also been a lot of thought about how AJAX
relates to these tags.  In theory, the use of these tags doesn't require
Page Flow features, but it does require some core features.

There also seems like a set of features in 3 that may be common enough to
move into the core (with some modification) and perhaps into the Commons
project.  In this list I think there are things like the URL rewriting and
templeting services.

Another basic question is do we refactor some of our programming model
(annotations) to create a more pluggable model if we move to Struts 2.0.  It
seems like if we are going to create an upgrade step, we should also look at
making other changes that have been discussed in the past.  This would be an
opportunity to revisit some of our decisions and align them better to the
Struts 2.0 architecture (and also impact the design of the core architecture
:-).

Overall, I think it very worth while to proceed with a serious look at what
NetUI would look like in a merged world.  If Struts 2.0 remains (becomes)
the defacto action framework, have close integration between our programming
model and artifacts (1 and 2) will really insure the investment our
customers are making is preserved.  What ever we do, we are going to have to
address Struts 2.0 in the NetUI future, even if we remain independent.

I'd love to hear from others on this list.  At some point I think we also
need to broaden this discussion to our user list.

Daryl


On 1/3/06, rich@apache.org <ri...@apache.org> wrote:
>
> Thanks Daryl...
>
> I'll try to keep this short [note: I failed, but please read on] -- I
> mostly have a bunch of questions, but just for everyone's info, here's a
> summary of what's happened so far.  Note that it doesn't include any
> sort of plan for what's next.
>
>     - Several months ago we did some prototyping work in the Struts
> sandbox in a project called Struts Ti.  In it, we basically converted
> our core Page Flow code to run on top of XWork (the action-dispatch
> layer of WebWork) instead of Struts 1.x.  I consider this to be *proof
> of concept* only.
>     - The WebWork/Struts merger was announced.  This produced clarity
> (no pun intended :) ) around the idea of a request/action-based Struts
> 2.x line.  The WebWork code is starting out in the Struts Ti sandbox
> under a "Phase 1" directory.
>     - Our Page Flow port moved into a "Phase 2" directory in Struts Ti.
> This doesn't mean that any of that code will actually make it into
> Struts Action -- it's conceptually the kind of thing that would go into
> the next phase of the project, but again, it's POC only.
>
> We need to decide what our community thinks is the right thing to do,
> and then I think we all need to be involved in the discussions of Struts
> Action if that's where we think we're headed.  I'll try to kick off as
> much of the NetUI-relevant discussions as possible, but first there are
> a few things to clarify over here in Beehive land.
>
> Scott and Antony both responded positively (thanks for the feedback,
> guys) on the original thread.  Steve said he'd like to see this be an
> all-or-nothing move: all of NetUI (including the tags) would go to
> Struts.  Beyond that, no one replied -- how do people feel about trying
> to merge our technology into Struts?
>
> If that's an easy question, read on.  :)
>
> My personal feeling on this is that if we merge NetUI with Struts in any
> way, then we need to provide a good upgrade/compat path for our current
> users.  It's a given.  Beyond that, though, I think it's likely that
> there would be major changes, and also that not all of our *programming
> model* would make it into the core of Struts Action.  What we can offer
> in ease-of-use is huge... but it's a radical enough leap from raw
> Struts/WebWork that I'm guessing it will take much more
> discussion/debate.  This is just my sense for things -- I'm not speaking
> with any knowledge of how this will all pan out.  If it's true that
> NetUI doesn't simply get dropped into Struts Action whole-hog...
>
>     - Do we bail out?
>     - Do we push for a Struts subproject that would add whatever doesn't
> make it into the core?
>     - Do we keep Beehive's NetUI intact, but built on the new Struts
> Action?
>
> I'd be for the middle option, but I'm interested in hearing everyone's
> thoughts on it.  ** It's important that we come to consensus on this
> particular question, in order for us to move forward. **
>
> Last question: if we do move towards Struts, do we hold off on adding
> major new functionality in NetUI on the Beehive side?  I think so, but
> again, I want to hear what everyone thinks.
>
> Finally, for the record I think that once we get on the same page
> philosophically, we should be getting involved in the Struts community.
> I will try to drive as much of that as possible, but I think that the
> Struts lists (and the wiki) are the right place for us to have the
> technical discussions (if we do decide we're in favor of merging NetUI
> with Struts).
>
> Thanks,
> Rich
>
> p.s. Please excuse my less-than-regular emails in the coming weeks.  I
> just started a new job and I'm trying to maintain my ability to sleep.  :)
>
>
> Daryl Olander wrote:
>
> >Now that Rich has been made a committer on Struts (Congrats Rich), I
> think
> >it's time that we start to discuss how NetUI (Page Flows) and Struts
> Action
> >2.0 are related.  Rich can you start off the discussion with a summary of
> >the direction the page flow code is going (phase 2) and what you think
> the
> >direction between the two projects is?
> >
> >Thanks
> >
> >
> >
>
>

Re: Struts Action 2.0 and NetUI

Posted by ri...@apache.org.
Thanks Daryl...

I'll try to keep this short [note: I failed, but please read on] -- I 
mostly have a bunch of questions, but just for everyone's info, here's a 
summary of what's happened so far.  Note that it doesn't include any 
sort of plan for what's next.

    - Several months ago we did some prototyping work in the Struts 
sandbox in a project called Struts Ti.  In it, we basically converted 
our core Page Flow code to run on top of XWork (the action-dispatch 
layer of WebWork) instead of Struts 1.x.  I consider this to be *proof 
of concept* only.
    - The WebWork/Struts merger was announced.  This produced clarity 
(no pun intended :) ) around the idea of a request/action-based Struts 
2.x line.  The WebWork code is starting out in the Struts Ti sandbox 
under a "Phase 1" directory.
    - Our Page Flow port moved into a "Phase 2" directory in Struts Ti.  
This doesn't mean that any of that code will actually make it into 
Struts Action -- it's conceptually the kind of thing that would go into 
the next phase of the project, but again, it's POC only. 

We need to decide what our community thinks is the right thing to do, 
and then I think we all need to be involved in the discussions of Struts 
Action if that's where we think we're headed.  I'll try to kick off as 
much of the NetUI-relevant discussions as possible, but first there are 
a few things to clarify over here in Beehive land.

Scott and Antony both responded positively (thanks for the feedback, 
guys) on the original thread.  Steve said he'd like to see this be an 
all-or-nothing move: all of NetUI (including the tags) would go to 
Struts.  Beyond that, no one replied -- how do people feel about trying 
to merge our technology into Struts?

If that's an easy question, read on.  :)

My personal feeling on this is that if we merge NetUI with Struts in any 
way, then we need to provide a good upgrade/compat path for our current 
users.  It's a given.  Beyond that, though, I think it's likely that 
there would be major changes, and also that not all of our *programming 
model* would make it into the core of Struts Action.  What we can offer 
in ease-of-use is huge... but it's a radical enough leap from raw 
Struts/WebWork that I'm guessing it will take much more 
discussion/debate.  This is just my sense for things -- I'm not speaking 
with any knowledge of how this will all pan out.  If it's true that 
NetUI doesn't simply get dropped into Struts Action whole-hog...

    - Do we bail out?
    - Do we push for a Struts subproject that would add whatever doesn't 
make it into the core?
    - Do we keep Beehive's NetUI intact, but built on the new Struts Action?

I'd be for the middle option, but I'm interested in hearing everyone's 
thoughts on it.  ** It's important that we come to consensus on this 
particular question, in order for us to move forward. **

Last question: if we do move towards Struts, do we hold off on adding 
major new functionality in NetUI on the Beehive side?  I think so, but 
again, I want to hear what everyone thinks.

Finally, for the record I think that once we get on the same page 
philosophically, we should be getting involved in the Struts community.  
I will try to drive as much of that as possible, but I think that the 
Struts lists (and the wiki) are the right place for us to have the 
technical discussions (if we do decide we're in favor of merging NetUI 
with Struts).

Thanks,
Rich

p.s. Please excuse my less-than-regular emails in the coming weeks.  I 
just started a new job and I'm trying to maintain my ability to sleep.  :)


Daryl Olander wrote:

>Now that Rich has been made a committer on Struts (Congrats Rich), I think
>it's time that we start to discuss how NetUI (Page Flows) and Struts Action
>2.0 are related.  Rich can you start off the discussion with a summary of
>the direction the page flow code is going (phase 2) and what you think the
>direction between the two projects is?
>
>Thanks
>
>  
>