Copying and Pasting Modeled Elements

To define new model elements similar to ones you already modeled, you can use copies of these already modeled elements as a basis. In the Infinity Process Workbench you can copy, paste or cut model elements in the Outline view or diagram canvas by options in the context-menu or by key-strokes. You can move or copy model elements between process definitions as well as between models.

If you want to use similar activities with a rather complex configuration, you don't have to recreate them entirely in the target process definition or model. Undo is possible for all operations. To revoke your copy, paste or cut action please select Edit > Undo or use the Ctrl-Z key-stroke.

Clipboard and Copy Sets

The set of elements are copied to and pasted from the Infinity Process Platform clipboard. This clipboard can also be used across model boundaries. The clipboard content is called a copy set.

Copy sets of the following elements are supported:

Process models can be copied via copying the XPDL files.

A copy set may contain an arbitrary number of model elements of arbitrary type, which could be for example three data, two participants and an application:

Copy Set Example with Elements of Arbitrary Type
Figure: Copy Set Example with Elements of Arbitrary Type

Copying Elements

You have the possibility to copy elements from the Outline View or from the Diagram Canvas.

Copying from the Outline View

In the Outline view copying is possible for the following types:

To copy one or more elements in the Outline view do the following:

Copying an Element in the Outline View
Figure: Copying an Element in the Outline View

Copying from the Diagram

In diagrams copying is possible for the following types:

To copy one or more elements in the diagram canvas do the following:

Copying an Element in the Diagram
Figure: Copying an Element in the Diagram

Please note that the copying option is not available if the selection contains unsupported element types like gateways. All necessary gateways will be added automatically during the copying process, but cannot be copied explicitly.

Cutting Elements

Cutting Elements is possible for the same elements as for copying elements as described in the sections above.

Cutting Elements from the Outline View

To cut one or more elements in the Outline view do the following:

Cutting Elements in the Outline View
Figure: Cutting Elements in the Outline View

Cutting Elements in Diagrams

To cut one or more elements in the diagram canvas do the following:

Cutting Elements in a Diagram
Figure: Cutting Elements in a Diagram

Please note that the cut option is not available if the selection contains unsupported element types like gateways. All necessary gateways will be added automatically during the subsequent paste process, but cannot be cut explicitly.

Pasting Elements

You can paste elements to the Outline View or to the diagram canvas, depending on where you cut or copied them. The Paste Element option for process definition diagrams is only enabled for diagrams of the same process definition.

Note that the Paste Element option is only enabled for the group nodes like Data, Applications or Participants, if all top level elements in the clipboard are of the corresponding type.

Pasting elements from the copy set to

Pasting to the Outline View

To paste an element to the Outline View:

Pasting an Element to the Outline View
Figure: Pasting an Element to the Outline View

Pasting to the Diagram

To paste one or more elements in the diagram canvas do the following:

Pasting an Element in the Diagram
Figure: Pasting an Element in the Diagram

Paste Semantics and Name/ID Collisions

Elements copied into an arbitrary element ("target element") of the process model structure (e.g. activities into a process definition) will be put semantically under this element independently of their origin. This way, an activity-transition network from one process definition can be copied into another process definition. If a name or ID collision with existing elements occurs, a dialog pops up with name and ID proposals:

Dialog
Figure: Change Name and ID of the Element.

When copying and pasting elements with relationships to general model elements like participants or applications, you have to decide whether to copy by reference to this elements or to copy by value. This is described in detail in the following section.

Copying By Reference or By Value

Model elements have hierarchical and other relationships to other model elements. Copy and paste operations maintain the hierarchical relationships as specified in the previous sections.

In case elements are selected to be copied into another model, the selected elements may have references to other elements that are not selected explicitly. To prevent inconsistencies, all those referenced elements are also collected. If some or all of those elements already exist in the target model, a dialog opens where you can decide whether to copy by reference or by value. All elements selected in this dialog will be used from the target model and the according references are transferred to those. To copy the referenced elements from the source model to the target model, enable the according checkboxes.

