Check which instances of an object property have been edited via actions

I want to revert a property to being uneditable and add any edits that have been made to the upstream datasource. I’d like to know which properties have been edited to avoid having to copy the entire column: there will be a very small number of edits as this action was added in error.

My current idea is to materialise the object type and then use contour against backing data, but feel like there might be a nicer method

Hi @gmoore. Three thoughts:

  • If the action type has logging activated (OMA → capabilities) you could identify all executions and revert those
  • (not sure about this one) if you deselect the is_editable option on your OT in OMA, would it then just fall back to just being the backing dataset? I remember something that there was an option to reset all edits…
  • If your backing dataset has an updated at timestamp, you could set the conflict resolution to update based on that timestamp (I think conflict resolution is how its called). This way the action type edits would be overwritten again by the next build.

Ah yeah sorry, I want to keep the edits, but have them be fed into the datasource i.e. not lost. We basically had someone set up an action for something that should be edited prior to the ontology and don’t want to lose the data that has been input

Understood. Then at least option 1 would still work to identify those edits (in case logging was activated).

In case not it might be easiest to do your quick‘n‘dirty contour… To identify rows that have changed, you can do the following:

  • prepare for both datasets (backing and materialized OT) a long strconcat of all variables.
  • Combine both datasets via primary key ↔ primary key left join (or outer in case you expect new objects to be created)
  • derive a bool by comparing the concatenated strings from both sides