IDataArchive

Represents the entity of the archive for data objects in onion.net.

Data objects in onion.net are not irrevocably deleted when deleted from the data repository but moved into an archive. It must be clarified here whether the data object to be deleted is already present in the Productive Environment and which environment the data object is to be deleted in.

  • A data object is to be deleted in the Productive Environment
    Since the data object is to be deleted in the Productive Environment, the data object is already present in this environment. If the data object is deleted, then it is moved into the data archive and can be retrieved there.
  • A data object of the Productive Environment is to be deleted in a ChangeSet
    The data object to be deleted exists in the Productive Environment and is to now be deleted in a ChangeSet. After deletion in the ChangeSet, the data object has disappeared from the data repository in the context of the ChangeSet, but still exists in the Productive Environment however. Since the data object has not yet actually been deleted, this data object cannot be found in the data archive but in the list of changes to the ChangeSet.
    If the ChangeSet is now published, the change is implemented and the data object moved into the data archive.
  • A data object created in a ChangeSets is to be deleted
    Since the data object was created in a ChangeSet, it is not yet present in the Productive Environment and can also only be deleted in this ChangeSet. Since the data object has so far only generated reservations in onion.net, these are withdrawn at the time of deletion. The means that, if this data object is deleted, it will be irrevocably deleted.

Data objects of the data archive are accessed via a search. Any deletion processes are returned as the result that match the filters of the search. A deletion process contains a collection with information on all deleted data objects that have been deleted from the data repository as part of a procedure. The list of the process contains merely the starting nodes of a deleted data structure and provides information about the former parent object and the child data objects deleted along with it.

When deleting data objects it is possible to delete one or several data objects.

  • Deleting of an individual data object
    If an individual data object is to be deleted, then it may have no child elements and may neither be referenced in another data object nor be blocked by another ChangeSet.
  • Deleting of a data structure
    We speak of a data structure in onion.net when there is at least one further data object underneath a data object. If this data structure is to now be deleted, then only the upmost data object needs to be deleted. The Client API offers the possibility of recursively deleting child elements along with the data object. As when deleting an individual data object, the rule applies here that all data objects must not be blocked by another ChangeSet. Data objects in this structure may be referenced as long as the data objects containing the references are also in the structure to be deleted.
  • Deleting of several data structures
    The data repository itself does not offer the possibility of pooling individual data structures in one deletion process. However, all child elements of a data object can be deleted in onion.net. This leads to the emergence of several starting nodes of data structures in the deletion process.
    It is also important to this deletion process for the data objects for deletion to not be blocked by a ChangeSet and not be referenced by data objects outside of the data structures.

Indexers

IndexerDescription
this[Int32]:IArchivedDataObject

Calls an object from the data archive that supplies information about a deleted data object.

this[String]:IArchivedDataObject

Calls an object from the data archive that supplies information about a deleted data object.

Methods

MethodDescription
CreateSearchQuery():IArchiveQuery

Generates a search for the data archive.

GetDeleteProcess(Int32):IDeleteProcess

Calls a deletion process in the data archive.

GetObject(Int32):IArchivedDataObject

Calls an object from the data archive that supplies information about a deleted data object.