Plugins
The Universal Messaging Realm Server supports the concept of Plugins within the context of the NHP or NHPS protocols. The plugins are initiated when the underlying Universal Messaging driver receives a n HTTP/S packet which is not part of the standard Universal Messaging protocol. At this point it passes the request over to the Plugin Manager to see if there is any registered plugins interested with the packets URL. If there is, then the request is forwarded to this Plugin for processing. There are several plugins supported by Universal Messaging 3.1. Please see below for available documentation. :
Configuration
Configuration of a plugin can be done programmatically with the Administration API supplied with Universal Messaging or it can be done with the EnterpriseManager application. For the rest of this document the EnterpriseManager will be used.
In order to add a plugin, first of all you need to have created the nhp or nhps interface (see
Creating Interfaces) that will use the plugin within the realm where you wish to run the plugin. Once the interface is created, select the interface from the table of configured interfaces for the chosen realm, and then select the tab labelled 'Plugins' from the interface configuration panels. Clicking on the 'Add Plugin' button will present you with a dialog that enables you to choose which plugin you wish to add. The diagram below shows a new File Plugin about to be added to the known interface NHP0.
URL Path
When you configure a plugin, you are required to add a URL Path. The URL Path is what the realm server used to determine if the request if destined for a plugin. If the server matches the URLPath portion of the URL supplied within the request to a configured plugin, then this request is passed to the correct configured plugin for processing. For example:
If a request with a URL of http://realmServer/pluginpath/index.html is made to the server, the file path will be extracted , i.e. pluginpath/index.html, and the configured plugins will be scanned for a match. If we had a File Plugin configured with a URL Path as pluginpath, then this plugin will get a request for index.html.
Similarly:
If a request with a URL of http://realmServer/pluginpath/pictures/pic1.jpg is received, then the same File Plugin would get a request for pictures/pic1.jpg.