The Layout API which is the foundation of the portal page rendering in Jetspeed is loosely based
on AWT design:
- Portlet = AWT Component
- PortletSet = AWT Container
- PortletController = AWT LayoutManager
There's no real equivalent to the PortletControl
class, which mostly acts as a
managing proxy for an inner Portlet
or PortletSet
.
Note that in this API, the Portlet
class is used as a simple graphical widget
and thus although it's possible to overload its behavior to also have a servlet-like
component lifecycle model, it's best to keep its subclass operations as simple as possible
and implement expensive business operations in other classes (Turbine tools, EJBs, etc...).
The portal page is rendered by the portal engine using a document object model tree of portlet
objects. This DOM tree is typically created by the PortalToolkit
service from a
static PSML page description resource.
The complete page rendering process is triggered by calling the getContent
method
on the root portlet object. The following sequences describe the standard layout sequence using
the default Velocity based Turbine setup.