Differences between revisions 2 and 3
Revision 2 as of 2008-10-17 16:05:43
Size: 1820
Editor: abr
Comment:
Revision 3 as of 2008-10-17 16:13:10
Size: 1823
Editor: kfc
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
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. All Fedora objects have a State property. This property can take one of three values, "Active", "Inactive" or "Deleted". While Fedora maintains this state for all objects, it attaches no meaning to it, and does not respect it in any way.
Line 7: Line 7:
 * Active: The object is published and available. The object has been validated against the content models that describe it.
 * Inactive: The object is not publically available. It is not guaranteed to be valid in regards to the content models that describe it. It can still be edited in the GUI. All template objects are in this state, and all objects made from templates will begin life in this state.
 * Deleted: The object is deleted, and should not be available to anyone. It is in no way guaranteed to be valid. The GUI should not be able to work on it, it should not appear in GUI searches and so on. It is still in the repository, and special administration tools should be able to ressurect it.
 * Active: The object is published and available. The object has been validated against the content models that describes it.
 * Inactive: The object is not publicly available. It is not guaranteed to be valid in regards to the content models that describes it. It can still be edited in the GUI. All template objects are in this state, and all objects made from templates will begin life in this state.
 * Deleted: The object is deleted, and should not be available to anyone. It is in no way guaranteed to be valid. The GUI should not be able to work on it, it should not appear in GUI searches and so on. It is still in the repository, and special administration tools should be able to resurrect it.
Line 11: Line 11:
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. 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.

Fedora State

All Fedora objects have a State property. This property can take one of three values, "Active", "Inactive" or "Deleted". While Fedora maintains this state for all objects, it attaches 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

  • Active: The object is published and available. The object has been validated against the content models that describes it.
  • Inactive: The object is not publicly available. It is not guaranteed to be valid in regards to the content models that describes it. It can still be edited in the GUI. All template objects are in this state, and all objects made from templates will begin life in this state.
  • Deleted: The object is deleted, and should not be available to anyone. It is in no way guaranteed to be valid. The GUI should not be able to work on it, it should not appear in GUI searches and so on. It is still in the repository, and special administration tools should be able to resurrect it.

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.

FedoraState (last edited 2010-03-17 13:08:50 by localhost)