There are few decisions:
- Use Liferay listener for Sun JSF with Sun's FacesPortlet.
- Use JBossPortletBridge, because it supports RichFaces and AJAX.
I choosed the second with understanding that JBossPortletBridge is in beta and everywhere says that it supports JBossPortal, but I did not find where says - "It supports Liferay too". It does not support Liferay Portal 5.0.
I found few interesting things, that anyone should know before starting write portlets with RichFaces for Liferay using JBossPortletBridge 1.0.x Beta:
- RichFaces should be at least 3.2.1.
- You should configure portlet as ajaxable with server side state saving policy
- Override the
javax.portlet.faces.GenericFacesPortlet
given with JBossPortletBridge. You'll need manually setup the request attributejavax.servlet.include.path_info
with correct viewId you want to process and render. Or you can setup this request attribute at thePortletExternalContextImpl
class incalculateServletPath()
method (remember JBossPortletBridge 1.0.x Beta). - Use
<a4j:commandXXX/>
components to process navigation.<h:commandXXX/>
will not help ((.
Good luck!
Update:
My friend Andriy has described the solution with details and configuration samples, and you can find his post by the url http://www.liferay.com/web/guest/community/forums/-/message_boards/message/1712557. It really can be useful for you.
I've uploaded the portlet sample prototype, so it's ready and waits for you :)
http://www.esnips.com/doc/de8b5661-fb6d-4fc7-83a3-ed09aa72c695/PortletPrototype