Team Elements

Status: Caution PostgreSQL Open Source Initiative (OSI) Java
PUBLIC PROFILE

JSR-168 Portlets

Portlet Introduction

Portlets can be plugged into various places in Team Elements. We've started by creating a Project Dashboard that allows for each project to have multiple tabs of portlets. These portlets can be embedded into Team Elements deployment, deployed separated as Pluto-wrapped JSR-168 portlets, or remotely accessed using WSRP4J.

Embedded portlets are deployed automatically within the Team Elements .war file. They can also use various custom portal capabilities, like access to User Session, the Connection Pool, and Application Preferences.

JSR-168 portlets deployed separately, behave separately. This capability has not been tested.

Remote portlets provide the greatest flexibility in hot-deploying and separately configuring from Team Elements. This feature is not fully finished.

The embedded portal is also under active development.

Adding an Embedded Portlet

  • Create the JSR-168 Portlet
    • The portlet can get a database connection by using PortalUtils.getConnection(request)
  • Register the portlet in portlet.xml
  • Register the portlet as a servlet in web.xml; create a servlet mapping
  • Register the portlet within dashboards_en_US.xml if necessary
    • Portlets can be placed in any/all types [dashboards, portal, projects] where they make sense
    • Dashboards is for the main user dashboard
    • Portal is for the public website
    • Projects is for project dashboards

Notes:

  • The database does not need to be updated, but portlets are automatically added to [lookup_project_portlet] table when used in a Project so that preferences can be stored; Other tables used are: [project_dashboard], [project_dashboard_page], [project_dashboard_portlet], [project_dashboard_portlet_prefs]
  • Based on the portlet spec, preferences can be stored as String and String Arrays
  • The page is stored as XML for flexibility in rendering and customizing the portal pages

Sign in to add your comment.