OIE Plugin Guide
Plugins extend the functionality of Open Integration Engine (OIE), allowing you to add custom features, connectors, and capabilities. This guide covers everything you need to know about installing, managing, and troubleshooting plugins. Resources are provided for developing custom plugins.
Overview
Open Integration Engine supports a plugin architecture that enables:
- Custom connectors and protocols
- Extended transformers and filters
- Additional data types and formats
- Custom UI components in the Administrator
Accessing the Extensions/Plugins Section
To manage plugins in Open Integration Engine:
- Launch and login to the OIE Administrator Client
- Select Extensions from the Engine sidebar menu
- You will see a list of all installed plugins along with their status and other details.
Installing Plugins
Installing via the Administrator UI
The easiest way to install a plugin is through the Administrator interface:
- Download the plugin
.zipfile from a trusted source - Launch and login to the OIE Administrator Client
- Select Extensions from the Engine sidebar menu
- Click the Browse button
- Locate and select the plugin
.zipfile - Click Open
- Click Install
- Restart the OIE Server for the plugin to take effect
INFO
Always restart the OIE Server after installing or uninstalling plugins to ensure changes take effect.
Manual Installation
For environments where UI-based installation is not feasible, you can install plugins manually:
- Stop the OIE Server
- Extract the plugin
.zipfile - Copy the extracted plugin folder to the
extensions/directory in your OIE installation:bashcp -r my-plugin /opt/oie/extensions/powershellCopy-Item -Recurse my-plugin "C:\Program Files\OIE\extensions\" - (Linux/macOS only) Ensure proper file permissions so the OIE process can read the plugin files. The plugin files should be owned by the same user that runs OIE:bash
# Replace 'oie' with the user account that runs the OIE Server chown -R oie:oie /opt/oie/extensions/my-pluginTIP
OIE does not create a dedicated system user during installation. It runs as the user who starts the service. Check which user owns your OIE installation directory or runs the OIE process.
- Start the OIE Server
Installing in the OIE Docker Container
When running OIE in a Docker container, you have several options for installing plugins:
Example 1: Docker CLI with custom-extensions Volume Mount
Mount a host directory containing plugin zip files to the container's custom-extensions directory. The container's entrypoint script will unzip and install them to the extensions directory prior to launching the server:
docker run -d \
-v /path/to/local/custom-extensions:/opt/engine/custom-extensions \
openintegrationengine/engine:latestExample 2: Custom Dockerfile with manual installation
Create a custom Docker image with plugins pre-installed:
FROM openintegrationengine/engine:latest
COPY my-plugin.zip /tmp/
RUN unzip /tmp/my-plugin.zip -d /opt/engine/extensions/ && \
rm /tmp/my-plugin.zipBuild and run:
docker build -t oie-with-plugins .
docker run -d oie-with-pluginsExample 3: Docker Compose with EXTENSIONS_DOWNLOAD URL
The container supports downloading a bundle of extensions from a remote web server and installing them prior to launching the server. The bundle file is a zip file that contains one or more extension zip files to be installed:
version: '3.8'
services:
oie:
image: openintegrationengine/engine:latest
environment:
- EXTENSIONS_DOWNLOAD=https://my-bucket.s3.us-east-1.amazonaws.com/my-oie-extensions-bundle.zip
ports:
- "8080:8080"
- "8443:8443"Uninstalling Plugins
Via the Administrator UI
- Navigate to Settings → Extensions
- Locate the plugin you want to remove
- Click the Uninstall button next to the plugin
- Confirm the uninstallation when prompted
- Restart the OIE Server
Manual Uninstallation
- Stop the OIE Server
- Navigate to the
extensions/directory - Remove the plugin folder:bash
rm -rf /opt/oie/extensions/my-pluginpowershellRemove-Item -Recurse -Force "C:\Program Files\OIE\extensions\my-plugin" - Start the OIE Server
Enabling and Disabling Plugins
You can temporarily disable plugins without uninstalling them:
To Disable a Plugin
- Navigate to Settings → Extensions
- Find the plugin in the list
- Toggle the Enabled switch to Off
- Restart the OIE Server
To Enable a Plugin
- Navigate to Settings → Extensions
- Find the disabled plugin in the list
- Toggle the Enabled switch to On
- Restart the OIE Server
TIP
Disabling plugins is useful for troubleshooting. If you suspect a plugin is causing issues, disable it and restart the server to confirm.
Plugin Compatibility and Version Requirements
Checking Compatibility
Before installing a plugin, verify:
- OIE Version: Check the plugin documentation for supported OIE versions
- Java Version: Some plugins may require specific Java versions
- Dependencies: Review any additional dependencies the plugin requires
INFO
Plugin authors must specify compatible versions in their plugin. Currently, plugins cannot support a range of versions.
Troubleshooting Common Issues
Plugin Not Appearing After Installation
Possible causes and solutions:
- Server not restarted: Restart the OIE Server after installation
- Incorrect directory: Verify the plugin is in the correct
extensions/folder - File permissions: Ensure the OIE process has read access to the plugin files
- Corrupted archive: Re-download and reinstall the plugin
Plugin Causing Server Startup Failures
If the server fails to start after installing a plugin:
- Check the server logs in
logs/oie-server.logfor error messages - Try starting the server with the plugin disabled:bash
# Temporarily move the plugin out of extensions mv /opt/oie/extensions/problem-plugin /tmp/powershell# Temporarily move the plugin out of extensions Move-Item "C:\Program Files\OIE\extensions\problem-plugin" "C:\Temp\" - If the server starts successfully, the plugin is likely incompatible
Plugin Features Not Working
- Verify the plugin is enabled in Settings → Extensions
- Check for JavaScript console errors in the Administrator
- Review server logs for runtime errors
- Ensure all plugin dependencies are installed
Common Error Messages
| Error | Cause | Solution |
|---|---|---|
ClassNotFoundException | Missing dependency | Install required dependencies |
NoSuchMethodError | Version mismatch | Use compatible plugin version |
SecurityException | Permission denied | Check file permissions |
Plugin Development Resources
For those interested in developing plugins for Open Integration Engine:
Key Resources
- Plugin Author's Guide: mirth-plugin-guide - Comprehensive guide for plugin development on OIE, Mirth Connect (Open Source Versions) and BridgeLink.
- Sample Plugin: mirth-sample-plugin - A working example plugin to use as a template for OIE, Mirth Connect (Open Source Versions) and BridgeLink.
Best Practices
- Always backup your OIE configuration before installing new plugins
- Test in non-production environments first
- Keep plugins updated to receive bug fixes and security patches
- Review plugin source code when possible, especially for plugins handling sensitive data
- Document installed plugins for your team and disaster recovery procedures
- Monitor server logs after installing new plugins for any issues