Page 1 of 1

How configurable is Oxygen Web Outline View?

Posted: Tue Jun 17, 2025 7:05 pm
by kdolan09
We installed the Outline View, but it doesn't do what we need it to do out of the box. So we need to configure it. There is not much documentation on this. We figured out some things but there is much more we want and need to do.

The Structure view shows the entire element tree.
1. Can this view be configured to filter out specific elements by name (e.g., omit <xyz>)?
2. Can this view filter out elements that have no text (e.g., title) to display?

The Content view by default is empty and must be configured, identifying which elements to include and where to get node text for each.
3. Can this view be configured such that the list of elements to include is different for different XSD? E.g., Our framework includes multiple XSD. When XML using a.xsd is in Oxygen, include <a> and <b> and not <x> and <z>. When XML using b.xsd is in Oxygen, include <x> and <z> but not <a> and <b>.

Generally,
4. Both views allow drag and drop to invalid locations. Is there a way to allow drag and drop but disallow drop in a location that would result in an element being inserted at a location it is not allowed?
5. Is there an XML Schema to which the Outline View configuration file adheres to? There is no XSD referenced in the sample file to guide what elements/attributes can be scripted.
6. Is there any other option/override/hook (e.g., Java, XSL) supported that can be used to customize the look and feel of what's displayed in either view?

Thanks,
Kelly

Re: How configurable is Oxygen Web Outline View?

Posted: Wed Jun 18, 2025 5:15 pm
by cosminef
Hello,
1. Can this view be configured to filter out specific elements by name (e.g., omit <xyz>)?
More information about how you can configure the Outline Pane can be found in this topic: https://www.oxygenxml.com/doc/versions/ ... -pane.html
A clear example for the webAuthorOutlineConfig.xml file can be found in the built-in DITA framework in Web Author: \frameworks\dita\web-author-additional-classpath.
2. Can this view filter out elements that have no text (e.g., title) to display?
If the element has no text inside, then the element name is displayed in the Outline, in order to provide an overview of the file structure. Should we understand that in your case, if an element has no content, you don’t want it to be displayed in the Outline at all?
3. Can this view be configured such that the list of elements to include is different for different XSD? E.g., Our framework includes multiple XSD. When XML using a.xsd is in Oxygen, include <a> and <b> and not <x> and <z>. When XML using b.xsd is in Oxygen, include <x> and <z> but not <a> and <b>.
You can use your custom framework as a base, and from this base you can create multiple framework extensions [1], each extension having its own XSD(s) and its own webAuthorOutlineConfig.xml file.
These framework extensions can be created either through the configuration dialog [2] in Oxygen XML Editor or using a framework extension script file [3] [4].
4. Both views allow drag and drop to invalid locations. Is there a way to allow drag and drop but disallow drop in a location that would result in an element being inserted at a location it is not allowed?
You can use the "Paste and Drag and Drop" [5] option from the "Schema-Aware Preferences" dialog. This option can also be imported into Web Author through the options.xml options file [6].
5. Is there an XML Schema to which the Outline View configuration file adheres to? There is no XSD referenced in the sample file to guide what elements/attributes can be scripted.
Unfortunately, there isn't, indeed.
6. Is there any other option/override/hook (e.g., Java, XSL) supported that can be used to customize the look and feel of what's displayed in either view?
It is also possible to send the Outline pane configuration through the outlineConfigurationProvider loading option. This function that has a callback that receives the JSON configuration as a parameter. It can be set like this:

Code: Select all

goog.events.listen(workspace,sync.api.Workspace.EventType.BEFORE_EDITOR_LOADED,function(e)
 {
    e.options.outlineConfigurationProvider = function(callback) {
        callback("{\n" + 
    "    \"structureMode\": {\n" + 
    "        \"editable\": \"yes\",\n" + 
    "        \"defaultMode\": \"no\",\n" + 
    "        \"preferredAttributes\": {\"names\": \"id xml:id\"}\n" + 
    "    },\n" + 
    "    \"tocMode\": {\n" + 
    "        \"editable\": \"yes\",\n" + 
    "        \"defaultMode\": \"yes\",\n" + 
    "        \"elements\": {\"names\": \"topic\"}\n" + 
    "    }\n" + 
    "}");
    }
 });
