Topics

[Ann] Oxygen XML Suite Version 22.0 Release #Oxygen

Radu Coravu
 

Hi everyone,

We released Oxygen XML Author/Editor version 22.0 a few days ago.

The entire list of new improvements can be found here:
https://www.oxygenxml.com/xml_editor/whats_new.html

Listing below some new features which may be useful for our DITA users.

Editing:

* DITA authoring enhancements include a new DITA Perspective that provides an optimal UI environment for working with DITA projects.

* Media resources (images, videos) are now presented in the DITA Reusable Components View.

* Support was added for the DITA-OT project file, used to define all the contexts and deliverables for a DITA publication project. Some of its benefits include simplified publishing using a single configuration file, the possibility to share and reuse project configurations, project-level validation support, and enhanced authoring.

* Text-to-Markup Automatic Conversions.
Some built-in frameworks have shortcut patterns that can be used to automatically insert a certain XML structure. The XML structure (fragment) automatically replaces a specific prefix pattern. For example, if you enter a hyphen (-) followed by a space at the beginning of a paragraph in a DITA document, the prefix pattern is replaced with an unordered list element (ul) with a child list item element (li). Similarly, "Note:" will be converted to a <note> element in DITA, and triple backticks to a codeblock element.

* The built-in Markdown editor is more powerful than ever. You can now apply business rule checks using real-time Schematron validation, and the editor now has synchronized scrolling between the source pane and preview pane, which offers the possibility of previewing the Markdown content as HTML, DITA, or Lightweight DITA, with the latter two facilitating the use of Markdown in the DITA ecosystem.

Add-ons:

* DITA Outgoing References View Add-on. The new DITA Outgoing References View add-on contributes a side view that shows all outgoing references for the current DITA topic. This side-view includes contextual menu actions for opening an outgoing reference or showing the definition location.

https://github.com/oxygenxml/oxygen-dita-outgoing-references-view

* Oxygen Emmet Add-on. The new Oxygen Emmet add-on provides the means for high-speed coding and editing in Text mode or Author mode via a content assistance mechanism. . For details, see: Oxygen Emmet Plugin:

https://www.oxygenxml.com/doc/versions/22.0/ug-editor/topics/emmet-addon.html

* Improvements to the Git Add-on. The Oxygen Git Support add-on has a new History side-view, a Show Blame action was added for presenting more details about a revision, and a Pull (rebase) action was added to the toolbar.

* More Types of Conversions Added to the Batch Converter Add-on. The batch converter add-on can now batch convert Microsoft Office files directly to DITA.

Publishing:

* The bundled DITA Open Toolkit was updated to version 3.4.

* DITA publishing to PDF using CSS was updated with various new parameters and styling features, and it is now possible to transform a single DITA topic to CSS-based PDF output.

* Introducing Oxygen Feedback - The New Comment Management Platform.
Version 22 marks the release of a new product called Oxygen Feedback. It is a modern comment management platform that provides a simple and efficient way for your community to interact and offer feedback. It can be embedded into WebHelp Responsive output or added to any HTML-based website. An add-on is also available that contributes a side view where you can see all the comments from your output directly in Oxygen. For more information, go to: https://www.oxygenxml.com/oxygen_feedback.html.

We hope you will enjoy Oxygen 22.0 and as always any feedback on it is welcomed.

Regards,
Radu

Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com

Chris Papademetrious
 

Hi Radu,

The text-to-markup automatic conversion feature is great for configuring the DITA authoring experience!

1. In the included file at

<OXYGEN_HOME>/frameworks/dita/resources/structureAutocorrect.xml

I see an additional <fragment> element that is used:

  <!-- Ordered lists -->
  <prefix-replacement prefix="1.">
    <fragment>
      <ol><li></li></ol>
    </fragment>
  </prefix-replacement>

What purpose does it serve?

2. Is there a flag to make a particular entry work when used beyond the beginning of a line? I was thinking it would be nice to change $tool to <ph keyref="Tool"/> in running body text. This would be a great keyboard-only way to insert keyref-based variables, unless there is already way to do this in the editor (in which case, please let me know if there is!).

3. Is it possible to specify more complex structures, and to specify where the cursor should go? For example, I'd like to insert this when "prompt>" is typed:

<ph keyref="Prompt"/>&gt; <user-input>CARET</user-input>

When I tried this, it only inserted the <user-input/> element.

By the way, I appreciate that this feature is incremental for extended frameworks, unlike the cc_config.xml file that must be copied and modified and placed first in the class path.

Thanks very much for such an impressive release!

 - Chris

Chris Papademetrious
 

Adding another question about the text-to-markup automatic conversion feature:

4. In a new Oxygen DITA project, the list completion shortcuts create the list inside a <p> element:

    <p>
      <ol>
        <li/>
      </ol>
    </p>

But in our custom DITA grammar, we disallow lists (and figures and such) inside <p> elements; they can only be peer block elements with <p>. Is there a way to somehow insert the new content just before the current <p> where the shortcut was typed, or to replace the current <p> (if it contained *only* the shortcut) with the content?

 - Chris

cristi_talau@...
 

Hello,

For 1, we added this fragment element for extensibility. We may need to add other child elements for "prefix-replacement" in the future.

For 2, that's a use-case that we plan to implement in a future release. I added your vote to this feature request and will let you know when it is available.

3 - You are right. This is a bug with the current implementation - we are going to fix it. 

4 - We encountered the same situation for XHTML - lists are forbidden in paragraphs. We will probably add an XML attribute in the configuration file to specify that the parent should be replaced. However, there are several cases to consider, e.g. if the paragraph already had some profiling attributes, they may disappear when the paragraph is replaced.

Best,
Cristian

Chris Papademetrious
 

Thanks Cristian! At the risk of turning this announcement thread into a detailed support case, I'd like to understand what <fragment> means. In the predefined rules, the ordered-list rule has it but the unordered-list rule does not:

  <!-- Ordered lists -->
  <prefix-replacement prefix="1.">
    <fragment>
      <ol><li></li></ol>
    </fragment>
  </prefix-replacement>

  <!-- Unordered lists -->
  <prefix-replacement prefix="-">
    <ul><li></li></ul>
  </prefix-replacement>

What does <fragment> mean/do?

Agreed that with #4, there is some complexity lurking there...

Thanks!

 - Chris

cristi_talau@...
 

Hello,

We thought that in the future we may need to add other configuration options to a "prefix-replacement", for example:

  <prefix-replacement prefix="1.">
    <fragment>
      <ol><li></li></ol>
    </fragment>
    <disable-for-parent name="table-cell" namespace="http://something.com"/>
  </prefix-replacement>

The content of it, is the actual replacement. However, if "fragment" is optional to make the files more concise.

Best,
Cristian