Add application plug-ins to the PureWeb server

Your application must be configured on the PureWeb server, so that the server knows where to find the service and the client.

This involves creating an application plug-in file, with an optional plug-in properties file if needed, and adding these files to the right location in the server's folder structure.

Steps

Create the application plug-in file

The plugin.xml file tells the server where to find the service, which types of clients are available, as well as other information pertaining to the application.

The easiest way to create a new plug-in file is to edit an existing one.

Copy the sample file below in your favorite text editor, and change the values as needed. Please refer to the application plug-in list of properties for a description of each element and accepted values for this file.

You can take a look at the plug-in files for the sample applications for fully functional examples (assuming you have built a sample application):
[install_path]\Server\conf

Save the file using the following naming convention:
[application name]-plugin.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xsi:schemaLocation="http://www.springframework.org/schema/beans	
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 	

    <bean class="pureweb.servlet.PluginPropertyLoader"/>

    <bean id="licenseManager" class="pureweb.process.DefaultLicenseManager"/>

    <bean class="pureweb.process.SocketProcessFactory">
        <property name="connectionBarrier" ref="applicationConnectionBarrier"/>
        <property name="applicationRegistry" ref="applicationRegistry"/>
        <property name="licenseManager" ref="licenseManager"/>
        <property name="application" value="<application name>"/>
        <property name="description" value="The Application"/>
        <property name="directory" value="${<application name>.home}"/>
        <property name="executable" value="${<application name>.exe}"/>
        <property name="available" value="true"/>
        <property name="defaultProcess" value="${<application name>.startup}"/>
       <property name="connectionTimeout" value="30"/>
        <property name="environment">
            <map>
                <entry key="HOME" value="${<application name>.home}"/>
             </map>
        </property>
         <property name="options">
              <map>
                  <entry key="--<application name>" value="true"/>
            </map>
        </property>
         <property name="arguments">
             <list>
                <value>/tmp</value>
                <value>/var</value>
             </list>
         </property>
     </bean>

    <bean class="pureweb.cluster.SupportedClients" scope="prototype">
        <property name="supportedClients" ref="supportedClientsMap"/>
        <property name="application" value="example"/>
        <property name="clientMap">
             <map>
                 <entry key="flex" value="example.xap"/>
                <entry key="ios" value="http://itunes.apple.com/us/app/example/id398740007? mt=8&uo=4"/>
                <entry key="android" value="market://details?id=com.yourcompany.example"/>
            </map>
        </property>
    </bean>
				
    <!-- Adds the link under the Apps page of the PureWeb server -->
    <bean class="pureweb.process.PluginLink">
        <property name="registry" ref="pluginLinkRegistry"/>
        <property name="supportedClients" ref="supportedClients"/>
        <property name="name" value="MyAppName"/>
        <property name="description" value="MyAppDescription"/>
        <!-- Optional. If specified the links generated will be as below. -->
        <!-- Comment out the next line to exclude this option. -->
        <property name="path" value="/pureweb/view?name=AppName&amp;client=flex"/>
        <property name="image" value="/themes/pureweb/default.png"/>
        <property name="role" value="ROLE_PUREWEB_USER"/>
    </bean>
</beans>

The PluginPropertyLoader loads application-specific configuration properties (see further down this page). If none are required, this line can be omitted.


Create the plug-in properties file

The plugin.properties file is used to list any relevant application-specific configuration properties, if needed. This file is optional.

Simply create a text file and add the relevant properties as a list of key-value pairs. For example:


[application name].home=/home/[application name]
[application name].executable=/home/[application name]/bin/[application name]

Save the file using the following naming convention:
[application name]-plugin.properties

The <bean class="pureweb.servlet.PluginPropertyLoader"/> element of your plugin.xml file is responsible for loading these properties.


Add the files to the server

Once you have created the application plug-in file, and optionally the plug-in properties file, simply place them at the following location in the server's directory:

[install_path]\Server\conf

Before your changes take effect, you will need to reload the plug-ins, as described below.

If needed, you can also add application-specific resources (this must be done before you reload the plugins).

Add application-specific resources

Your application may have specific resources such as logos and other similar files.

To add these resources to the server, create a folder for them using the following path and naming convention:
[install_path]\webapp\[application name]\

For example:
CSI\PureWeb\Server\conf\webapp\MyApp\

Place the resources in that folder.

You can protect your application-specific resources.

Reload the plug-ins

You must perform a reload or restart the server before server configuration or plug-in file changes take effect.

To perform a reload, navigate to the server's Configuration page and click Reload Plugins.

After you reloaded the plug-ins, a working link to your application should now appear in the server's Apps page.

If your application doesn't appear in the server's Apps page, check that you added the link to the application when you created the plugin.xml file.

The files will also appear in the server’s Configuration page, where you will be able to open them in a browser for editing.

If you need to remove an application that you have added, see Removing applications.