ascheuch
I'm new here

Liste referenzierte Medien

Hallo Community,

ich möchte eine Liste aller referenzierten Medien ausgeben, allerdings nicht wie in einem an anderer Stelle geposteten Script aus der Medienverwaltung heraus, sondern auf einem Strukturknoten.

Kann da jemand helfen?

LG Arnold

Nachtrag: Die Ausgabe möchte ich über ein Absatztemplate vornehmen

Nachricht geändert durch Arnold Scheuch

0 Kudos
7 Replies
jpee
I'm new here

Hallo Herr Scheuch,

mittels

$CMS_SET(mediaStoreRoot, #global.userService.getStore(class("de.espirit.firstspirit.access.store.Store$Type").MEDIASTORE,true))$

können Sie sich den MediaStoreRoot holen, mit diesem können Sie dann sicher weiterarbeiten, sich die Kindliste aller Medien geben und dann über diese iterieren und prüfen ob es incomingReferences gibt.

Viele Grüße

Johannes Perlet

0 Kudos

Hallo,

vielen Dank für die Antwort. Ich denke aber, das trifft nicht ganz meinen Anwendungsfall.

Kurze Beschreibung dazu: Wir verwenden FS als Content-Provider für verschiedene Apps, die in einem einzigen Projekt abgebildet sind.

Jeweils 1 Strukturknoten unter dem Root  repräsentiert eine App. Nun möchte ich ausgehend vom jeweiligen Strukturknoten alle darunter referenzierten Medien in eine Medienliste ausgeben.

Weitere Vorschläge ? 😉

LG Arnold

0 Kudos

Hallo Arnold,

d.h. für jede Seitenreferenz in einer App müssten man die Inhaltsseite holen und von da aus die outgoingReferences rekursiv durchgegangen werden, bis man bei einem Medium landet.

Beispiele:

Seitenreferenz->Inhaltsseite->Medium

Seitenreferenz->Inhaltsseite->Datensatz->Datensatz->Medium

Spezialfall:

Seitenreferenz<-Inhaltsseite mit Absatz->Medium

Wie man sieht können die Abhängigkeiten beliebig tief sein und auch Kreise enthalten, man braucht dann vermutlich auch Abbruchkriterien dafür.

Eine weiterer Ansatz ist evtl. DeploymentUtil.getGeneratedFiles(context), vorausgesetzt ihr veröffentlicht die Apps schon einzeln und die Medien liegen nach der Generierung jetzt schon vor.

Eine komfortablere Lösung fällt mir momentan nicht ein.

VG

Johannes

0 Kudos
fyf
I'm new here

BeitragZuDerFrage_ListeReferenziertMedien_FirstSpiritCommunity.jpg

0 Kudos
fyf
I'm new here

ALTERNATIV 2 , falls Alternativ 1 zu umfangreich und zu viele Informationen liefert

Diese 2. Alternative ist die einfachste variante

BeitragZuDerFrage_ListeReferenziertMedien_FirstSpiritCommunity_ALTERNATIV-2.jpg

0 Kudos

Vielen Dank erst mal, ich denke, damit komme ich weiter.

Melde mich wieder.

LG Arnold

0 Kudos
mbergmann
Crownpeak employee

Hallo,

ein paar Hinweise:

  • Bitte nicht mit .toList() arbeiten, das lädt ggf. sehr viele Elemente in den Speicher. Man kann stattdessen direkt über die "chhildren" iterieren.
  • Statt der Prüfung auf den Element-Typ-String sollte hier schlicht instanceof benutzt werden.

Viele Grüße

Michael

0 Kudos