This section describes extension points for developing for Portal Server
Portlets for Portal Server fall into two broad categories:
Application Portlets. These portlets provide a view into an application or an application's data. Application Portlets are rendered with a zoom icon that when clicked, takes the user to the URL of the application instance associated with the Portlet.
Independent Portlets. These portlets have their own data on a per instance basis, or may even be written without supporting data (like a "Time Of Day" portlet for instance, that displays the system time.)
The steps to develop a new Portlet are as follows:
Extend either com.arsdigita.portal.Portlet or com.arsdigita.portal.apportlet.AppPortlet. This is the domain object for your portlet.
Extend com.arsdigita.bebop.portal.AbstractPortletRenderer This class handles the view or presentation side of your portlet.
If your portlet requires any user configuration ( all but the most trivial do), extend com.arsdigita.bebop.portal.PortletConfigFormSection This is usually a form that takes user input such as text or a URL, for example, and then calls the appropriate setter methods that you have included in your portlet domain object.
Develop a supporting pdl file if any data model assistance is needed for your portlet.
Finally, build an initializer for your portlet that will make it available to the server, and include this initializer in your enterprise.init server startup configuration file.