You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by Mete Kural <me...@touchtonecorp.com> on 2003/10/29 14:04:33 UTC

RE: JSR-168 and Struts

Hello Struts and Pluto developers, 

There was a thread about developing JSR-168 support into Struts 2.0 in the pluto-dev list and we thought it might be best to continue this thread on both lists, pluto-dev and struts-dev synchronously. Below is the last email in the thread send by Scott Weaver to the pluto-dev list. Please "reply all" so that your emails will go to both groups.

Thanks,
Mete

Scott's message:

---------- Original Message ----------------------------------
From: "Weaver, Scott" <Sw...@rippe.com>
Reply-To: pluto-dev@jakarta.apache.org
Date:  Wed, 29 Oct 2003 15:33:03 -0500

Hi Martin,

> -----Original Message-----
> From: Martin Cooper [mailto:martinc@apache.org]
> Sent: Wednesday, October 29, 2003 3:16 PM
> To: 'pluto-dev@jakarta.apache.org'
> Subject: RE: Pluto and Struts
> 
> On Wed, 29 Oct 2003, Weaver, Scott wrote:
> 
> > Maybe it's just me, but I tried to build the contrib stuff in the CVS
> for struts a while back as I wanted to start taking a look at.  However, I
> could never get it built.  There were deps I had never heard of, nor did I
> know were to get them.
> 
> If you could let me know what you're having problems with, I'll try to
> help you through getting it all built. The chances are that anything you
> haven't heard of comes from Jakarta Commons or the Commons Sandbox. (For
> example, 'chain' is currently in the sandbox.)

I know most of the stuff in commons proper, I don't think that's were my issue lies.  I am pretty sure it was chain that I couldn't find and, at the time, I am not sure it was available, even within commons-sandbox.  I don't remember the specific issues as this was around 2 months ago when I last tried.

> 
> I was actually having the same problem but from the other side of the
> coin, as it were. I need to build 'chain' against the Portlet API, but I
> couldn't get Pluto to build, and couldn't figure out the deps for that.
> (BTW, since Pluto's build.xml depends on ant-contrib, '-projecthelp'
> doesn't work until that's configured, which is quite mysterious until you
> look at the build file itself. ;)
> 

Try "build driver", there are custom ant tasks that get included when you call the "build" script.  

I really don't do much at all with Pluto portal implementation in that my focus, concerning Jetspeed, is the core Pluto container itself.  That is were I spend most of my time in regards to Pluto.

That being said, there should be no fork in development to support either Pluto Portal or Jetspeed 2.  In fact, if we do this correctly, the whole thing should be transparent to the Struts portlet app and that app should be easily portable to any other JSR-168 portal.

p.s.

I have no issues whatsoever with joining the Struts-dev mailing list, however, I think it might be in the best interest of all involved that we cross-post to both struts-dev and pluto-dev.

I look forward to working with you.

Regards,
*================================* 
| Scott T Weaver                 |
| <we...@apache.org>            | 
| Apache Jetspeed Portal Project |
| Apache Pluto Portlet Container |
*================================*



Re: JSR-168 and Struts

Posted by "Craig R. McClanahan" <cr...@apache.org>.
Don Brown wrote:

