Model Migration

When doing major changes on the model, it has to made sure that old models still load in AutoFOCUS. Models can not be loaded any more after renaming or deletion of model elements such as classes or attributes. Plugins that are part of the release have to load all models from release n also in release n+1. Therefore the AutoFOCUS kernel offers a MigrationService.

The workflow for model changes after release n is
  • Do not delete deprecated model elements in release n+1
  • Write a <xxx>MigrationProvider for your plugin that adjusts old models to the new model (e.g. remove, rename, ...)
  • Test model changes with all models from
  • After publishing the release n+1, the deprecated model elements and migration code written between release n and n+1 can be deleted