By default, all checkboxes for data, applications and participants are checked to be copied by reference. Enabling the checkboxes makes the tree item(s) editable with a default name and ID of "Copy of X/CopyOfX".

  1. Enable the elements to be copied by value.
  2. Enter a new name or leave the suggested name as CopyOf<name> and id as CopyOf<id> accordingly.


Figure: Choose the Elements to be copied by Reference or by Value.

In case the suggested names CopyOf<name> or CopyOf<id> are already in use, you have to choose a new name and id. The duplicate name or id is marked red and the OK button is enabled:


Figure: Choose the Elements to be copied by Reference or by Value.

When you have a file connection in the Outline view and you are trying to import the model elements by copy in the consumer model, you are prompted to reuse or replace the duplicate element. By default, the Replace existing element with the new one checkbox is selected.


Figure: Conflict

If you are trying to import more than one element by copy then in case of duplicate elements, select the checkbox Use option for all duplicate elements and click OK. In this case, you do not have to select replace or reuse options for each element.

Example Use Cases

Moving Model Elements between Process Definitions

When processes change in a way that, for example, activities are now executed at a different stage in the process flow, it is possibly that the new execution point lies in a different process definition, for example a subprocess. In the modeler you can cut out the activities and paste them into the desired target process definition with the activities keeping all their configuration settings like events, participants, data paths, etc.

In the following example two activities are shifted to another process definition by cutting them out and pasting them in the diagram of the new process definition. This process definition is then assigned as subprocess in the starting process definition.

  1. Select the set of elements to be shifted:

    Select Activities and needed Elements.
    Figure: Select Elements.

  2. Right-click and select Cut Element.

    Cutting out the selected Elements.
    Figure: Cutting out the selected Elements.

  3. Open the diagram of the new process definition.
  4. Right-click on the canvas and select Paste Element.

    Pasting
    Figure: Paste Activities and Elements to New Process Definition.

Now the element cut out from the diagram of the first process definition are pasted to the new process definition:

Pasted Activities in the New Process Definition.
Figure: Pasted Activities in the New Process Definition.

In the starting process definition you can now add a subprocess activity and assign the new process definition:

  1. Add a new activity with type Subprocess.
  2. Open the properties dialog and select Subprocess.
  3. Select the new process definition as subprocess and Apply.

Assign Subprocess
Figure: Assign the New Process to the Subprocess Activity.

Overview of Gestures

The following section gives an overview of the operation gestures:

Copy Gestures

Copying is initiated by the following gestures on the following elements:

Elements/Gesture CTRL-C Keystroke Popup Menu Entry
Structured Type
  • Model outline has focus.
  • Structured type node(s) in outline tree is selected.
  • CTRL-C is pressed.
  • Model outline has focus.
  • Copy item in popup menu for the structured type(s) node in outline tree is selected.
Data
  • Model outline has focus.
  • Data node(s) in outline tree is selected.
  • CTRL-C is pressed.
  • Model outline has focus.
  • Copy item in popup menu for the data node(s) in outline tree is selected.
Applications
  • Model outline has focus.
  • Application node(s) in outline tree is selected.
  • CTRL-C is pressed.
  • Model outline has focus.
  • Copy item in popup menu for application node(s) in outline.
Participants
  • Model outline has focus.
  • Participant node(s) in outline tree is selected.
  • CRTL-C is pressed.
  • Model outline has focus.
  • Copy item in popup menu for the participant node(s) in outline.
Process Definitions
  • Model outline has focus.
  • Process Definition node(s) in outline tree is selected.
  • CTRL-C is pressed.
  • Model outline has focus.
  • Copy item in popup menu for the process definition node(s) in outline.
Process and model diagrams
  • Model outline has focus.
  • Diagram node(s) in outline tree is selected.
  • CTRL-C is pressed.
  • Model outline has focus.
  • Copy item in popup menu for the diagram node(s) in outline.
Fragments of activity-transition graphs in process definitions
  • Process diagram has focus.
  • Model elements to be copied are selected via their symbols in the diagram (e.g. using the rubberband or multiple mouse clicks)
  • CTRL-C is pressed.
  • Process diagram has focus.
  • Model elements to be copied are selected via their symbols in the diagram (e.g. using the rubberband or multiple mouse clicks)
  • Copy item in popup menu the diagram is selected.

