Startseite
Startseite

Startseite / Weiterführende Themen / Serverseitige Freigabe / Spezifische Freigabe / Erreichbarkeit sicher- stellen (Vaterkette)

Erreichbarkeit sicherstellen (Vaterkette)

Beispiel - Vaterkette freigeben

Für den Aufruf von AccessUtil.release(...) werden die folgenden Parameter gesetzt:

releaseStartNode:  Ref 1
ensureAccessibility: true
boolean recursive:  false
DependentReleaseType: NO_DEPENDENT_RELEASE

Der ausgewählte Startknoten für die Freigabe ist die Seitenreferenz „Ref 1“.

Erreichbarkeit sicherstellen (Vaterkette): Ausgehend vom Startknoten der Freigabe „Ref 1“ wird die vollständige Vaterkette des Objekts bis zum Wurzelknoten der Verwaltung betrachtet. Durch die Option ensureAccessibility werden alle Knoten der Vaterkette freigegeben, die noch niemals freigegeben wurden. Konkret bedeutet dies, Objekte, die bereits einmal freigegeben wurden (geänderte Objekte), werden durch die Option ensureAccessibility nicht freigeben und zwar auch dann nicht, wenn sie sich durch das Hinzufügen, beispielsweise einer Seitenreferenz, geändert haben.

Wird die Option ensureAccessibility=false gesetzt, wird die Vaterkette nicht freigegeben, die freizugebenden Elemente werden aber der Release-Kindliste des Vaterknotens hinzugefügt. Dabei gilt:

  • Bei geänderten Vaterknoten: Das freizugebende Objekt ist im Freigabe-Stand erreichbar. Das Vaterelement wird aber nicht freigegeben.
  • Bei neuen Vaterknoten: Da der Vaterknoten niemals freigegeben wurde, ist auch das freizugebende Objekt im Freigabe-Stand nicht erreichbar. Das kann zu ungültigen Referenzen im Freigabe-Stand führen.

Beispiel - Vaterkette freigeben mit Kindliste

Hintergrund: Soll eine Seitenreferenz freigegeben werden, obwohl der Redakteur kein Recht zur Freigabe innerhalb der übergeordneten Menüebene besitzt, sollte die Seitenreferenz trotzdem in den Freigabestand übernommen werden. Eventuelle inhaltliche Änderungen innerhalb der Menüebene (z. B. weitere Referenzen) sollen durch die Option ensureAccessibility aber nicht freigegeben werden.

Im Beispiel würde durch eine Freigabe der Seitenreferenz „Ref 2“ von „Redakteur A“ sowohl die neu angelegte Seitenreferenz als auch die neu angelegte Menüebene „Folder 2“ freigegeben. Die Menüebene „Folder 1“ wird nicht freigegeben. Damit die neue Menüebene „Folder 2“ (und damit auch die Seitenreferenz „Ref 2“) im Freigabestand erreichbar ist, wird „Folder 2“ durch die Option ensureAccessibility aber zur Release-Kindliste der Menüebene „Folder 1“ hinzugefügt. Damit ist die Seitenreferenz „Ref 2“ innerhalb des Freigabestands erreichbar, nicht aber die neu angelegte Seitenreferenz „Ref 1“. Gibt nun „Redakteur B“ die Seitenreferenz „Ref 1“ frei, wird auch diese zur Release-Kindliste der Menüebenen „Folder 1“ hinzugefügt. Da „Folder 1“ als geändertes Objekt bereits über die Release-Kindliste des ebenfalls geänderten Folders „SS Folder“ erreichbar ist, ist die Freigabe hiermit abgeschlossen. Die beiden Menüebenen („Folder 1“ und „SS Folder“) werden über die Option nicht freigegeben, da es sich hier nicht um neu angelegte Objekte handelt.

© 2005 - 2015 e-Spirit AG | Alle Rechte vorbehalten. | Letzte Änderung: 2014-08-13