Revert to old value
Feature
With this feature, you can re-set an old value for a field in the history tab and audit trail detail tab.
In general, the revert button is shown for all enabled fields if the field is editable, is not a password field and not a field belonging to a logical key, and the user has write access for the field.
The write access includes checks for
action rights: The user needs action rights for all entities up to the root entity
field rights
qualified field rights
object rights
Customizing
It is possible to exclude single fields or whole entities from this functionality using the attribute "Supports History Reset" in the repository.
In order for the button to be shown, the field and all its parent entities need to support the feature. This means if one of the parent entities' attribute is set to false the "Revert" button will not be shown. So there is no need to set the attribute on all individual fields, you can just define it on the entity and all fields of the entity will be excluded.
Limitations
For certain fields, we deactivated this feature. In some cases, an entity might be read-only like the StructureGroupMap of items, products or variants; in others, the complexity and dependency to other fields are too high like the characteristic model. There are several different reasons.
The revert won't work out of the box for fields of type MIMEValue. So if you add custom fields, please deactivate "Supports History Reset" in the repository.
In case you change either "Supports Audit Trail" or "Supports History Reset", be aware that the revert of a value might not work out of the box and you might have to contribute and implement something yourself. The RevertCommand has several command operators that can be contributed.
The following fields don't support this feature:
ArticlePricePurchase (whole entity)
ArticlePriceValuePurchase (whole entity)
ArticlePriceSales (whole entity)
ArticlePriceValueSales (whole entity)
ArticleStructureMap.StructureGroup
ArticleStructureGroupMap (whole entity)
ArticleAttribute.JoinedAttributeCount
ArticleAttribute.DomainValue
ArticleAttribute.Mapping
ArticleMediaAssetMap (whole entity)
ArticleMediaAssetDocument (whole entity)
ArticleMediaAssetLang (whole entity)
VariantPricePurchase (whole entity)
VariantPriceValuePurchase (whole entity)
VariantPriceSales (whole entity)
VariantPriceValueSales (whole entity)
VariantStructureMap.StructureGroup
VariantStructureGroupMap (whole entity)
VariantAttribute.JoinedAttributeCount
VariantAttribute.DomainValue
VariantAttribute.Mapping
VariantMediaAssetMap (whole entity)
VariantMediaAssetDocument (whole entity)
VariantMediaAssetLang (whole entity)
Product2GPricePurchase (whole entity)
Product2GPriceValuePurchase (whole entity)
Product2GPriceSales (whole entity)
Product2GPriceValueSales (whole entity)
Product2GStructureMap.StructureGroup
Product2GStructureGroupMap (whole entity)
Product2GAttribute.JoinedAttributeCount
Product2GAttribute.DomainValue
Product2GAttribute.Mapping
Product2GMediaAssetMap (whole entity)
Product2GMediaAssetDocument (whole entity)
Product2GMediaAssetLang (whole entity)
Characteristic (whole entity)
LookupValue.MIMEValue
LookupValueLang.MIMEValue