2.3. Portlets

As briefly described in Section 2.1 WAF Portal Package, there are two types of Portlet domain objects available for extension when developing new Portlets: com.arsdigita.portal.Portlet and com.arsdigita.portal.apportlet.AppPortlet.

The Portlet class is used when the portlet to be developed has no association with an application. AppPortlet is extended when the portlet to be developed is a view into application data. More information on developing portlets can be found in Section 3.1 Portlet Development.

Portlets are essentially components that provide a view into data. They are stateless entities, and as such, can only contain hard data and links to items. Forms or sortable tables can not be embedded within a portlet, but options for refining data through a form can be rendered within a portlet as a list of links.

The effect of primarily showing only a view into sophisticated data points at one of the truest purposes of a portal — to provide a front-end interface for a more complex application. The complex application allows users to create, edit, and maintain data, and a portlet provides an interface into that data. This portlet is closely coupled with the associated application.

Portlets without an association to an application are known as independent portlets. Independent portlets are usually simpler, and may or may not rely upon the database. A portlet that displayed the current system time or displayed a system metric for the servlet container would not need support in a database table.