bmir-radx / radx-project

This repo serves as a primary location for tracking issues that don't quite fit into our other dedicated repositories
0 stars 0 forks source link

Basic instance evolution in response to changing templates #55

Open martinjoconnor opened 5 months ago

martinjoconnor commented 5 months ago

Some initial work to address RADx metadata management task XA6.1.

This work will support the evolution of instances when their template is modified.

The initial goal is to check all instances of a template against a modified version of that template.

This check will determine if a change is non-breaking and if it is to provide the option of 'promoting' instances to conform to the new template.

If the change is a breaking one (e.g., a field is removed from a template) some options may need to be presented to the user (e.g., promote an instance deleting the field from it or leaving the instance as is).

Other changes could be far more complex (e.g., cardinality changes for multi-instance fields and elements, datatype changes for fields, string length specification changes, value constraint changes). Need to come up with a list of these possible changes.