Input/output Mapping in Migration

Hi guys,

I have a simple process model in version 1 and 2 deployed.
It only consists of one intermediate catch message event.

From version 1 to version 2 only one input parameter of "Car in system " changed from value “X1” to “X2”.

When migrating all instances of version 1 to version 2 the variable is not updated so that the value is still value form version 1 of the process (X1).

MigrationPlan migrationPlan = processEngineRule.getRuntimeService()
		.createMigrationPlan(processVersion1.getId(), processVersion2.getId())
		.mapActivities("carInSystemMessageEvent", "carInSystemMessageEvent")
	        .build();

processEngineRule.getRuntimeService().newMigration(migrationPlan)
	  .processInstanceIds(processInstance.getId())
	  .execute();

Is it possible to migrate input parameters so that process variables are updated to new value X2 ?

Best regards,

Markus

Hi @Markus,

Currently, it isn’t possible to migrate the input parameters to the new version. This is desired behavior as the variable might already changed during execution and then setting the variable to the initial new value might lead to unexpected behavior. Though in your case it is very unlikely that the variable changes in between, since the process is that simple. So it would make sense to actually do that.

However, we’re planing to extend the migration plan, so that you can change the input parameter explicitly. Thus, you could adapt the migration to your desired behavior. Unfortunately, I can’t tell when we’ll implement that feature. In the meanwhile you’ve to change the input parameter manually.

Hope that helps!

Best,
Johannes

Hi Johannes,

thanks for reply. Yes it helps. I will migrate the variables manually .
Hopefully you will implement a optional feature in future to change the input parameter explicitly.

Best regards,

Markus