Since June 2008 we have the final release of Portlet 2.0 (JSR 286) specification bringing the long sought after features like inter-portlet communication (IPC – events, shared/public render parameters), support for Ajax (resource request), portlet filters and more. It’s already implemented in the latest versions of leading portals including Liferay 5.0, JBoss 2.7, Websphere 6.1 (though you can still encounter some bugs).
Now we would like to know when the lovers of JSF will be able to profit from these features in their JSF portlets.
Currently it’s possible to embed a JSF 1.2 application into a JSR 168 portal using a Portlet Bridge 1.0 (JSR 301). This is all still quite new – JSR 301 is only a proposed final draft as of June 8th 2009. So you can expect that it will take time to see also support for JSR 286 (or the upcoming JSF 2.0).
Note: Of course you can run JSF portlet bridge 1.0 applications in JSR 286 compliant portals but won’t have an easy access to the new features.
A specification of Portlet Bridge 2.0 that would bring JSR 286 to the JSF world is being born but it’s still so young that it even hasn’t a JSR number yet. While creating the specification for Portlet Bridge 1.0 took 2-3 years we may hope that 2.0 could be faster as the foundation is already laid by 1.0 but still it will surely take at least half a year, much more likely a year or more. For the time being the only option is to take any of the open source implementations and try to hack the feature you need.
Update: The JSR for Portlet 2.0 Bridge for JSF 1.2 is #329 (thanks, balz).
MyFaces Portlet Bridge 2.0, a reference implementation of the new specification being formed, already has some alpha code. They’re quite ahead of time 🙂
According to some posts WebSphere Portal 6.1 implementation of portlet bridge seems to support JSR 286 though it is not yet perfect.
JBoss Portlet Bridge (now 1.0.0 beta 6) and Sun JSF Portlet Bridge (1.2.3, 8/2008) plan this perhaps in their 2.0 versions. We can also see that the authors of ICEFaces plan to incorporate this in v2.0 (currently 1.8.0RC1), but likely all of them depend on the specification coming to some stable state.
But a limited support is already available, for instance you can use public render parameters in JSF Portlet Bridge.
It will take at least months to have a JSR 286 enabled Portlet Bridge buth work is already under way.