Extension Points
The i-net software platform has a growing list of extension points. Several more extension points are available specific to the product. Extension points are interfaces or abstract classes that a plugin can implement to extend the functionality of other plugins or the core. Here is a short list of available base extension points.
Extension | Plugin | Description |
---|---|---|
com.inet.http.PluginServlet | - | Adds an extra servlet context to the server. |
javax.servlet.Filter | Adds a central filter for all servlets requests. | |
javax.servlet.http.HttpSessionListener | Adds a HTTP session listener. | |
com.inet.authentication.AuthenticationProvider | - | Adds support for an additional authentication mechanism. |
com.inet.config.structure.provider.ConfigStructureProvider | - | Adds extra dialogs to the configuration manager. |
com.inet.plugin.help.HelpProvider | - | Adds extra help content. |
com.inet.remote.gui.IModule | remotegui | Adds extra applications to the remote GUI. |
com.inet.remote.gui.angular.AngularModuleHandler | remotegui | Adds an extra application handler to the remote GUI. |
com.inet.maintenance.api.backup.BackupTask | maintenance | Adds an extra backup task to the "maintenance" plugin. |
com.inet.taskplanner.server.api.trigger.TriggerFactory | taskplanner | Adds an extra trigger to the task planner. |
com.inet.taskplanner.server.api.job.JobFactory | taskplanner | Adds an extra job to the task planner. |
com.inet.taskplanner.server.api.action.ResultActionFactory | taskplanner | Adds an extra action handler to the task planner. |
com.inet.taskplanner.server.api.series.SeriesFactory | taskplanner | Adds an extra series to the task planner. |
The column "Plugin" shows the plugin which holds the interface. If you want to create an extension point, you will need to add this plugin's id as a dependencies
entry in your plugin.properties. For development and compiling, you will need to unpack the plugin's zip file, and add the <plugin id>.jar from this plugin to your IDE classpath.
For example, in the case of remotegui you will need the remotegui.jar which you can find in the remotegui.zip. Additionally, the plugin.properties must contain dependencies=remotegui
.