6.6. GateIn extension mechanism and portal extensions

Extension mechanism is a functionality that makes it possible to override the portal resources in an almost plug-and-play fashion - just drop in a .war archive with the resources, and configure its position on the portal's classpath. This way any customizations of the portal do not have to involve unpacking and repacking the original portal .war archives. Instead, create your own .war archive with changed resources that override the resources in the original archive.

A web archive packaged in a way to be used through the extension mechanism is called portal extension.

There are two steps necessary to create a portal extension.

First, declare PortalConfigOwner servlet context listener in web.xml of your web application.

Example: Example of a portal extension called sample-ext:


<?xml version="1.0" encoding="ISO-8859-1" ?>
  <!DOCTYPE web-app PUBLIC -//Sun MicrosystemsInc.//DTD Web Application 2.3//EN
       http://java.sun.com/dtd/web-app_2_3.dtd>
  <web-app>

     <display-name>sample-ext</display-name>

     <listener>
        <listener-class>org.exoplatform.container.web.PortalContainerConfigOwner</listener-class>
     </listener>

     ...

</web-app>

Then, add the servlet context name of this web application to a proper location in the list of Dependencies of the PortalContainerDefinition of all the portal containers that you want to access its resources.

After this step, your web archive will be on the portal's unified classpath, and unified servlet context resource path. The later in the Dependencies list your application is, the higher priority it has when resources are loaded by portal.

Note

See the 'Configuring a portal' section for example of PortalContainerDefinition, that has sample-ext at the end of its list of Dependencies.

See also

Copyright ©. All rights reserved. eXo Platform SAS
blog comments powered byDisqus