IDataArchive

Repräsentiert die Entität des Archives für Datenobjekte in onion.net.

Datenobjekte in onion.net werden beim Löschen aus dem Datenstand nicht unwiderruflich gelöscht, sondern in ein Archiv verschoben. Zu Unterscheiden ist dabei, ob das zu löschende Datenobjekt bereits in der Produktiven Umgebung vorhanden ist und in welcher Umgebung das Datenobjekt gelöscht werden soll.

  • Ein Datenobjekt soll in der Produktiven Umgebung gelöscht werden
    Da das Datenobjekt in der Produktiven Umgebung gelöscht werden soll, ist dies bereits in dieser Umgebung vorhanden. Wird das Datenobjekt gelöscht, so wird dieses in das Datenarchiv verschoben und kann dort wiedergefunden werden.
  • Ein Datenobjekt der Produktiven Umgebung soll in einem ChangeSet gelöscht werden
    Das zulöschende Datenobjekt existiert in der Produktiven Umgebung und soll nun in einem ChangeSet gelöscht werden. Nach dem Löschen im ChangeSet ist das Datenobjekt im Kontext des ChangeSets aus dem Datenbestand verschwunden, jedoch existiert es noch in der Produktiven Umgebung. Da das Datenobjekt noch nicht tatsächlich gelöscht worden ist, ist dieses Datenobjekt nicht im Datenarchiv zu finden, sondern in der Liste der Änderungen des ChangeSets.
    Wird das ChangeSet nun publiziert, wird die Änderung umgesetzt und das Datenobjekt in das Datenarchiv verschoben.
  • Ein in einem ChangeSets erstelltes Datenobjekt soll gelöscht werden
    Da das Datenobjekt in einem ChangeSet erstellt worden ist, ist dieses noch nicht in der Produktiven Umgebung vorhanden und kann auch nur in diesem ChangeSet gelöscht werden. Da das Datenobjekt in onion.net bisher nur Reservierungen erzeugt hat, werden diese beim Löschen zurückgezogen. Das bedeutet, wird dieses Datenobjekt gelöscht, ist dieses unwiderruflich gelöscht.

Auf Datenobjekte des Datenarchivs wird über eine Suche zugegriffen. Als Ergebnis werden alle Löschprozesse zurückgegeben, die auf die Filter der Suche passen. Ein Löschprozess enthält eine Zusammenstellung mit Informationen zu allen gelöschten Datenobjekten, die in einem Vorgang aus dem Datenbestand gelöscht worden sind. Die Liste des Prozesses enthält dabei lediglich die Startknoten einer gelöschten Datenstruktur und gibt Auskunft über das ehemalige Elternobjekt und die mitgelöschten Kinddatenobjekte.

Beim Löschen von Datenobjekten ist es möglich ein oder mehrere Datenobjekte zu löschen.

  • Löschen eines einzelnen Datenobjektes
    Soll ein einzelnes Datenobjekt gelöscht werden, so darf es keine Kindelemente besitzen und darf weder in einem anderen Datenobjekt referenziert, noch durch ein anderes ChangeSet geblockt sein.
  • Löschen einer Datenstruktur
    Von einer Datenstruktur wird in onion.net gesprochen, wenn sich unterhalb eines Datenobjektes mindestens ein weiteres Datenobjekt befindet. Soll nun diese Datenstruktur gelöscht werden, so muss lediglich das oberste Datenobjekt gelöscht werden. Die Client API bietet die Möglichkeit Kindelemente rekursiv mitzulöschen. Dabei gilt, wie bei der Löschung eines einzelnen Datenobjektes, alle Datenobjekte dürfen nicht durch ein anderees ChangeSet geblockt sein. Datenobjekte in dieser Struktur dürfen referenziert sein, sofern die Datenobjekte, welche die Referenzen beinhalten, sich ebenfalls in der zulöschenden Struktur befinden.
  • Löschen mehrerer Datenstrukturen
    Der Datenbestand an sich bietet nicht die Möglichkeit einzelne Datenstrukturen in einem Löschvorgang zusammenzufassen. Jedoch können in onion.net alle Kindelemente eines Datenobjektes gelöscht werden. Im Löschprozess entstehen dadurch nun mehrere Startknoten von Datenstrukturen.
    Bei diesem Löschvorgang ist ebenfalls wichtig, dass die zulöschenden Datenobjekte nicht durch ein ChangeSet geblockt werden und auch nicht von Datenobjekten außerhalb der Datenstrukturen referenziert werden.

Indexer

IndexerBeschreibung
this[Int32]:IArchivedDataObject

Ruft ein Objekt aus dem Datenarchiv ab, welches Informationen zu einem gelöschten Datenobjekt liefert.

this[String]:IArchivedDataObject

Ruft ein Objekt aus dem Datenarchiv ab, welches Informationen zu einem gelöschten Datenobjekt liefert.

Methoden

MethodeBeschreibung
CreateSearchQuery():IArchiveQuery

Erzeugt eine Suche für das Datenarchiv.

GetDeleteProcess(Int32):IDeleteProcess

Ruft einen Löschprozess im Datenarchiv ab.

GetObject(Int32):IArchivedDataObject

Ruft ein Objekt aus dem Datenarchiv ab, welches Informationen zu einem gelöschten Datenobjekt liefert.