as mentioned in the this topic: https://www.oxygenxml.com/doc/versions/ ... -pane.html

Thank you for your questions and for your interest in customizing the product.
If you’d like, we’d be happy to continue the discussion over email — this would help us better understand the bigger picture and what you're trying to achieve.
Feel free to contact us at support@oxygenxml.com and we can explore possible solutions together.
Also, if you're currently evaluating the product, we’d be glad to learn more about your setup, your specific requirements, and the organization you represent.

Best,
Cosmin

[1] https://www.oxygenxml.com/doc/versions/ ... works.html
[2] https://www.oxygenxml.com/doc/versions/ ... nding.html
[3] https://www.oxygenxml.com/doc/versions/ ... cases.html
[4] https://www.oxygenxml.com/doc/versions/ ... cases.html
[5] https://www.oxygenxml.com/doc/versions/ ... -drag-drop
[6] https://www.oxygenxml.com/doc/versions/ ... tions.html

Re: How configurable is Oxygen Web Outline View?

Posted: Thu Jun 19, 2025 4:02 pm
by kdolan09
Cosmin,

Thank you for the additional information.
More information about how you can configure the Outline Pane can be found in this topic:...
We used the referenced documentation and DITA example to guide what we prototyped. We hoped it could do more.
Should we understand that in your case, if an element has no content, you don’t want it to be displayed in the Outline at all?
Correct. There is probably more we want/need to do that we cannot. Once I have a better understanding of our requirements, I can post a request on the Feature Requests forum.
You can use your custom framework as a base, and from this base you can create multiple framework extensions...
This does not seem desirable but we will give it some consideration. We have many XSD's that XML files will directly reference. Common markup is located in other XSD files imported by the main ones. Multiple frameworks means a good bit of the framework's configuration would be duplicated which is undesirable because any time it would need to change, it would need to change in 'N' places.
It is also possible to send the Outline pane configuration through the outlineConfigurationProvider loading option. ...
The outlineConfigurationProvider may be the solution we need to leverage - assuming within the function we can detect the XSD of the XML in the editor and as a result, return a configuration specific to it.
You can use the "Paste and Drag and Drop"...
The Paste and Drag and Drop documentation for Smart paste and drag and drop option says Oxygen "tries" to find an appropriate insert position. What if it does not? Does it then just put it at the cursor location and then report a validation error in the Validation panel?

Our Oxygen Web configuration is currently set to Smart paste and drag and drop. We have seen Oxygen's "smart" behavior in the Author/Editor pane when you insert elements from menus. But, when we attempt drag and drop within the Outline View alone, it appears it always drops what you've dragged at the location you pick and it does not try to be "smart". Can you confirm if the Outline View recognizes the Paste and Drag and Drop setting?

Re: How configurable is Oxygen Web Outline View?

Posted: Fri Jun 20, 2025 5:06 pm
by cosminef
Hello,
The Paste and Drag and Drop documentation for Smart paste and drag and drop option says Oxygen "tries" to find an appropriate insert position. What if it does not? Does it then just put it at the cursor location and then report a validation error in the Validation panel?

Our Oxygen Web configuration is currently set to Smart paste and drag and drop. We have seen Oxygen's "smart" behavior in the Author/Editor pane when you insert elements from menus. But, when we attempt drag and drop within the Outline View alone, it appears it always drops what you've dragged at the location you pick and it does not try to be "smart". Can you confirm if the Outline View recognizes the Paste and Drag and Drop setting?
When Oxygen is unable to identify a suitable insertion point, the operation is silently aborted—no content is inserted, and no validation error is reported.
You can try this on the DocBook sample (DocBokk Article), in the Outline view, in Structure mode — for example, try dragging and dropping the "Lake in Faragas" title into the <mediaobject> element, and the operation will not be performed.
outline.png
Or do you have a specific case where the drag and drop operation should not be executed, but it is executed anyway?

Best,
Cosmin