Improved update()/commit() functionality

We plan a full redesign of the update()/commit() functionality of AAS objects for synchronization with an external data source.

  • Instead of overriding these functions for different data sources, all Referable objects will include a source attribute with an URI representation of their data source. The URI's schema is used to determine the correct backend/client.
  • update() and commit() should always effect the object itself and all (recursively) included objects
  • If the object itself has no data source/backend itself, the next higher object with a data source is used to update the object's data.
  • After the update, all included objects that are linked with an own data source are updated recursively in a top-down manner.
  • An object is always committed to its own data source and the data sources of all its ancestors in the object hierarchy.
  • The included objects are committed recursively. (TODO: Define order of committing.)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information