Hachmann
I'm new here

Prüfen, ob refernzierte Entity im Release-Stand verfügbar ist

Jump to solution

Guten Morgen,

wir haben die folgende Referenzierungskette:

Seitenreferenz (R) -> Seite (S) -> Absatz (A) -> Entity (E)

R, S, A sind alle freigegeben.

E wurde noch nie freigegeben.

Für die Referenz auf das Entity verwenden wir eine FS_LIST (name=st_story).

Wie ist der kanonische Weg um im Template festzustellen, dass E im Freigabestand nicht verfügbar ist?

Vielen Dank.

Viele Grüße

Björn Hachmann

0 Kudos
1 Solution

Accepted Solutions
gockel
Crownpeak employee

Hallo,

ok, jetzt habe ich es verstanden.

Bitte beschreib doch mal das aktuelle Verhalten und vor allem um welche FS-Version es sich handelt.

in der Release-Generierung wird der Datensatz weggelassen.

Ohne es kontrolliert zu haben, ist meine Erwartungshaltung dazu, dass man sich im Template darum nicht kümmern muss.

Wenn eine FS_LIST auf einem Absatz z.B. 5 Datensätze referenziert und der Absatz (A) ist freigegeben, aber von den 5 Datensätzen sind nur 4 schon einmal freigegben worden und 1 Datensatz noch niemals freigegeben worden, dann würde ich erwarten, dass die Liste während der Generierung (release) auch nur eine Größe von 4 hat und nur die schon mal freigegebenen Datensätze enthält.

Also müsste der Template-Entwickler darum gar nicht kümmern. Alles andere würde ich als Bug ansehen.

Gruss

View solution in original post

0 Kudos
4 Replies
gockel
Crownpeak employee

Hallo Björn,

warum willst du das im Template feststellen?

Dieser Zustand sollte doch schon im Freigabeprozess der Seite oder Seitenreferenz festgestellt werden, so dass der Datensatz (E) innerhalb des Freigabeprozesses auch mit freigegeben wird.

In der Implementierung eines solchen Freigabeskriptes würde ich immer über den Referenzgraph gehen, also die ausgehenden Kanten der Seite bzw. all seiner Kinder (in diesem Fall auch des Absatzes 'A') betrachten. Für den Fall des Datensatzes (E) hat der Absatz eine ausgehende Kante vom Typ CONTENT_REFERENCE somit liefert die Methode #getReferencedObjet() auch ein Entity welches die Methode #isReleased() zur Verfügung stellt.

Ich rate aber dringend davon ab, dass deart teure Operationen im Template durchgeführt werden.

Gruss

0 Kudos

Vielen Dank für diese Antwort, aber diese Option steht uns nicht zur Verfügung!

Wir möchten aus fachlichen Gründen keine abhängige Freigabe der Entity realisieren, sondern wie folgt vorgehen:

  • in der Current-Generierung wird der referenzierte Datensatz ausgegeben
  • in der Release-Generierung wird der Datensatz weggelassen.

Das dürfte ja dennoch kein sehr ungewöhnliches Vorgehen sein, oder?

0 Kudos
gockel
Crownpeak employee

Hallo,

ok, jetzt habe ich es verstanden.

Bitte beschreib doch mal das aktuelle Verhalten und vor allem um welche FS-Version es sich handelt.

in der Release-Generierung wird der Datensatz weggelassen.

Ohne es kontrolliert zu haben, ist meine Erwartungshaltung dazu, dass man sich im Template darum nicht kümmern muss.

Wenn eine FS_LIST auf einem Absatz z.B. 5 Datensätze referenziert und der Absatz (A) ist freigegeben, aber von den 5 Datensätzen sind nur 4 schon einmal freigegben worden und 1 Datensatz noch niemals freigegeben worden, dann würde ich erwarten, dass die Liste während der Generierung (release) auch nur eine Größe von 4 hat und nur die schon mal freigegebenen Datensätze enthält.

Also müsste der Template-Entwickler darum gar nicht kümmern. Alles andere würde ich als Bug ansehen.

Gruss

0 Kudos

Ja, vielen Dank. Dies war auch genau meine Erwartungshaltung.

vg

Björn Hachmann

0 Kudos