Startseite / Weiterführende Themen / Serverseitige Freigabe / Spezifische Freigabe / Vaterkette rekursiv und abhängig freigeben
Erreichbarkeit sicherstellen (Vaterkette), rekursiv und abhängig freigeben
Für den Aufruf von AccessUtil.release(...) werden die folgenden Parameter gesetzt:
releaseStartNode: Folder 1
ensureAccessibility: true
boolean recursive: true
DependentReleaseType:
DEPENDENT_RELEASE_NEW_AND_CHANGED||DEPENDENT_RELEASE_NEW_ONLY
Der ausgewählte Startknoten für die Freigabe ist die Menüebene „Folder 1“.
Erreichbarkeit sicherstellen (Vaterkette), rekursiv freigeben und abhängig freigeben: Die umfangreichste Freigabe wird ausgeführt, wenn alle Freigabeoptionen miteinander kombiniert werden. In diesem Fall werden sowohl alle niemals freigegebenen Elemente der Vaterkette als auch alle Elemente unterhalb des Startknotens freigegeben. Zusätzlich werden die abhängigen Objekte aller vom Freigabeprozess betroffenen Knoten freigegeben und auch dort die gesamte Vaterkette untersucht und ggf. freigegeben. Die rekursive Freigabe wirkt sich, anders als die Freigabe der Vaterkette, nicht auf die abhängigen Objekte aus. Anhand des Beispiels wird klar, dass die Freigabe sich annähernd auf alle dargestellten Objekte auswirkt – lediglich „Page 2“ ist nicht betroffen:
- Am Startpunkt der Freigabe „Folder 1“ wird die Option recursive ausgewertet. Die rekursive Freigabe wirkt sich ausschließlich auf die Kindelemente des Startpunkts der Freigabe aus. Im Beispiel werden durch die Option also die Kindelemente „Ref 1“, „Folder 2“ und „Ref 2“ freigegeben.
- Es werden alle ausgehenden Referenzen der freigegebenen Objekte freigeben. Im Beispiel sind das die Objekte „Pict 4“ (über die Referenz innerhalb der Menüebene „Folder 1“), „Page 1“ (über die Seitenreferenz „Ref 1“), „Pict 2“ (über die Referenz innerhalb der Menüebene „Folder 2“)
- Von diesen freigegebenen Objekten werden wieder die ausgehenden Kanten untersucht und freigegeben. Im Beispiel sind das die Medien „Pict 1“ und „Pict 3“ (über die Referenz innerhalb der Seite „Page 1“).
- Von allen freigegebenen Elementen werden nun die vollständigen Vaterketten untersucht und alle niemals freigegebenen Vaterknoten freigegeben. Im Beispiel sind das „SS Folder“ (Vaterelement Startknoten), „PS Folder“ (Vaterelement „Page 1“), „MS Folder 2“ (Vaterelement „Pict 1“ und „Pict 2“), „MS Folder 3“ (Vaterelement „Pict 4“).
- Nun werden die abhängigen Objekte der freigegeben Vaterknoten freigegeben. Im Beispiel ist das „MS Folder 1“ (über die Referenz in „PS Folder“). Anders als bei der Freigabeoption releaseParentPath wird „MS Folder 1“ auch dann freigegeben, wenn er nur „geändert“ wurde, also bereits einmal freigegeben war.
Alle ausgehenden Referenzen für die abhängige Freigabe werden nur in einer Richtung vollständig berücksichtigt. Sollen alle abhängigen Objekte im Freigabeprozess enthalten sein, muss die Freigabe also in einer bestimmten Reihenfolge erfolgen (siehe Reihenfolge für die Freigabe). |