Developing Portlets

You are viewing an old version (v. 6) of this page.
The latest version is v. 7, last edited on Apr 18, 2018 (view differences | )
<< View previous version | view page history | view next version >>

Developing Your Own Portlets

portlet.xml

ICEfaces makes use of the PortletFaces Bridge to handle the mapping of the portlet lifecycle onto the JSF lifecycle. This has many advantages like enabling proper resource handling and cleaner integration with the portal container. To define your portlet, specify the following:

    <portlet>
        <portlet-name>chat-ice-portlet</portlet-name>
        <display-name>Chat</display-name>
        <portlet-class>
            javax.portlet.faces.GenericFacesPortlet
        </portlet-class>
        <init-param>
            <name>javax.portlet.faces.defaultViewId.view</name>
            <value>/chat.xhtml</value>
        </init-param>
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>view</portlet-mode>
        </supports>
        <portlet-info>
            <title>ICEfaces Portlet Chat</title>
            <short-title>Chat</short-title>
            <keywords>icefaces portlet chat icepush</keywords>
        </portlet-info>
    </portlet>

If you are using the PortletFaces Bridge, the portlet-class needs to be defined as:

        <portlet-class>
            org.portletfaces.bridge.GenericFacesPortlet
        </portlet-class>

The LiferayFaces Bridge is backwards compatible in this regard so if you are migrating from PortletFaces to LiferayFaces, the older classname will still work.

web.xml

To prevent the processing of portlet resource URLs to avoid caching of things like bridge.js, the following parameter should be set to false.

<context-param>
    <param-name>org.icefaces.uniqueResourceURLs</param-name>
    <param-value>false</param-value>
</context-param>

Library Dependencies

You must use a portlet bridge to run JSF and ICEfaces portlets in a portal container. See the section on Portlet Bridges for more information.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

© Copyright 2017 ICEsoft Technologies Canada Corp.