Embedding Oxygen XML Web Author Component in a CMS Page
Oxygen XML Web Author Component can be embedded in a CMS to offer editing functionality for documents stored in the CMS.
To embed Oxygen XML Web Author Component, load the main page
(app/oxygen.html
) in an iframe
.
Security Restrictions
Oxygen XML Web Author Component uses cookies to enforce its licensing and to maintain the editing state of the opened documents. Some browsers block third-party cookies for security reasons. To avoid having the cookies blocked, Oxygen XML Web Author Component should be served from the same origin as the CMS host page.
Passing Parameters to the Editor
To control the editor, you can use URL parameters described in the options section. To pass custom parameters, you can implement a plugin for Oxygen XML Web Author Component that contains JavaScript code to interpret those parameters.
Communicating with the Editor
To communicate with the editor, you can send messages between the host CMS page and the Oxygen XML Web Author Component page.
Browsers offer the window.postMessage
JavaScript API that allows messages
to be sent between pages. To receive the message, create a plugin for Oxygen XML Web Author Component that contains JavaScript code that listens for the messages sent by the CMS host
page and uses the Oxygen XML Web Author Component JavaScript API to implement the required functionality.
Other problems
- We experienced problems if the iframe is hidden while loading using
display: none
. You can usevisibility: hidden
for the same purpose. - Some XML vocabularies (for example, DITA) support cross-document links. By default,
clicking on a cross-document link will open that document in the Oxygen XML Web Author Component in another browser tab. If the editor is embedded, you may want
to change this behavior using the
sync.api.Editor.EventTypes.LINK_OPENED
event that is triggered on thesync.api.Editor
instance.