Skip to content

v13.5.0

Compare
Choose a tag to compare
@tomlyn tomlyn released this 30 Jun 20:03
· 118 commits to main since this release
5359601

Feature Enhancements

Common Canvas

#2033 Support new link line types

The link construction and drawing code has been completely overhauled in this release. Previously, Common Canvas supported "Curve" and "Elbow" links which connected ports together, and "Straight" links that were free floating (or 'freeform') which were drawn directly from the source to target node ignoring port positions.

In this new release, these concepts have been split as follows:

  • The existing enableLinkType config field will specify the shape of the links, and can be set to either “Curve”, “Elbow”, “Parallax” or “Straight”. “Parallax” is a new line type which has a small starting and ending line separated by a diagonal line.
  • A new config field called enableLinkMethod, that can be set to "Ports" or “Freeform”, will control how the links are built, where "Ports" will draw the link from a specific port on the source node to a specific port on the target node and "Freeform" will draw the links between nodes with no reference to where ports are positioned. "Ports" is the default.

The application can use any combination of enableLinkType and enableLinkMethod to get the display required.

Please see the documentation here for some examples of this:
https://elyra-ai.github.io/canvas/01.01.02-links/#data-links

and here for how port positions will affect link drawing:
https://elyra-ai.github.io/canvas/03.06.01-node-customization/#overriding-port-positions-and-link-directions

There are three new sample applications in the test harness called “All ports”, "Parallax" and "Network" which shows some of the combinations of these config fields in action.
https://elyra-canvas-test-harness.u20youmx4sm.us-south.codeengine.appdomain.cloud/#/

enableStraightLinksAsFreeform

To avoid 'breaking' the API and to maintain the previous behavior where "Straight" links were always displayed as “Freeform”, a new config field has been introduced called enableStraightLinksAsFreeform that is a boolean that defaults to true. When true, this will force “Straight” links to be displayed with the “Freeform” option regardless of what enableLinkMethod is set to. If this is set to false , the value specified in enableLinkMethod will be used by Common Canvas for "Straight" links.

Warning: enableStraightLinksAsFreeform is deprecated and will be removed in the next major release. Therefore, applications using enableLinkType set to “Straight” should set enableLinkMethod to “Freeform” NOW to prevent problems when upgrading in the future.

Overriding port position and link drawing

The customization of port positions is already supported by Common Canvas but what is new in this release is that, with enableLinkMethod set to "Ports", Common Canvas will decide on a direction for the links to be drawn to/from ports based on their positions on the node. This change means that, for example, output ports can be displayed at different sides of the node and the links will be drawn away from the node. Please see the docs here for details:
https://elyra-ai.github.io/canvas/03.06.01-node-customization/#overriding-port-positions-and-link-directions

Self-referencing links

In this release, nodes can optionally have self-referencing links that loop back to themselves.

If the new enableSelfRefLinks config field is set to true, users will be able to drag a link from an output port on a node and drop it onto an input port, or body, of the same node to create a self-referencing link. Alternatively, the application can programmatically create self-referencing links. These links will be displayed using the combination of settings specified for enableLinkType and enableLinkMethod described above.

See more in the documentation here:
https://elyra-ai.github.io/canvas/01.01.02-links/#self-referencing-links

Common Properties

Just bug fixes.

Issues Resolved

Full Changelog: v13.4.0...v13.5.0