Let's assume you just bought Oxygen and want to customize it in order to better suit your team's workflow or to add support for your custom XML vocabulary. I will attempt to provide a set of use cases along with indications and useful links about what customization should be done in order to cover each use case:
Add support for editing a specific XML vocabulary
- New file templates.
- Validate opened XML documents according to a custom schema.
- Provide custom CSS to be used in the Author visual editing mode.
- Provide custom toolbar, menu, and contextual menu actions to be used in the Author visual editing mode.
Customize the existing support for a specific XML vocabulary
- Provide custom file templates: http://blog.oxygenxml.com/2015/12/sharing-new-custom-file-templates-for.html.
- Provide a custom CSS layer: http://blog.oxygenxml.com/2016/10/customizing-dita-visual-editing.html.
- Provide custom Schematron validation rules: http://blog.oxygenxml.com/2017/02/sharing-schematron-validation-rules.html.
- Provide custom actions or modify the existing actions.
Provide custom settings
You may want to provide all members of the team with a fixed set of options: http://blog.oxygenxml.com/2015/11/sharing-application-settings.html.
Modify the application appearance or behavior using plugins
- Contribute custom views and toolbars for the entire application.
- Filter out existing views or toolbar actions.
- Contribute a fixed set of options/settings to the application.
- Register various listeners and be notified when a document is opened, closed, saved, and so on.
- Use the existing API to make changes to the opened documents.
The most popular plugin extension is the Workspace Access plugin extension: https://www.oxygenxml.com/doc/versions/18.1/ug-editor/concepts/workspace-access-plugin.html. This extension is notified when the application starts and can contribute custom views, custom main menu items, custom main toolbar actions, or add listeners for various document-related changes.
There is also a JavaScript-based workspace access plugin extension that can use JavaScript to call our Java API: https://www.oxygenxml.com/doc/versions/18.1/ug-editor/concepts/workspace-access-plugin-js.html.
A set of sample plugins built with the JavaScript-based extension can be found here: https://github.com/oxygenxml/wsaccess-javascript-sample-plugins.
Our Maven-based SDK can be used to develop both plugins and framework Java customizations: https://www.oxygenxml.com/oxygen_sdk_maven.html.