Version 8

    Using Seam in a portlet environment










    Seam in a portlet environment is still an experimental domain.

    There are several issues to fix before being able to have a clean implementation of Seam in such an environment.




    Using JSF as a portlet technology works but suffers from a lack of standardization, a working portlet using X JSF implementation would not necessarily behave the same way on Y implementation because of the necessary bridge between the JSF technology and the portlet technology.

    To solve this the JSR-301 is being written, Red Hat Middleware LLC is part of the expert group.




    Since JBoss Seam relies intensively on JSF as the view technology, it is important to obtain a satisfactory combination of JSF, Portlet and JSF-Portlet bridge specifications.

    Things are going the right way, and the next generation of the specifications will greatly improve the support of JSF portlets.




    One limitation as of today for JSF working in a portlet environment is the request scope. Nothing is the request scope at the time of the action phase will be available in the render phase.  However, this is fixed in MyFaces 1.1.5.  The 1.1.5 version of the MyFaces bridge contains a rather unsophisticated implementation that just saves request scope attributes in the session for the render phase to use until the next action request.  Click here for instructions on upgrading JBoss AS 4.0.5 to MyFaces 1.1.5.




    The other reason why this is an experimental domain is that there is little experience into this. Some are reporting successful portlet application and Seam includes a version of the booking example based on a early version. The example was not using Facelets at the time and was using workarounds for things like the request scope problem explained above (putting objects into the session instead of naturally having them in the request).



    Again, more experience in this domain would allow to figure out the limitations, but this is not something we have as of today.


    More comments on this are very welcome.




    That said, we do offer support for Seam applications, we do offer support for portal (portlets) applications, but we cannot guarantee support for the mix of the two technologies named as "Seam Portlets".




    FYI there is a "technology preview" of the JBoss Portal Seam 2.0 portlet out in the wild!


    Referenced by: