When an object is instantiated from a prototype, the object is weakly linked to the prototype, i.e. from the asset detail page there is a link to the prototype, and from the prototype detail page there is a list of all objects instantiated from it. It is possible to link existing objects to a prototype, and to unlink objects from a prototype (see
Linking and Unlinking
).
Updates to the prototype are not automatically applied to the instances, and updates to instances are not automatically applied to the prototype.
When any instantiation of a prototype has deviated from the prototype, either by updating the prototype, or by updating the instance, it is reflected in the detail page of the prototype, the detail page of the affected asset, and the detail page of the affected asset property.
Updating an instance from the prototype
By clicking the ‘Update from prototype’ button on the asset detail page, an overview is shown of the differences between the prototype and the instances created by it.
The overview shows the properties that have been updated in the prototype or the instances since the instance was created.
Items with a green icon can be updated without user interaction, items with a red icon require manual intervention because both the prototype and the instance have been updated (see
Conflict Resolution
).
Items are marked with ‘(No Change)’, ‘(Update)’, ‘(Override)’, or ‘(New)’ based on the differences between the prototype and the instance.
- ‘(No Change)’ means the property has not been updated in the prototype or the instance since the instance was created.
- ‘(Update)’ means the property has been updated in the prototype since the instance was created.
- ‘(Override)’ means the property has been updated in the instance since the instance was created.
- ‘(New)’ means the property has been added to the prototype since the instance was created.
Bulk updating instances from the prototype
By clicking the ‘Bulk update instances’ on the prototype detail page, an overview is shown of the differences between the prototype and the instances created by it.
The overview can be shown ‘Prototype based’ or ‘Asset based’.
Prototype based
‘Prototype based’ shows the asset prototype and its configured asset property prototypes and event configuration prototypes.
Items with a red icon need manual intervention because both the prototype and the instance have been updated. The number between parentheses signifies the amount of instances that have conflicts.
For every conflict, the user needs the select the appropriate
Conflict Resolution
strategy.
Asset based
‘Asset based’ shows the asset instances and their configured asset properties and event configurations. By default only the assets with conflicts are shown, by clicking ‘Show full asset tree’ all asset instances are shown.
Items with a red icon need manual intervention because both the prototype and the instance have been updated.
Overview of changes in Bulk Update
Once all conflicts are resolved, an overview of changes that will be applied can be consulted by clicking the ‘Bulk changes overview’ button. The individual rows in the overview can be expanded to show the changes that will be applied to the instances.
When the changes have been reviewed, the changes are ready to be submitted by clicking the ‘Submit’ button.
Conflict resolution
When an instance of a prototype has been manually updated (overridden) and the prototype is updated too, there is a conflict that can not be resolved automatically.
In the update overview, these conflicts are marked with a red icon and require manual intervention.
In the conflict resolution view, the user can choose between ‘keep’ or ‘update’.
- ‘Keep’ will keep the manually updated value in the instance and ignore the update from the prototype.
- ‘Update’ will update the instance with the new value from the prototype, the manual change will be lost.