Promoting a property

You can promote a message flow node property to the message flow level to simplify the maintenance of the message flow and its nodes, and to provide common values for multiple message flow nodes in the flow by converging promoted properties.

Before you begin

About this task

The majority of message flow node properties are available for promotion, but you cannot promote the following properties:
  • Properties that name mapping modules
  • A property group (but you can promote an individual property)
  • A property that you cannot edit (for example, the Fix property of the MQInput node)
  • The description properties (Short Description and Long Description)
  • Complex properties (for example, the Query elements property of the DatabaseRoute node, or the Opaque elements property of the MQInput and several other nodes)

To promote message flow node properties to the message flow level, complete the following steps.

Procedure

  1. Switch to the Integration Development perspective.
  2. Open the message flow for which you want to promote properties.
  3. Right-click the appropriate node and click Promote Property.

    The Promote Property dialog box is displayed.

    The Promote Property dialog

    The Available node properties pane lists all available properties for all the nodes in the message flow. The properties for the node that you clicked are expanded. You can expand the properties for all the nodes in the open message flow, regardless of the node that you clicked initially.

    The Promoted properties pane displays the name of the open message flow and all the properties that are currently promoted to the message flow. If you have not yet promoted any properties, only the message flow name is displayed as the root of the promoted property tree, as shown in the previous example. If you have already promoted properties from this node, the properties appear in the Promoted properties pane, but not in the Available node properties pane.

  4. Select the property or properties that you want to promote to the message flow.
    You can select multiple properties by holding down Ctrl and selecting the properties.
  5. Click Promote.
    The Target Selection dialog box opens and displays valid targets for the promotion.
  6. Select the destination group or property for the properties that you want to promote. You can group together related properties from the same or different nodes in the message flow by dropping the selected properties onto a group or property that already exists, or you can create a new target for the promotion by clicking New Group or New Property.
    You can rename groups and properties by selecting them and clicking Rename.
  7. Click OK to confirm your selections and close the Target Selection dialog box.

    If you create a new group or property by using the Target Selection dialog box, the changes persist even if you select Cancel in the dialog box. When the dialog box closes, groups or properties that you have created by using the Target Selection dialog box appear in the Promote Property dialog box. You can remove any of these properties from the Promote Property dialog box by selecting them and clicking Remove.

  8. Click OK to commit your changes and close the Promoted Property dialog box.
    If you click Apply, the changes are committed but the dialog box remains open.

Results

The message flow node properties are promoted to the message flow. When you have promoted a property, you can no longer make any changes to that property at the node level; you can update its value only at the message flow level. To view the message flow's properties, click the message flow (not the individual nodes) in the Message Flow editor to display the properties in the Properties view. The properties that you have promoted are organized in the groups that you created. If you now set a value for one of these properties, that value appears as the default value for the property whenever the message flow is included in other message flows.

When you select an embedded message flow in another message flow (a subflow) and view its properties, you see the promoted property values. If you look inside the embedded flow (by selecting Open Subflow), you see the original values for the properties. The value of a promoted property does not replace the original property, but it takes precedence when you deploy the message flow.

Promoting properties by dragging

About this task

You can also promote properties from the Promote Property dialog box by dragging the selected property or properties from the Available node properties pane of the Promote Property dialog box to the Promoted properties pane, as described in the following steps.

Procedure

  1. Select the property that you want to promote. You can select multiple properties by holding down Ctrl, and selecting the properties.
  2. You can promote the selected properties using the following methods:
    • Drop the selected property or properties in an empty space.

      A new group is created automatically for the message flow, and the property is placed in it, with the original name of the property and the name of the message flow node from which it came displayed beneath the property entry.

      The name of the first group that is created is Group1 by default. If a group called Group1 already exists, the group is given the name Group2, and so on. You can rename the group by double-clicking it and entering new text, or by selecting the group in the Promoted properties pane and clicking Rename.

      When you create a new promoted property, the name that you enter is the name by which the property is known within the system, and must meet certain Java™ and XML naming restrictions. These restrictions are enforced by the dialog box, and a message is displayed if you enter a name that includes a non-valid character. For example, you cannot include a space or quotation marks (").

      If you are developing a message flow in a user-defined project that will be delivered as an Eclipse plug-in, you can add translations for the promoted properties that you have added. Translated names can contain characters, such as space, that are restricted for system names. The option to provide translated strings for promoted properties is not available if you are working with a message flow in an integration project.

    • Drop the selected property or properties onto a group that already exists, to group together related properties from the same or different nodes in the message flow.

      For example, you might want to group all promoted properties that relate to database interactions. You can change the groups to which promoted properties belong at any time by selecting a property in the Promoted properties pane and dragging it onto a different group.

    • Drop the selected property or properties onto a property that already exists, to converge related properties from the same or different nodes in the message flow.

      For example, you might want to create a single promoted property that overrides the property on each node that defines a data source.

      For more information on converging properties, see Converging multiple properties.

Promoting mandatory properties

About this task

If you promote a property that is mandatory (that is, an asterisk appears beside the name in the Properties view), the mandatory characteristic of the property is preserved. When a mandatory property is promoted, its value does not need to be set at the node level. If the flow that contains the mandatory promoted property is included as a subflow in another flow, the property must be populated for the subflow node.

Promoting properties through a hierarchy of message flows

About this task

You can repeat the process of promoting message flow node properties through several levels of message flow. You can promote properties from any level in the hierarchy to the next level above, and so on through the hierarchy to the top level. The value of a property is propagated from the highest point in the hierarchy at which it is set down to the original message flow node when the message flow is deployed to an integration node. The value of that property on the original message flow node is overridden.