Startseite
Startseite

Startseite / Weiterführende Themen / Serverseitige Freigabe / Spezifische Freigabe

Spezifische Freigabe

Die spezifische Freigabe berücksichtigt, abhängig von den definierten Freigabeparametern, noch weitere (abhängige) Objekte innerhalb des Freigabeprozesses.

  • Erreichbarkeit sicherstellen (Vaterkette): ausgehend vom ausgewählten Objekt werden alle neuen (niemals freigegebenen) übergeordneten Knoten ebenfalls freigegeben (siehe Erreichbarkeit sicherstellen (Vaterkette)). Diese Option ist beispielsweise dann sinnvoll, wenn eine neue Seite unterhalb eines neuen Ordners in der Inhalte-Verwaltung angelegt wurde und beide gemeinsam freigegeben werden sollen. Im Gegensatz zur rekursiven Freigabe würden andere neue Seiten unterhalb des Ordners nicht freigegeben. Während die Kombination dieser Option mit der Option „rekursive Freigabe“ auf die aktuelle Verwaltung beschränkt bleibt (siehe Vaterkette und rekursiv freigeben), wirkt sie sich in Kombination mit der Option „abhängige Freigabe“ auch auf die Vaterketten der abhängigen Objekte und damit auf weitere Verwaltungen aus (siehe Vaterkette und abhängig freigeben).
  • Rekursiv freigeben: ausgehend vom ausgewählten Objekt werden alle untergeordneten Knoten ebenfalls freigegeben. Diese Selektion ist beispielsweise dann sinnvoll, wenn unterhalb eines Ordners in der Inhalte-Verwaltung viele Seiten geändert wurden und nun alle Änderungen gemeinsam freigegeben werden sollen. Diese Option bleibt auf den aktuellen Verwaltungsbereich beschränkt (siehe Rekursive Freigabe).
  • Nur neue abhängige Objekte freigeben: ausgehend vom ausgewählten Objekt werden zusätzlich alle Objekte freigegeben, die abhängig vom ausgewählten Objekt sind (z. B. ein Medium, das in einer Bildeingabekomponente verwendet wird) und die noch nie freigegeben wurden (neu angelegte Objekte). Wird diese Freigabeoption mit weiteren Optionen (z. B. der Freigabe der Vaterkette) kombiniert, wirkt sich die abhängige Freigabe auch auf andere am Freigabeprozess beteiligte Objekte und Verwaltungen aus.
  • Neue und geänderte abhängige Objekte freigeben: ausgehend vom ausgewählten Objekt werden zusätzlich alle Objekte freigegeben, die abhängig vom ausgewählten Objekt sind (z. B. ein Medium, das in einer Bildeingabekomponente verwendet wird.). Dabei werden sowohl Objekte berücksichtigt, die noch nie freigegeben wurden (neu angelegte Objekte) als auch Objekte, die nach einer bereits erfolgten Freigabe zwischenzeitlich erneut bearbeitet wurden (geänderte Objekte). Wird diese Freigabeoption mit weiteren Optionen (z. B. der Freigabe der Vaterkette) kombiniert, wirkt sich die abhängige Freigabe auch auf andere, am Freigabeprozess beteiligte Objekte und Verwaltungen aus.

Die spezifische Freigabe eines Objektes wird über die folgende API-Methode ausgeführt:

AccessUtil.release(IDProvider releaseStartNode, boolean checkOnly, boolean ensureAccessibility, boolean recursive, 
IDProvider.DependentReleaseType dependentType)

Übergabe-Parameter:

releaseStartNode: Startknoten für die Freigabe

checkOnly: Wird der Wert true übergeben, wird die spezifische Freigabe nur getestet. Die freizugebenden Objekte werden dabei nicht in den Freigabestand überführt. Stattdessen werden die definierten Freigabeoptionen durchlaufen, um z. B. Fehler vor der realen Freigabe aufzudecken.

ensureAccessibility: Wird der Wert true übergeben, wird die vollständige Vaterkette des freizugebenden Objekts ermittelt und alle zuvor niemals freigegebenen Objekte ebenfalls freigegeben. 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 (siehe Erreichbarkeit sicherstellen (Vaterkette) und Vaterkette und rekursiv freigeben).

recursive: Wird der Wert true übergeben, werden rekursiv alle Kindelemente des freizugebenden Objekts ermittelt und ebenfalls freigegeben. Wird der Wert false übergeben werden die Kindelemente bei der Freigabe nicht berücksichtigt (siehe Rekursive Freigabe, Abhängige mit rekursiver Freigabe und Vaterkette und rekursiv freigeben).

dependentType: Über diesen Parameter werden abhängige Objekte des freizugebenden Objekts ermittelt und ebenfalls freigegeben. Wird beispielsweise auf einer Seite ein Medium referenziert, kann dieses Medium bei der spezifischen Freigabe der Seite ebenfalls direkt freigegeben werden. Es können folgende Abhängigkeiten berücksichtigt werden (siehe Abhängige Freigabe, Abhängige mit rekursiver Freigabe und Vaterkette und abhängig freigeben):

  • DEPENDENT_RELEASE_NEW_AND_CHANGED: Neue und geänderte abhängige Objekte werden berücksichtigt.
  • DEPENDENT_RELEASE_NEW_ONLY: Nur neu angelegte (noch nie freigegebene Objekte) werden berücksichtigt
  • NO_DEPENDENT_RELEASE: Abhängige Objekte werden nicht berücksichtigt und müssen ggf. gesondert freigegeben werden (Standardeinstellung).

Die unterschiedlichen Freigabeoptionen können beliebig miteinander kombiniert werden, um eine umfangreiche Freigabe innerhalb kurzer Zeit zu realisieren. Die Freigabe aller am Freigabeprozess beteiligten Objekte ist aber unter Umständen nicht in allen Fällen erwünscht und sollte daher mit Bedacht ausgeführt werden.

Rückgabe-Parameter:

ServerActionhandle<? extends ReleaseProgress,Boolean > 

Die serverseitige Freigabe liefert ein ServerActionHandle zurück, das alle Informationen über den Freigabeprozess beinhaltet.

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