Questions & Answers

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

Type a product name