Dialog Converter

About

This conversion tool is used to rewrite one dialog’s tree to another. The intent is to upgrade from Classic or Coral2 Dialogs to the Coral3 equivalent. This is the only tool in the suite meant to be executed on a developer’s system - as it does code transformations to ease developer operations.

The operations referenced here are performed on the content in the repository. This tool creates a new cq:dialog definition a component’s folder. This will allow developers to export the new definition, to be added to their SCM tool. See the Plan & Operate section for more information.

Here you’ll find information on what conversion operations occur. For information on how to configure the tool, see the associated configuration page. For information on how the services perform the changes, and options for extending or enhancing, see the developer detail pages.

Conversions

The following operations are performed during dialog creation. They do require that the node be rewritten however, original tree ordering is preserved during the process.

While each of these sections references a node, the rules and conversions apply to entire node trees, depending on how the pattern rules are defined. However, for brevity, the document will only refer to nodes.

Set Static Value

This isn’t a conversion, so much as setting a static value ot the newly created node. Any number of properties can be defined with static values. They need not exist on the original node for the conversion.

The largest use case for this conversion is setting the new node’s sling:resourceType to the desired value.

Property Copy

Updated nodes will likely still use content from the original. This allows for copying a property from the original node to the newly created one. Some additional options of the copy operation are:

  • Change the property name on the new node
  • Negate the value of a boolean property.
  • Set a default value if the property is not found.
  • Set a value of a property to a second property, if the first is not found.

Rewrite Properties

Sometimes a simple property copy is not sufficient as the new node’s values must conform to the new implementation. This feature adds an additional rewrite capability to the property copy. Once the value has been copied from the original node, rewrite rules via regular expressions are applied.

Copy Children

Some components have children nodes, this flag will inform the conversion process to copy all of the children of the matched node to the updated definition.

Map Children

This is a more advanced form of the copy children operation, where new node names can be specified for each of the expected child nodes from the original tree. It also allows some basic ordering definitions.

Common Attributes

This is a special transformation only for Dialog conversion; it converts a special attributes of a dialog to their equivalent granite definitions.

Render Conditions

This is another transformation only valid for Dialog conversion; it converts a rendercondition node tree to the its respective granite definition.