>Pretty much the only dependency of struts-chain is a recent build of
>jakarta-commons-sandbox/chain.  To fully build commons-chain, in addition
>to other commons jars, you need the porlet api jar, the servlet jar, and
>the latest jsf jar from the sun web services pack 1.3 I believe.  However,
>you should be able to build commons-chain with one of these jars missing
>if you don't need their related chain classes.
>
>Currently, struts-chain implements most of Struts functionality in the
>form of small commands, strung together by chain-config.xml.  For any
>commands that would have a use outside servlets, there exist abstract
>classes in org.apache.struts.chain in the form of Abstract*.java  which
>perform all possible tasks without accessing servlet apis.  The abstract
>commands are implemented in o.a.s.c.servlet by servlet specific commands
>which handle all direct servlet contact.
>
>To make struts-chain work with the portlet api, a new package will be
>created, o.a.s.c.portlet, which will contain implementations of the
>abstract classes in o.a.s.chain.  These commands will take the context,
>cast it into a PortletContext (I believe that's the name), and access
>portlet apis directly just as the servlet commands did.
>
>These commands, particularly the api dependent ones, are very short and
>should be very easy to port.  Of course Struts in a portlet context will
>use a different chain-config.xml with commands pointing to the porlet
>implementations rather than the servlet ones, but it should pretty much be
>the same structure and behavior.
>
>  
>

All of the above will be needed, but there's a couple of additional 
wrinkles to the portlet environment that are going to be interesting:

* Portlet doesn't let you do a RequestDispatcher.forward(), which is
  the normal way that Struts passes final control to the JSP or other
  resource that renders the response.  I suspect we can deal with this
  by using RequestDispatcher.include() instead.

* Portlet divides the lifetime of a request into two phases ("processAction"
  and "render") -- in a Struts world, that roughly corresponds to everything
  before the processForwardConfig() call and the processForwardConfig()
  itself.  I suspect this is probably best modelled as two separate chains
  (but both executing on the same Context instance, so stuff accumulated
  during processAction is available during rendering) but haven't thought it
  all the way through yet.

>I'm new to struts-chain, so hopefully this is an accurate description of
>the current state of struts-chain and how the portlet api will be
>supported.
>
>Don
>
>  
>
Craig


>On Wed, 29 Oct 2003, Mete Kural wrote:
>
>  
>
>>Hello Struts and Pluto developers,
>>
>>There was a thread about developing JSR-168 support into Struts 2.0 in the pluto-dev list and we thought it might be best to continue this thread on both lists, pluto-dev and struts-dev synchronously. Below is the last email in the thread send by Scott Weaver to the pluto-dev list. Please "reply all" so that your emails will go to both groups.
>>
>>Thanks,
>>Mete
>>
>>Scott's message:
>>
>>---------- Original Message ----------------------------------
>>From: "Weaver, Scott" <Sw...@rippe.com>
>>Reply-To: pluto-dev@jakarta.apache.org
>>Date:  Wed, 29 Oct 2003 15:33:03 -0500
>>
>>Hi Martin,
>>
>>    
>>
>>>-----Original Message-----
>>>From: Martin Cooper [mailto:martinc@apache.org]
>>>Sent: Wednesday, October 29, 2003 3:16 PM
>>>To: 'pluto-dev@jakarta.apache.org'
>>>Subject: RE: Pluto and Struts
>>>
>>>On Wed, 29 Oct 2003, Weaver, Scott wrote:
>>>
>>>      
>>>
>>>>Maybe it's just me, but I tried to build the contrib stuff in the CVS
>>>>        
>>>>
>>>for struts a while back as I wanted to start taking a look at.  However, I
>>>could never get it built.  There were deps I had never heard of, nor did I
>>>know were to get them.
>>>
>>>If you could let me know what you're having problems with, I'll try to
>>>help you through getting it all built. The chances are that anything you
>>>haven't heard of comes from Jakarta Commons or the Commons Sandbox. (For
>>>example, 'chain' is currently in the sandbox.)
>>>      
>>>
>>I know most of the stuff in commons proper, I don't think that's were my issue lies.  I am pretty sure it was chain that I couldn't find and, at the time, I am not sure it was available, even within commons-sandbox.  I don't remember the specific issues as this was around 2 months ago when I last tried.
>>
>>    
>>
>>>I was actually having the same problem but from the other side of the
>>>coin, as it were. I need to build 'chain' against the Portlet API, but I
>>>couldn't get Pluto to build, and couldn't figure out the deps for that.
>>>(BTW, since Pluto's build.xml depends on ant-contrib, '-projecthelp'
>>>doesn't work until that's configured, which is quite mysterious until you
>>>look at the build file itself. ;)
>>>
>>>      
>>>
>>Try "build driver", there are custom ant tasks that get included when you call the "build" script.
>>
>>I really don't do much at all with Pluto portal implementation in that my focus, concerning Jetspeed, is the core Pluto container itself.  That is were I spend most of my time in regards to Pluto.
>>
>>That being said, there should be no fork in development to support either Pluto Portal or Jetspeed 2.  In fact, if we do this correctly, the whole thing should be transparent to the Struts portlet app and that app should be easily portable to any other JSR-168 portal.
>>
>>p.s.
>>
>>I have no issues whatsoever with joining the Struts-dev mailing list, however, I think it might be in the best interest of all involved that we cross-post to both struts-dev and pluto-dev.
>>
>>I look forward to working with you.
>>
>>Regards,
>>*================================*
>>| Scott T Weaver                 |
>>| <we...@apache.org>            |
>>| Apache Jetspeed Portal Project |
>>| Apache Pluto Portlet Container |
>>*================================*
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: struts-dev-help@jakarta.apache.org
>>
>>
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: struts-dev-help@jakarta.apache.org
>  
>



---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org


RE: JSR-168 and Struts

