Hi,

As you know, I've been working on the Portlet Specification V3 reference
implementation hosted at Apache Pluto in order to make it conform to the
portlet spec Draft #1. I I have much of the basis work needed to implement
the annotation support finished. I think this is a big milestone, so I
wanted to let you all know. The code is available in the Pluto repository
and I have prepared a predeployed package for Windows containing Pluto
along with some sample portlets and have posted it to the project download
site.

I can demo this in the next EG meeting on Tuesday, if desired.

New functionality compared to Pluto 2.1 (master branch):

* Rewrote much of the portlet.xml reading code to prepare for configuration
through annotations
* Change the initialization to use dynamic servlet deployment for the
portlet servlets
      * Use of maven-portlet-plugin to modify the web.xml file in a portlet
war is no longer needed
      * The web.xml file in portlet archives is now optional
* Integrated the Portlet Specification v3.0 Draft 1 level of the Portlet
API
     * Implemented the new state handling support
         * RenderParameters, ActionParameters, ResourceParameters, etc.
     * Implemented the portlet hub client-side support
        * Implemented Partial Action processing
        * Implemented PAGE_STATE attribute for the resource request for
partial action support
     * Implemented header phase support according to the spec
        * For V3 portlets with HeaderRequest and HeaderResponse
        * For V3 portlets markup written to the output stream is added to
the document HEAD section
        * For V2 portlets with RENDER_PART support
        * Markup written to the output stream or added through addProperty
(String, Element) is validated
           * Can only add tags that are allowed in the HEAD section
     * Implemented PortletResponse#addProperties &
PortletResponse#setProperties
        * For V2 & V3 portlets HTTP headers and cookies can be set
        * HTTP Headers are allowed / disallowed according to request
     * Implemented ActionResponse#getRedirectURL()
     * Implemented portlets to demo the new functionality
* Moved Pluto to Servlet API v3.1, must be deployed on Tomcat 8
* Various bug fixes
* Added CDI support
      * The appropriate CDI package is installed on Tomcat during Pluto
installation

Next Steps:
* Add configuration through annotation
* Add bean portlet support
* Bring the Pluto tag library up to v3 level (actually, this is not yet
addressed in the spec, so I would need to do that, too)

Windows package:
https://java.net/projects/portletspec3/downloads/download/V3Prototype/V3Prototype-20151127.zip

Source code If you've already cloned the Pluto git repo:

git pull origin V3Prototype
git checkout V3Prototype

Source code if you still need to clone Pluto:

git clone https://git-wip-us.apache.org/repos/asf/portals-pluto.git
git checkout V3Prototype

Let's see if I can get done by Christmas ... :-)

Mit freundlichen Grüßen, / Kind regards,
Scott Nicklous

WebSphere Portal Standardization Lead & Technology Consultant
Specification Lead, JSR 362 Portlet Specification 3.0

IBM Deutschland Research & Development GmbH / Vorsitzender des
Aufsichtsrats: Martina Koederitz / Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart,
HRB 243294

Reply via email to