Awesome!!!  Great job, Ate!!!

Ate Douma wrote:

I'm happy to bring the news of a major upgrade of the Struts Bridge.

A short summary of its new features:
- Based on the latest Struts-1.2.4

- Provides new struts-1.2.4-portlet-html.tld and struts-1.2.4-portlet-html-el.tld, as
well as a new struts-portlet-el.tld.
The first two tld files are full replacements for the struts-html and struts-html-el tlds.
By using these tlds instead of the struts-portlet and struts-portlet-el tlds, migrating
existing Struts applications becomes much easier (just change the taglib definition).
Furthermore, there is now full struts-el support Bridge for all the tags (including the
new onces).


- New Portlet supporting extended Struts tags ImgTag and ImageTag and largely extended
LinkTag and RewriteTag.
These tags now support relative image src paths and href link
paths (including ../ elements).


- Provides transparent (non-code based) definition of request attribute values to be saved
during ActionRequest handling which will be restored in the subsequent RenderRequest(s).


- Provides transparent (non-code based) definition of url (prefixes) which must be
rendered as Action or Render PortletURL.
This removes the need to specify the renderURL attribute for link and rewrite tags (its
still supported though, and then will override).


- xml based configuration of above two features loaded at Portlet initialization.
Default configuration file name: WEB-INF/struts-portlet-config.xml, but this is
configurable itself as well.
Example configuration (from the new JPetstore demo Portlet):
<?xml version="1.0" encoding="UTF-8"?>
<config>
<render-context>
<attribute name="errors"/>
<attribute name="message"/>
</render-context>
<portlet-url-type default="render">
<action path="/shop/add"/>
<action path="/shop/switch"/>
<action path="/shop/remove"/>
<action path="/shop/signoff"/>
<action path="/shop/viewCategory"/>
<action path="/shop/viewItem"/>
<action path="/shop/viewProduct"/>
<action path="/shop/viewCart"/>
<action path="/shop/newOrder"/>
<render path="/shop/newOrderForm"/>
<action path="/shop/listOrders"/>
</portlet-url-type>
</config>


- IMPORTANT:
Default PorletURL created by link and rewrite tag changed from ActionURL to RenderURL.


This change is made because in the most cases this turned out to be RenderURLs.

For migrating of existing Struts Bridge based Portlets to the new version there is an
very simple configuration option to revert this to the old style:


  Define a WEB-INF/struts-portlet-config.xml containing (at least):
    <?xml version="1.0" encoding="UTF-8"?>
        <config>
      <portlet-url-type default="action"/>
    </config>

That'll switch the default back to the old style. For the old Struts MailReader Demo Portlet
also provided with Jetspeed-2, I've put in a configuration file just like that.


- New demo portlet application: JPetstore Portlet.
This very know example web application from iBatis (www.ibatis.com) is now also available as
Portlet and is automatically deployed in Jetspeed-2 as demo portlet: check it out.


- Deploy as Portlet or as web application!
The Struts Bridge can now be used in a non-Portlet context, and then will simply fall back to
the basic Struts functionality.
This allows the deployment of the same Portlet Application war as web application and as portlet
application. You can thus also test the application in a web server only (as long as you
don't use Portlet features specifically).


Try out the JPetstore Portlet demo and access it as Portlet from within Jetspeed-2 or
directly from the webserver (e.g. http://localhost:8080/jpetstore).


- Abstracted the access to the ServletContextProvider with protected methods in StrutsPortlet
allowing Portal Vendor specific extensions to be used (like VAP).


- Still no real documentation ;-)
I'm working on it and plan to deliver real usage documentation, as well as a tutorial and instructions
for migrating existing Struts applications, within a week.


Regards, Ate Douma


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





--
"Great minds discuss ideas. Average minds discuss events. Small minds discuss 
people."  - Admiral Hyman Rickover

*******************************************
*           Scott T. Weaver               *
*         <[EMAIL PROTECTED]>             *
*     <http://www.einnovation.com>        *
* --------------------------------------  *
*   Apache Jetspeed Enterprise Portal     *
*     Apache Pluto Portlet Container      *
*                                         *
* OpenEdit, Website Content Management    *
*     <http://www.openedit.org>           *
*******************************************


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



Reply via email to