Posted by Don Brown <mr...@twdata.org>.
Pretty much the only dependency of struts-chain is a recent build of
jakarta-commons-sandbox/chain.  To fully build commons-chain, in addition
to other commons jars, you need the porlet api jar, the servlet jar, and
the latest jsf jar from the sun web services pack 1.3 I believe.  However,
you should be able to build commons-chain with one of these jars missing
if you don't need their related chain classes.

Currently, struts-chain implements most of Struts functionality in the
form of small commands, strung together by chain-config.xml.  For any
commands that would have a use outside servlets, there exist abstract
classes in org.apache.struts.chain in the form of Abstract*.java  which
perform all possible tasks without accessing servlet apis.  The abstract
commands are implemented in o.a.s.c.servlet by servlet specific commands
which handle all direct servlet contact.

To make struts-chain work with the portlet api, a new package will be
created, o.a.s.c.portlet, which will contain implementations of the
abstract classes in o.a.s.chain.  These commands will take the context,
cast it into a PortletContext (I believe that's the name), and access
portlet apis directly just as the servlet commands did.

These commands, particularly the api dependent ones, are very short and
should be very easy to port.  Of course Struts in a portlet context will
use a different chain-config.xml with commands pointing to the porlet
implementations rather than the servlet ones, but it should pretty much be
the same structure and behavior.

I'm new to struts-chain, so hopefully this is an accurate description of
the current state of struts-chain and how the portlet api will be
supported.

Don


On Wed, 29 Oct 2003, Mete Kural wrote:

> Hello Struts and Pluto developers,
>
> There was a thread about developing JSR-168 support into Struts 2.0 in the pluto-dev list and we thought it might be best to continue this thread on both lists, pluto-dev and struts-dev synchronously. Below is the last email in the thread send by Scott Weaver to the pluto-dev list. Please "reply all" so that your emails will go to both groups.
>
> Thanks,
> Mete
>
> Scott's message:
>
> ---------- Original Message ----------------------------------
> From: "Weaver, Scott" <Sw...@rippe.com>
> Reply-To: pluto-dev@jakarta.apache.org
> Date:  Wed, 29 Oct 2003 15:33:03 -0500
>
> Hi Martin,
>
> > -----Original Message-----
> > From: Martin Cooper [mailto:martinc@apache.org]
> > Sent: Wednesday, October 29, 2003 3:16 PM
> > To: 'pluto-dev@jakarta.apache.org'
> > Subject: RE: Pluto and Struts
> >
> > On Wed, 29 Oct 2003, Weaver, Scott wrote:
> >
> > > Maybe it's just me, but I tried to build the contrib stuff in the CVS
> > for struts a while back as I wanted to start taking a look at.  However, I
> > could never get it built.  There were deps I had never heard of, nor did I
> > know were to get them.
> >
> > If you could let me know what you're having problems with, I'll try to
> > help you through getting it all built. The chances are that anything you
> > haven't heard of comes from Jakarta Commons or the Commons Sandbox. (For
> > example, 'chain' is currently in the sandbox.)
>
> I know most of the stuff in commons proper, I don't think that's were my issue lies.  I am pretty sure it was chain that I couldn't find and, at the time, I am not sure it was available, even within commons-sandbox.  I don't remember the specific issues as this was around 2 months ago when I last tried.
>
> >
> > I was actually having the same problem but from the other side of the
> > coin, as it were. I need to build 'chain' against the Portlet API, but I
> > couldn't get Pluto to build, and couldn't figure out the deps for that.
> > (BTW, since Pluto's build.xml depends on ant-contrib, '-projecthelp'
> > doesn't work until that's configured, which is quite mysterious until you
> > look at the build file itself. ;)
> >
>
> Try "build driver", there are custom ant tasks that get included when you call the "build" script.
>
> I really don't do much at all with Pluto portal implementation in that my focus, concerning Jetspeed, is the core Pluto container itself.  That is were I spend most of my time in regards to Pluto.
>
> That being said, there should be no fork in development to support either Pluto Portal or Jetspeed 2.  In fact, if we do this correctly, the whole thing should be transparent to the Struts portlet app and that app should be easily portable to any other JSR-168 portal.
>
> p.s.
>
> I have no issues whatsoever with joining the Struts-dev mailing list, however, I think it might be in the best interest of all involved that we cross-post to both struts-dev and pluto-dev.
>
> I look forward to working with you.
>
> Regards,
> *================================*
> | Scott T Weaver                 |
> | <we...@apache.org>            |
> | Apache Jetspeed Portal Project |
> | Apache Pluto Portlet Container |
> *================================*
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-dev-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org