Deploying Server Extensions
To be deployed in JMap Server, server extensions must follow certain rules. If these rules are met, the extension appears in the Extensions section of JMap Admin.
1 - Group extension classes in an archive (JAR)
All the classes of the extension must be contained in a single JAR archive file. Use a meaningful and unique name.
2 - Include a manifest file
The extension archive must include a manifest.mf file with the following entries:
Variable |
Description |
extension_class |
Identifies the main class of the extension. This is the class that implements the JMapServerExtension interface. |
extension_request |
Identifies the class used as the query for this extension. This is the entry that will route requests to your extension. If your extension supports multiple classes of requests, they must all derive from this class. |
extension_response |
Identifies the class used as a response to this extension. If your extension supports several classes of responses, they must all be derived from this class. |
extension_name |
Specifies the name of the extension. This name appears in JMap Admin in the Extensions section. |
extension_version |
Specifies the version number of the extension. This information appears in JMap Admin in the Extensions section. The version number is used only to simplify the management of extensions. |
Here is an example of the contents of a manifest file:
extension_class: jmap.extensions.tracking.server.TrackingExtension extension_name: Tracking extension_request: jmap.extensions.tracking.common.TrackingRequest extension_response: jmap.extensions.tracking.common.TrackingResponse extension_version: 5.0.0010
|
3 - Place the file in the correct directory
The JAR file of the extension must be placed in the server extensions directory (JMAP_HOME/extensions).
4 - (Optional) Place the files from the configuration interface of the extension in the appropriate directory
The files that make up the configuration interface (JSP pages) must be copied to the directory used for this purpose (JMAP_HOME/jmapadmin/extensions).