I am currently working on a portal that uses several rich client portlets (flash applications). But I have to face problems linked to inter-portlet communication (IPC) and page refresh, that have a bad impact on user experience.
In fact, when I submit a form in a flash application, the portlet containing this application must treat the request, and then send events to other portlets that need to be aware of this action. Only these particular portlets should then be rerendered, and not the portlet invoked at the beginning (so as to keep the flash application context).
To perform this : a flash application can communicate with its portlet by passing PortletURLs as parameters when calling it. A resourceURL seems to be the best way as the portlet is not rendered after call to serveResource() method. But unfortunately, according to JSR-286 specification, it's not possible to publish events in this method. So I currently use an ActionURL, and send events in the processAction method. But it cause the whole portal page to be refreshed, and flash applications to loose their context.
Do you know how we can overpass this limitation and render only portlets that needs to be rendered ?
Thanks for your help.
I'm stuck with this, so any idea would be very welcome.
There is a very few information about this on the web... However this should be a commonly faced problem, as more and more portals embbed rich applications.