Sample plugins for Oxygen XML Web Author
Each folder contains one plugin. To install such a plugin you should:
- Download the entire repository
- If applicable, follow the instructions included in the
README.md
file of the desired plugin. - Create an archive with just the folder that contains the desired plugin
- Go to the Web Author Administration Page
- In the Plugins section, click Upload Plugin and choose the archive made at step 2.
- Restart the Web Author server.
This plugin enables the "Accept Chage" action, even when change tracking is forced.
This plugin can be installed in the Web Author editing component deployed in Content Fusion.
The plugin activates when a task contains the "[APPROVAL]" token in the title and forces users to review topics in the context of the DITA Map with expanded topics.
Sample plugin that contributes a framework that extends the built-in DITA framework. The use case is to set a custom ExtensionsBundle implementation that extends the built-in implementation.
NOTE: if you don't need to specifically provide the framework via a plugin, it's simpler to add the framework directly. Here you can find the similar, standalone framework: https://github.com/oxygenxml-incubator/oxygen-sample-frameworks/tree/main/dita-extension-custom-proposed-attribute-values
This plugin resolves absolute references after removing a prefix of them to make them relative.
For example, assume that all content is stored in a folder called Content
in the root of a web server, in a DITA topic there is an image reference as below:
<image href="/Content/image.png"/>
If the folder /Content/
is moved to, say, /project1/Content
, all the references will be broken. This plugin installs an URIResolver
that removes the /Content/
prefix of the references, making them relative references.
This plugin contributes an equivalent of InsertFragmentOperation, but which support an ${user.name} editor variable that expands to the name of the current user.
Sample plugin that adds the following CALS Table support for any XML document:
- table rendering
- specific actions are added before each table to insert or delete rows and columns and to join or split cells
- multiple rows and columns can be selected (by mouse drag or click on column header markers) to easily copy or move table data by using copy/paste
Sample plugin that add non persistent highlights on each paragraph when the document is opened and edited.
This sample plugin adds a button to the toolbar to allow users to easily enable or disable the autospellcheck.
Plugin that blocks a user from deleting review comments added by another user.
Plugin that blocks a user from deleting tracked changes made by another user.
Plugin that blocks saving invalid documents.
Plugin that fixes the line separator in review comments to Linux-style. This plugin registers an AuthorDocumentFilter to modify review comments before they are inserted. It does not fix the exisiting comments.
This sample plugin uses the editor.previewAuthorDocument to let the user preview another XML document inside a dialog. The user has to browse for a file, then the file will be displayed inside a dialog.
A plugin that contributes an 'Elements' view that displays elements that can be inserted at the caret position
Oxygen XML Web Author plugin that contributes an "Open..." action to the "More..." (triple dots) menu that lets the user browse for a file and open it in the current editor.
This plugin implements a custom servlet filter plugin extension.
As an use-case it blocks requests to the dashboard page by redirecting to an external URL defined by com.oxygenxml.ServletFilterExtension.REDIRECT_URL (https://www.oxygenxml.com/ as an example).
A plugin that implements a Form Control using React.
Plugin that adds "normal" outputclass attribute to paragraph elements that have no outputclass set, when inserted in the document.
This plugin hosts a static Web Page on the Web Author server. The page is accessible at:
http://example.org:8443/oxygen-xml-web-author/plugin-resources/web-root/index.html
Where the Web Author's Dashboard is located at:
http://example.org:8443/oxygen-xml-web-author/app/oxygen.html
Plugin that allows you to add automatically-computed values in a table cell.
Sample plugin that removes all the warnings from the validation result list.
Plugin contributes an action to choose a file and view it as text.
It performs the following steps:
- Show a file browser so that the user can choose the file
- Invoke a server-side operation to retrieve the content of the file
- The server-side operation connects to the CMS to read the content of the file and sends it back to the browser. The authentication context of the main document (the one opened in the editor) is used when loading this file.
- The file content is displayed in an alert in the browser.
Sample plugin that manages rooms*:
- assign each opened document to an already existing room or create a new one
- rooms are created with a custom save strategy to save changes made by peers on behalf of the committer (the one requests to save). See GroupChangesSaveStrategy
- if two users open the same document, they will concurrently edit the document
- close rooms that become empty
*A room is an abstraction for a set of document models created for the same document. Such models belong to different users and are edited concurrently and synchronized in real-time.
Is a plugin that presents two side by side Web Author editors in preview mode.
Before each element that has the id attribute a button it is presented. When the button is clicked the other editor scrolls to the element having the same value for the id attribute.
Plugin that loads a custom CSS to affect the user interface.
Sample plugin that imposes some loading options depending on the file extension:
- Files ending in
.dita
open with the "no tags" mode. - Files ending in
.ditamap
or.bookmap
are opened with the Show topic titles alternate style activated.
Oxygen XML Web Author stores its options in an options.xml file, located in the options folder of the Oxygen Data Directory.
This is a sample plugin for imposing specific options. The tagless.editor.tags.display.mode
option value is set to 1,
meaning that all the documents are opened with No tags
mode activated.
Sample plugin that imposes a DITA Map for all files opened in Web Author. It assumes a common project folder layout in which:
- the DITA Map is called
UserManual.ditamap
- all topics are located under a
topics/
folder
Plugin that blocks saving invalid documents.
Plugins that hides the Web Author app bar, usefull when integrating the Web Author in an iframe.
This plugin only contributes a single client-side javascript file.
Plugin that hides the content based on a CSS selector. For demonstration purposes it hides the DITA elements that have the "processing-role" attribute set to "resource-only".
Plugin that replaces the "Paste Special" action with two individual actions: Paste as Text
(Ctrl+Alt+T) and Paste as XML
(Ctrl+Alt+X).
Plugin that switches Web Author to a comments-only mode.
Plugin that enforces a custom stylesheet for all XML documents loaded in Web Author.
Sample plugin that uses the ro.sync.ecss.extensions.api.attributes.AuthorAttributesDisplayFilter API to filter the "id" attribute on any element.
Plugin that adds a Styles Filter that can be used to replace the CSS styles associated to an element or a pseudo element.
Sample plugin that allows inserting elements that are not valid at caret position, by using the Insert Element...
action from the contextual menu.
Sample plugin to run an XSLT script over the current document and return the result to the client as string.
Oxygen XML Web Author plugin that defaults the track changes view mode to View Final
.
Example plugin for Oxygen XML Web Author that defines a custom action for attributes editing. It implements the sync.actions.AttributeEditingActionsProvider JS API. The sync.actions.AttributeEditingActionsProvider JS API extension should be used when you need to implement a custom UI (or dialog) for choosing attribute values. Another use-case would be if the attribute values are dynamic, either computed client-side or fetched from other servers.
The plugin automatically shows the text page when the editor loads.
Copyright (C) 2020 Syncro Soft SRL. All rights reserved.
This project is licensed under Apache License 2.0.