The requirements were:
- be lightweight: We just store a gadget title and its URL in magnolia. To be able to do so we just need a magnolia instance with the new module installed.
- preserve the existing web-apps as far as possible: Having understood how the mechanism works, it only took about 2 hours per app to convert into a gadget.
- allow to render different views for each app (minimized, maximized): We just used the home and the canvas view as defined by OpenSocial. The js files of Apache Shindig already supported them - the gwt-apps came with two corresponding views that could be mapped to the ones of OpenSocial.
- allow communication between the apps: OpenSocial pubsub mechanism is also provided with Apache Shindig so we only had to activate the feature.
I created a short screencast to show were we currently are:
Seeing separate gadgets being rendered within magnolia was already quite impressive. When we put in the converted GWT-Apps at the customer's side, OpenSocial revealed its real power:
Styles of the container and of all the gadgets were aligned so it really looked like an enterprise portal. On top - using the pubsub feature - gadgets can easily interact with each other. I'd be really surprised if we'll not see lots of Magnolia empowered websites hosting gadgets within the next few months.
Me I'll jump back to Magnolia 5.0 development now, but will keep an eye (or more) on the new module - you probably should do so as well...