The Client

PICA Group®, the leading provider of professional liability insurance for podiatric physicians in the U.S., is a corporation made up of multiple insurance companies that provide a multitude of insurance services to podiatrists and chiropractors.

The Vision

An initiative was launched at PICA to enhance their web presence and to start providing dynamic online services to its agents and policyholders. Specifically, PICA wanted policyholders and agents to have the ability to pay premiums online. Also, they wished to provide policyholders, agents, and internal users with the ability to generate Certificates of Insurance (COIs).

When the project was initiated each PICA Group® company had it's own static site that displayed basic company and product information. Updating the content required IT involvement to move changes to production. PICA desired that management of the content be simplified and consolidated. At the same time it was deemed critical to keep brand independence on each of the separate company sites.

Trinisys was hired in August of 2004 by PICA Group, to realize this vision by developing an enterprise portal solution.

Major Goals

The following major goals were set out for the portal initiative:

Choosing the Portal

The following categories were used in evaluating which portal implementation to choose: Since low cost was one of the most important requirements, only open source portals were considered. Some of the top contenders included Liferay, Gridsphere, eXo Platform and Jetspeed. Jetspeed, while a relatively mature portal implementation, did not support the JSR 168 portlet specification and was removed from consideration.

During the concept phase of the project, a high priority was placed on having a rich porlet catalog and a simple administrative interface. For this reason Liferay was chosen as the portal platform for the proof of concept. As the project matured and a final design was agreed upon it became clear that the desired look-and-feel would not be possible to implement in Liferay without extensive source modification.

At this point the portal platform options were evaluated again. For a number of reasons the eXo Platform was chosen. In summary:

The eXo Platform Advantage

The eXo Platform portal proved to have several advantages over its competitors, especially where layout and configuration was concerned. This section outlines some of the features which make eXo Platform Portal stand out.

GUI-Enabled Web Layout

One of the most unique and powerful features of the eXo Platform is the ability to dynamically configure the site layout using the built-in administrative tools. Unlike other portals on the market, no jsps have to be altered to change the layout of the eXo Platform. With eXo, all content, including the portal navigation, is rendered by portlets.

For developers familiar with the Swing model of GUI development, the eXo Platform implementation will feel very familiar. Layout in eXo is accomplished by nested components. The main layout component is the Container. Containers (as the name indicates) contain other layout components. One or more portlets or containers may be encapsulated by a container.

Arrangement of contained elements are determined by Renderers. Each container specifies a Renderer which controls the layout of the container's contained elements. For example, if two portlets are added to a Container using the ContainerRowRenderer the portlets will be displayed one on top of the other.

The image below shows the PICA site in portal edit mode. Changes made in this mode modify the portion of the portal that remains the same regardless of which page is being viewed. Using the controls provided, portlets and containers can be added, removed, or shifted around in the layout.


Portal Layout

Components edited while in portal edit mode represent those elements which remain fixed from page to page. The eXo Platform takes this layout flexibility one step further by then allowing the same level of configuration to take place at the page level.

For example, in the screenshot above the page content container has a single content portlet which is displaying the PICA welcome page. The screenshot below shows the portal in Page Edit Mode on the Contact Us page. This page contains two content display portlets and a custom mail form portlet.


Page Layout



Applying a custom skin

Innovative Skins Implementation

The eXo platform sets itself apart from other portal implementations with its innovative skins implementation. Simply stated, a skin controls the look-and-feel of a given portal component, usually a portlet. Like the eXo platform web layout implementation no portal server code needs to be changed to alter the skin of a given component. Custom skins can be applied to portlets as well as to any other layout component.

With the eXo platform skins can be deployed to the portal as part of a custom portlet application (.war file). This is accomplished by first creating a cascading stylesheet (.css file) which defines the skin's look-and-feel. Then including a skin-config.xml file that specifies to which component(s) the stylesheet may be applied. Finally, deploy the portlet application war file to the server. Once deployment is complete the new skins will be available to apply to the specified layout components (shown right).

