Hi,
it's been a long time I haven't given news about 4.0.0 so here are the progress
that have been made since the last update (31st of May with portlet controller
integration) :
1/ Parallel portlet rendering
The page controller has been improved to work in a asynchronous manner and provide
parallel portlet rendering. When a page is rendered:
- the controller sends the beginning of the page to the client that receives the response
quickly
- the portlets of the page are rendered with a java executor, when all portlets are
rendered the rest of the page is sent to the client
This allow to reduce the rendering time of a page and provides a quicker response to the
client, in particular if the portlets declares assets that would allow to send headers
soon to the client.
You can see a demo here :
http://gatein-4.0.0-snapshot.acceptance4.exoplatform.org/portal/demo2 with three portlets
on the same page that perform a Thread.sleep of 1500ms but the page is rendered much
faster than 4500ms.
2/ MongoDB support
In the early GateIn 4.0.0 days the initial focus was to provide a Ram implementation of
the persistence for unit testing reason.
In the past few weeks I dedicated some of my time to work on a MongoDB implementation as
document databases are an excellent fit for the portal persistence model. Here are the
interesting points:
- page layouts are stored in a single document which means that a page is fully loaded
with a single database hit
- low coupling between documents allow to easily persist the mixin parts of the model
The current 4.0.0 branch is able to work with a MongoDB installation.
3/ GateIn objects 2.0 XML progress
More descriptors have been migrated to 2.0 providing simpler and better XML:
- it is possible to define a page for the root navigation node
- some XML tag have been unified : label and title -> display-name
- windows are now uniquely named in a page layout
4/ organization integration
The organization and related services have been merged from current GateIn 3.x master. In
particular the work on the SSO integration with Twitter/FB/Google is also integrated.
The page
https://github.com/gatein/gatein-portal/tree/4.0.0/portal is kept up to date and
explains how to setup a MongoDB installation.
cheers
Julien