Fedora State

All Fedora objects have a State property. This property can take one of three values, "Active", "Inactive" or "Deleted". While Fedora maintain this state for all objects, it attach no meaning to it, and does not respect it in any way.

For DOMS, we need to work with the state of objects, so we have added meaning to the three states

The state of a object can be changed through the api [:Fedora_3.0_API/Management#modifyObject:] method. The DOMS system will hook this api method, so that whenever the state of an object change to Active, the validator will be invoked on the object. If the object cannot validate, the method will return an error, rather than changing the state.

All other Fedora API methods have been hooked, so that any attempts to change an object that is Active will return errors. First, use the above method to change the state to Inactive, then perform the changes, and then change the state back, so the validator checks the changed object. Any tools that attempt to disseminate the object while it is being edited will skip the object, as it is Inactive.