The example below shows an example skin-config.xml file from the PICA Group portal:

skin-config.xml
Three separate skins are defined. The first is for a custom footer portlet. The second entry is an example of a custom skin applied to an out-of-the box eXo Platform portlet, in this case the DisplayContent portlet. And finally, the last skin entry in this example defines a custom look-and-feel for the ContainerRowRenderer layout component.

The code snippet below shows the stylesheet used to define the pica-footer skin:

footer-portlet.css

Portal Navigation

Flexible Navigation Tree

The flexible, tree-based navigation provided by the eXo Platform proved to be extremely useful to achieve the look-and-feel requirements of the PICA portal. The eXo navigation tree is made up of multiple navigation nodes. Each navigation node is associated with a specific portal page and can have zero or more child nodes. The navigation tree can be administered with the Navigation Menu portlet (shown right). Nodes can be added, removed, renamed, linked to a given page, etc., using this interface.

The eXo Platform also provides an intuitive navigation API which makes the process of creating customized navigation portlets quite simple. In fact, each of the navigation portlets shown in the portal configuration diagram above are actually custom navigation portlets that were built by Trinisys for the PICA portal.

Eclipse Plugin

The eXo Platform Eclipse Plugin is a helpful tool for creating custom portlets. Installing the plugin adds a 'Portlets' project type to the Eclipse IDE. A provided wizard walks the user through the process of creating a new 'Portlets' project, creating all the configuration files needed for a portlets web application. Using the plugin, portlets can be 'hot deployed' to a running eXo portal, allowing developers to test changes quickly. It also provides a debug mode, which allows developers to step through custom portlet code as well as the eXo platform source code.

The PICA Group® Portal

Portlets

For the first phase of PICA's portal, a several JSR 168 compliant portlets were created to implement the required functionality. The COI and Online Payment portlets allow external and internal users perform business functions. Other portlets were created to alter or customize the portal beyond the out-of-the-box functionality. These portlets are relatively simple, and although they are JSR 168 portlets, they leverage eXo Platform services and APIs and would require some work to port to another portal platform.
Certificate of Insurance (COI) Portlet
The COI Portlet generates a Certificate of Insurance for a given policyholder based on information drawn from PICA's administrative database. COIs are generated as PDF documents that can be viewed online, or sent to a requested third-party either by fax or email. Third-party recipients can be selected from a list of entities associated with the policyholder in the administrative database, or manually entered by the user. PICA's existing RightFax solution was leveraged to provide fax transmission functionality. Copies of all PDF files generated by the portlet are stored and viewable in PICA's administration system for future reference. The amount of functionality provided to the user varies by role:
Online Payment Portlet
The Online Payment Portlet displays premium billing information for a policy and allows policyholders to make payments online. PICA has a relationship with a bank that provides the functionality to make online payments through the bank's site. The Online Payment Portlet authenticates the current portal user with the bank's external site and then uses content proxying to integrate the bank's payment screens seamlessly into the portal. Like the COI portlet, the amount of functionality provided by the Online Payment Portlet varies by role:
User Portlets
Besides the major business functionality provided by the portlets mentioned above, Trinisys also implemented several user management portlets to extend or customize out-of-the-box functionality provided by the eXo Platform.
Future Portlets
Planned portlets include other self service type functionality to allow policyholders to update their personal information such as contact and billing information, request changes in coverage or payment mode, or allow e-applications and online quoting.

Conclusion

The eXo Platform proved to be a very flexible, cost-effective foundation upon which to build the PICA Portal. It allowed the seamless integration of content and business functionality, as well as providing the flexibility required to implement the desired look-and-feel. The PICA Group now has a solid platform upon which they can continue to grow their web presence as future business needs require.




About the Authors

Trinisys is a consulting firm based in the United States that specializes in Imaging, Data Entry, Document Management, and Enterprise Portal Solutions.