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