Differences between revisions 1 and 2
Revision 1 as of 2008-09-29 07:36:56
Size: 722
Editor: abr
Comment:
Revision 2 as of 2008-09-30 08:38:01
Size: 721
Editor: abr
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:

= Working with the Datamodel or How to work without transactions=
= Working with the Datamodel or How to work without transactions =

Working with the Datamodel or How to work without transactions

The STATE datastream, present in all data objects are the key. To emulate a transaction, follow these steps:

  1. Ingest any new objects, with STATE=draft
  2. change the STATE of all involved objects with STATE=published to STATE=intermediate
  3. Perform all changes that must be performed
  4. Change the objects back to STATE=published. This will provoke a validation of the objects by the DOMS system. If the objects failed the validation, the STATE will not change

DOMS only try to enforce a structure on objects with STATE=published. By marking objects as intermediate, the system will disregard them, without losing the relations to them.

FedoraTransactionsReplacement (last edited 2010-03-17 13:08:49 by localhost)