Paste Gestures

Pasting is initiated by the following gestures on the following elements:

Elements/Gesture CTRL-V Keystroke Popup Menu Entry
Structured Types
  • Model outline has scope.
  • Copy/ies of the structured types elements in the clipboard are copied in the structured types section of the process model.
  • Model outline has scope.
  • Paste item in popup menu for model or Structured Types category node in the outline tree is selected*.
  • Copy/ies of the data model elements in the copy set are copied under the Structured Types category of the process model.
Data
  • Model outline has scope.
  • Copy/ies of the data model elements in the clipboard are copied in the data section of the process model.
  • Model outline has scope.
  • Paste item in popup menu for model or Data category node in the outline tree is selected*.
  • Copy/ies of the data model elements in the copy set are copied under the Data category of the process model.
Applications
  • Model outline has scope.
  • Copy/ies of the application elements in the clipboard are copied in the data section of the process model.
  • Model outline has scope.
  • Paste item in popup menu for model or Application category node in the outline tree is selected*.
  • Copy/ies of the application model elements in the copy set are copied under the Applications category of the process model.
Participants
  • Model outline has scope.
  • Copy/ies of the participant elements in the clipboard are copied in the data section of the process model.
  • Model outline has scope.
  • Paste item in popup menu for model or Participants category node in the outline tree is selected*.
  • Copy/ies of the data model elements in the copy set are copied under the Participants section of the process model.
Process Definitions
  • Model outline has scope.
  • Copy/ies of the process definition elements in the clipboard are copied in the data section of the process model.
  • Model outline has scope.
  • Paste item in popup menu for model in the outline tree is selected*.
  • Copy/ies of the process definitions elements in the copy set are copied in the under the process model.
Process and model diagrams
  • Model outline has scope.
  • Copy/ies of the diagram elements in the clipboard are copied in the data section of the process model.
  • Model outline has scope.
  • Paste item in popup menu for the process definition or model node in outline tree is selected**.
  • Copy/ies of the diagrams in the clipboard are copied under the process definition or model.
Fragments of activity-transition graphs in process definitions
  • Diagram has scope.

Note
Please note that the CTRL-V keystroke only works in a target diagram where at least one mouse-click has already been performed. If it is not working for that reason just click in the target diagram before using the CTRL-V keystroke.

Cut Gestures

Cutting is initiated by the following gestures on the following elements:

Elements/Gesture CTRL-X Keystroke Popup Menu Entry
Structured Types
  • Model outline has focus.
  • Structured types node(s) in outline tree is selected.
  • CTRL-X is pressed.
  • Model outline has focus.
  • Cut item in popup menu for the structured types node(s) in outline tree is selected.
Data
  • Model outline has focus.
  • Data node(s) in outline tree is selected.
  • CTRL-X is pressed.
  • Model outline has focus.
  • Cut item in popup menu for the data node(s) in outline tree is selected.
Applications
  • Model outline has focus.
  • Application node(s) in outline tree is selected.
  • CTRL-X is pressed.
  • Model outline has focus.
  • Cut item in popup menu for application node(s) in outline.
Participants
  • Model outline has focus.
  • Participant node(s) in outline tree is selected.
  • CRTL-X is pressed.
  • Model outline has focus.
  • Cut item in popup menu for the participant node(s) in outline.
Process Definitions
  • Model outline has focus.
  • Process Definition node(s) in outline tree is selected.
  • CTRL-X is pressed.
  • Model outline has focus.
  • Cut item in popup menu for the process definition node(s) in outline.
Process and model diagrams
  • Model outline has focus.
  • Diagram node(s) in outline tree is selected.
  • CTRL-X is pressed.
  • Model outline has focus.
  • Cut item in popup menu for the diagram node(s) in outline.
Fragments of activity-transition graphs in process definitions
  • Process diagram has focus.
  • Model elements to be copied are selected via their symbols in the diagram (e.g. using the rubberband or multiple mouse clicks)
  • CTRL-X is pressed.
  • Process diagram has focus.
  • Model elements to be copied are selected via their symbols in the diagram (e.g. using the rubberband or multiple mouse clicks).
  • Cut item in popup menu the diagram is selected.