Relocating Activities
Stardust provides the option to allow navigation between different
interactive steps in a process workflow.
Common Use Cases
Relocation could be useful in the following cases:
Workflow Corrections
In some cases a user selects a wrong option in an activity and as a result
the workflow is in the wrong activity. To model correcting transitions for every
activity in the model would not be realizable. With the option to jump back to the activity where
the wrong option was selected, the workflow can be corrected in a well-arranged way.
Process Upgrades
A new version of the process is mandatory and the user must migrate existing
process instances to the new version and continue from the equivalent position.
In this case, he could jump back only to the appropriate activities instead of
restarting the whole process.
A relocation is executed in two steps:
- Finding a valid relocation target starting from a given activity.
- Performing the transition to the target found above.
Marking Activities for Relocation
Relocation start points and end points are marked in the model.
In the Activity property pages, two check boxes are available to determine:
- if this activity can be used as starting point for a relocation
- if this activity can be used as the target of a relocation
Refer to section
Modifying Activity Properties
in chapter
Specifying Activities
of the
Modeling Guide
for details on these settings.
Source and Target Activities
Source Activities
Manual activities and application activity instances are supported as source
activity types.
The following restrictions apply on activity instances to be used as
source activities:
- interactive activities: relocation is restricted on activities in
application or hibernated state
- non-interactive activities: the user must be an administrator
and relocation is restricted on activities in
interrupted or hibernated state
- the performer of the relocation needs to have administrative rights
Target Activities
All activity types are supported as target activity types. Note that
only users with the administrator role can jump to application activities.
Transition Options
The following transition options can be determined via API:
- allow transitions out of subprocesses
- allow transitions into subprocesses
- allow relocation transitions in loops
Note that jumping out of asynchronously started subprocess is not supported.
For details refer to section
Transition Options
of chapter
Relocating Activities
in the Programming Guide.
Workflow after transition
After the transition is performed, the workflow must be able to continue in
a normal way from the target activity. The workflow continues in the following
way:
- If the target activity is in a subprocess, the transition might
instantiate new subprocesses, one for every level. Created subprocesses
should be in a state that allows normal termination.
- If the target activity is in a super process, the current process instance
and all intermediate process instances are terminated.
- If the target activity is in a subprocess of a super-process, the
intermediate process instances are terminated and new process instances
will be created.
Example Use Cases
The following examples are use cases for finding targets in workflows with
activities marked for source and target relocation.
Linear Flow
This example has several activities in a sequence.
Figure: Linear flow example
If source activity is 2, the following applies:
- Forward targets are 3 and 4.
- Only 1 is backward target.
- 1 has no backward targets.
- 4 has no forward targets.
Complex Flow
This example complex flow is a combination of OR and AND joins.

Figure: Complex flow example
Activity 3 is not marked as relocation target, thus it will
be skipped by the scanning algorithm.
Possible targets if relocating from 1:
- 5 is possible target.
- 3 is skipped as not marked as relocation target.
- 6 or 7 cannot be targets, because they
are blocked by a split AND.
- From activity 5 you can reach activity 8.
The following forward targets are possible:
- from 1 to 2, 5, 4, 8
- from 5 to 8
- from 6 to 4, 8
The following backwards targets are possible:
- to 8 from 4, 2, 1, 6, 7
- to 6 from none (blocked by an AND split)
- to 4 from 2, 1, 6
Complex Flow 2
This example shows another complex type with AND joins.

Figure: Complex flow example
The following transitions are valid in this flow:
- 5 to 8 - possible because all the
transitions that are split by 5 are collected before
8.
- 1 to 11
- 2 to 10
Subprocess Flow
This example uses subprocesses in a three level sharing.
Figure: Subprocess flow example
The workflow could be in the following order:
- We forward from 1 to subprocess activity 2.
- Now subprocess S1-2 is started from subprocess activity
2 of the main process.
- Subprocess S2-2 in the third process is started by subprocess
S1-2.
Another option is to start subprocess S2-2
from activity 4 of the main process.
If you want to relocate from activity 1 in the main process to the second
activity (subprocess S2-2) of the second subprocess, there are
several options:
- from 1 to 2 to S1-2
to S2-2 (marked by the red lines). In that case, two
process instances will be created.
- from 1 to 4 to S2-2.
Here, only one process instance will be created.
API provided for Relocation
The WorkflowService provides methods for finding targets and performing the
transitions from the specified activity instance to the specified target.
Refer to chapter
Relocating Activities
in the Programming Guide
for details.
Data Copy Semantics
All data values get migrated if identical data exist in the new process definition
version. Data with the same ID are copied in the following way:
- Source type and target type are primitives and the types and values are
compatible (e.g. Integer into Long): 1:1 copy.
- Source type is structured data and target type is structured data or
typed document: all data with the same XPath is copied 1:1 and the document
content remains empty.
- Source type is typed document and target type is structured data or
typed document: all data with the same XPath is copied 1:1 and the document
content is copied if target type is typed document. If the target type is
structured data, the document content will be saved in process attachments.
- Process attachments are copied 1:1.
- Other data types will not be copied.
Process History Migration
The process history is migrated as follows:
- The migrated process instance is a combination of the original aborted
process instance and a newly started process instance.
- The history of the original process instance is available indirectly via
the link feature
- The history of the original process instance is available and identifiable
indirectly via the link feature
Restriction
Note that active activity instances are aborted and only one activity can be
defined to be the starting activity for the new process instance.