Hi all,
I've been pursuing the work started a couple of months ago on GateIn 4.0.0 during the
last weeks and have reached a first milestone, there are the noticeable things:
1/ most of the work has been done on the portlet/page controller with a
"stateless" integration of the portlet container concerning the portlet render
parameters.
2/ the current packaging embeds everything in a single war file for simplifying
deployment, the only shared lib is "portlet.jar"
3/ the persistence uses the in memory version of the MOP that was done a couple of month
ago which is perfect for a demo (no file created and very fast startup).
4/ the new layout has been sketched by keeping the same structure we have in persistence
and reusing containers for the various zones of the page.
I described here the technical aspects and the current status :
https://github.com/gatein/gatein-portal/tree/4.0.0/portal
One important aspect of this work is about the quality of the work, the in memory
persistence and the single war packaging allow the writing of portal unit tests (using
Arquillian) and the most of the implemented features are tested, in particular the portlet
container integration.
To conclude: I've been able to come up with a sample packaging that shows the
parameter in action with a portlet showing the interaction of the render parameters on a
page, you can download it here :
https://www.dropbox.com/s/1x16nnyc7w5610g/portal.web-4.0.0-SNAPSHOT-war-e...
It is an executable jar based on Tomcat, you can run it with "java -jar" and it
should work (sometimes it throws exceptions for some reason).
I hope this effort should continue in several areas
- finish the portlet container integration by supporting events
- provide a better implementation for layout
- implement the official public API
Julien
ps: I tried hard to make an AS7 packaging but was not able to come up to something that
works. If someone wants to help I can push to his repository the in progress work for AS7
to continue it. I would be glad to have a working package and tag a milestone.