Frederic Drouet and Arnaud Heritier have just created an acceptance deployment of GateIn 4.0

http://gatein-4.0.0-snapshot.acceptance4.exoplatform.org/portal/

it should help you to track progress :-)

thanks guys!

On Jun 7, 2013, at 1:18 PM, Julien Viet <julien@julienviet.com> wrote:

there are new interesting changes now in 4.0.

The portal is now performing parallel page rendering (instead of sequential)  which provides significant improvements in situations where portlets have a long rendering time. There is a sample demo for this in the current build with three portlets doing a Thread.sleep(1500) during their execution:

<Screen Shot 2013-06-07 at 1.12.26 PM.png>
The other interesting changes is that now portlet windows are named in a layout in order to identify them. Previously it was using a generated UUID which has two severe problems : being long and also not stable (i.e if two persons start the same portal, the URL will not be interoperable since they will contain such UUIDs). So now we have URL like : 


- javax.portlet.p.p1=juu:daa => the portlet p1 has render param juu:daa
- foo=bar => the public render parameter foo=bar

the XML (gatein objects 2.0) for this page is:

  <page>
    <name>demo1</name>
    <title>Parameter Demo</title>
    <zone>
      <id>1</id>
      <portlet>
        <name>p1</name>
        <application-ref>samples</application-ref>
        <portlet-ref>ParametersPortlet</portlet-ref>
      </portlet>
      <portlet>
        <name>p2</name>
        <application-ref>samples</application-ref>
        <portlet-ref>ParametersPortlet</portlet-ref>
      </portlet>
    </zone>
  </page>


If you want to give a try you can get the current build from my dropbox : https://dl.dropboxusercontent.com/u/4392533/portal.web-4.0.0-M2-war-exec.jar

Julien


On May 31, 2013, at 3:45 PM, Julien Viet <julien@julienviet.com> wrote:

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-exec.jar

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.