Plugins for the Standalone Distribution
Plugins are one of the supported ways to enable customization and extend the standalone version of Oxygen XML functionality using a series of application-provided extension points. The resulting plugin can be installed and activated individually and it can only work within the Oxygen XML application (it cannot operate on its own).
Quick Start Tip: A small Maven project that contains a sample plugin is available on GitHub at https://github.com/oxygenxml/sample-plugin-workspace-access. This sample plugin adds a custom action to the menus and toolbar and the project includes instructions for how it can be used.
You can also configure a project starting from the full Oxygen SDK sample project. It includes an oxygen-sample-plugins module that contains the source code for several sample plugins implemented as Maven projects and the Javadoc API of the plugins support in the Oxygen standalone distribution.
Resources:
- An online version of the Javadoc plugin API
- User Manual: Extending Oxygen with Plugins (describes how to develop an Oxygen Java plugin and how to deploy it)
- User Manual: How to Make a CMS Integration Plugin (CMS integration guide)
The subsequent sample plugins are included in the oxygen-sample-plugins module. They can also be installed through the add-ons support, available as add-ons, deployed at https://www.oxygenxml.com/InstData/Addons/optional/updateSite.xml.
Workspace Access | This plugin provides support for customizing the content of the menus, toolbars, and views of the application, and for opening and closing documents. You can manage and perform various operations on all the opened editors. It can be used to access Author and Text mode documents, being a bridge between Oxygen plugins and the Author API. |
Components Validator | This plugin allows you to filter the Oxygen menus, toolbars, and other user interface components. |
Impose Options | This sample plugin imposes fixed options, loaded from an exported XML options file, to Oxygen. It can also impose a fixed layout and a new file templates folder. |
Custom Protocol | This plugin provides a Java URL stream handler for a custom protocol able to handle URLs of the form cproto://path/to/file.ext, where cproto is the protocol handled by the plugin. |
Open Redirect | This plugin is useful for opening multiple files with only one open action. For example, when a zip archive, an ODF file, or an OOXML file is opened in the Archive Browser view, the plugin can also decide to open a file from the archive in a new XML editor panel. This file can be the document.xml main file from an OOXML file archive. |
Capitalize Lines | This plugin capitalizes the first letter found on every new line that is selected. Only the first letter is affected, the rest of the line remains the same. If the first character on the new line is not a letter, then no changes are made. |
To build and package the plugins, follow the instructions in each of the sample plugin README.html files. To create a zip archive containing all the plugins, use the bundle-plugins module.
Licensing
The development of plugins using the SDK is free of charge, subject to registration and in accordance with the SDK agreement. Testing the plugin during development phase can be done using a licensed Oxygen XML product.
There is no royalty fee for plugin deployments, plugins are your own applications, and you are responsible for them. You can license them under your own licensing terms (including commercial), the only exception is that you can't use GPL, as Oxygen XML is not GPL.
Community Plugins List
Many plugins have been written by community members. We're working on a central plugin repository platform that lists all plugins and offers functionality to install plugins and frameworks in an automated fashion. As a plugin developer, you will be able to publish your plugin on that platform.