3.2.1. Standard WebApp for Gadget importer

In GateIn 3.5, you can create a WebApp folder to contain the configuration of the list of gadgets which are automatically added to the Application Registry.

This section shows you how to create a WebApp which has a standard structure processed by the Gadget importer. It covers the following topics:

Structure of WebApp

A WebApp should be organized as the following structure:

Necessary files

The WebApp structure consists of two necessary files: web.xml and gadget.xml.

In the web.xml file, there are 2 requirements:


<web-app>
  <display-name>eXoGadgets</display-name>
  <filter>
    <filter-name>ResourceRequestFilter</filter-name>
    <filter-class>org.exoplatform.portal.application.ResourceRequestFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>ResourceRequestFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <servlet>
    <servlet-name>GateInServlet</servlet-name>
    <servlet-class>org.gatein.wci.api.GateInServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>GateInServlet</servlet-name>
    <url-pattern>/gateinservlet</url-pattern>
  </servlet-mapping>

</web-app>

The gadget.xml file is used to locate the configuration of gadgets that you want to add to the Application Registry.


 <gadgets
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_objects_1_0 http://www.gatein.org/xml/ns/gadgets_1_0"
    xmlns="http://www.gatein.org/xml/ns/gadgets_1_0">

    <gadget name="To-do">
        <path>/gadgets/Todo/Todo.xml</path>
    </gadget>

    <gadget name="Calendar">
        <path>/gadgets/Calendar/Calendar.xml</path>
    </gadget>

    <gadget name="Calculator">
        <path>/gadgets/Calculator/Calculator.xml</path>
    </gadget>

    <gadget name="rssAggregator">
        <path>/gadgets/rssAggregator/rssAggregator.xml</path>
    </gadget>

  <gadget name="Currency">
    <url>http://www.donalobrien.net/apps/google/currency.xml</url>
  </gadget>

  <gadget name="ServicesManagement">
    <path>/gadgets/ServicesManagement/ServicesManagement.xml</path>
  </gadget>
</gadgets>

This file has 3 important tags:

Local gadget resources

For local gadgets, their source and resources should be located in the same folder.

See the example about the To-do gadget:

Note

The Gadget importer service will find a folder that contains the gadget source, then find all resources in the folder and store them into JCR as the resources of the gadget. Therefore, putting the gadget resources in the folder different from the gadget source can cause many unnecessary files to be stored as the resource files of the gadget.

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