The Portlet Specification version 3.0 prototype containing all of the functionality we have discussed so far is available. The source is checked in to the Apache Pluto git repository under the 'V3Prototype' branch, and for convenience there is a pre-built download package for Windows available from the java.net site. See links below.
What this contains: V 2.0 Compatibility * All V2 portlets will continue to work * In particular, the Pluto V2 test portlets continue to deploy and execute correctly * V2 portlets can be deployed and placed on pages along side of V3 portlets V2.0 Errata * All errata changes described in the V3 javadoc (link below) have been implemented * Parameter handling errata implemented - the parameters values arrays can contain null or the empty string, etc. V3.0 Functionality * The Portlet Hub JavaScript API is implemented and available * Portlet Hub demo portlets are provided as source in the repo and pre-deployed in the pre-built package (portlet application: PortletHubDemo) * The V3 parameter handling concept has been implemented (for description, see see link below) - Clear separation of action from resource parameters in serveResource - Render parameters available during processAction - Clear separation of action from render parameters in process action - Objects containing sets of parameters can be manipulated independently of the request / response - Action & render URLs can be created with render parameters automatically added * New PortletState & MutablePortletState interfaces - Common between request, response, and URL classes - Get and set PortletMode, WindowState, and render parameters * Additional new API methods - New interfaces ActionURL & RenderURL - RenderURL#setFragmentIdentifier - BaseURL#append - BaseURL#setAuthenticated - PortletConfig#getPortletModes, PortletConfig#getWindowStates, PortletConfig#getPublicRenderParameterDefinitions - Etc. (see color-coded javadoc, link below) * V3 demo portlets that exercise the new methods (portlet application: PortletV3Demo) Restrictions: * The V3 JSP tag library supports the V2.0 functionality but not does not yet provide access to the new V3.0 functionality * Known bug: if you deploy a portlet containing a V2 PortletURLGenerationListener, it will break. I messed up the method signatures, sorry. Please try it out and let me know what you think! Portlet Specification 3.0 prototype pre-built download package (for Windows): https://java.net/projects/portletspec3/downloads/download/V3Prototype/V3Prototype-20150225.zip To use the pre-built package: 1) download & unzip the package 2) switch to the directory: ./V3Prototype/bin 3) start Pluto using startup.bat 4) Point your browser to: http://localhost:8080/pluto/portal 5) login using UserId: pluto PW: pluto 6) view the demo pages V3 Parameter handling concept description: http://msnicklous.github.io/portletspec3/apidocs/doc-files/PortletState.pdf Portlet Specification 3.0 javadocs: http://msnicklous.github.io/portletspec3/apidocs/index.html Portlet Specification 3.0 Javascript API documentation: http://msnicklous.github.io/portletspec3/jsdoc/index.html Portlet Specification 3.0 git repository (branch: V3Prototype) https://git-wip-us.apache.org/repos/asf/portals-pluto.git This branch contains all V3 functionality - the Portlet Hub as well as the server-side API changes. To build the prototype yourself: * Clone the git repository to your local machine * Checkout the "V3Prototype" branch * Build Pluto using: mvn clean install * Deploy to Tomcat using: mvn pluto2:install -DinstallDir=<path to your tomcat > * Copy the WAR file from PortletHubDemo/target to the Tomcat webapps directory * Edit the Pluto page config file to add an appropriate page with the demo portlets Mit freundlichen Grüßen, / Kind regards, Scott Nicklous WebSphere Portal Standardization Lead & Technology Consultant Specification Lead, JSR 362 Portlet Specification 3.0 IBM Software Group, Application Integration Middleware 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
