Questions & Answers

SOLVED
rzdl
Returning Observer

Stored URL von Dataset

Jump to solution

Hallo zusammen,

ich versuche grad aus einem Dataset die URL zu ermitteln. Gibt es hier noch irgendwelche Dinge zu beachten oder funktioniert das bei ContentProjektion nicht bzw anders?

Die URL versuche ich รผber getStoredUrl der PreviewPageRef zu bekommen.. z.B.:

if(ds.getTableTemplate().getPreviewPageRef() != null){

     String url = ds.getTableTemplate().getPreviewPageRef().getStoredUrl(language, templateSet, ds.getEntity());

}

Bekomme hier leider immer nur null geliefert.

Hat eventuell noch jemand einen Tipp?

Viele GrรผรŸe

Daniel

0 Kudos
1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hallo Daniel,

ist die preview PageRef denn auch tatsรคchlich diejenige, die dann zum Generieren benutzt wird?

Ein Datensatz selber hat ja keine URL sondern immer nur die Kombination aus Contentprojektions-PageRef und Datensatz.

Davon dass ihr auch eine UrlFactory mit useRegustry nutzt gehe ich jetz mal aus... ๐Ÿ˜‰

Viele GrรผรŸe

Michael

View solution in original post

0 Kudos
6 Replies
mbergmann
Crownpeak employee

Hallo Daniel,

ist die preview PageRef denn auch tatsรคchlich diejenige, die dann zum Generieren benutzt wird?

Ein Datensatz selber hat ja keine URL sondern immer nur die Kombination aus Contentprojektions-PageRef und Datensatz.

Davon dass ihr auch eine UrlFactory mit useRegustry nutzt gehe ich jetz mal aus... ๐Ÿ˜‰

Viele GrรผรŸe

Michael

0 Kudos
rzdl
Returning Observer

Hi Michael,

danke fรผr den Hinweis. Ich habe eben nachgeschaut und in der Modulkonfigration ist tatsรคchlich <useRegistry>false</useRegistry hinterlegt :smileyshocked:

Muss ich dann also die UrlFactory fรผr die Vorschauseite bemรผhen und als PageParams das Entity mitgeben?

Viele GrรผรŸe

Daniel

0 Kudos
mbergmann
Crownpeak employee

Hallo Daniel,

naja, wenn ihr gar keine stored URLs nutzt, kann man natรผrlich auch keine abfragen... Oder wird das useRegistry evtl. im Rahmen der Generierungsauftrรคge รผberschrieben? Wobei es mir danach nicht aussieht, solange die รผbrigen Voraussetzungen erfรผllt sind (insb. dass wirklich die Vorschauseite zur Generierung benutzt wird und keine rein "technische" Redakteuers-Seite ist).

An welcher Stelle und zu welchem Zweck brauchst Du denn diese URL? Und welche UrlFactory nutzt ihr?

Man muss da ein wenig aufpassen. Streng genommen muss - je nach UrlFactory - die von der Factory "einzeln" ermittelte URL nicht mit der im Rahmen der Generierung erzeugten รผbereinstimmen, da im Rahmen der Generierung ja potenziell Duplikate bzgl. der aktuellen Generierung "aufgelรถst" werden. Diesen Mechanismus gibt es bei einer "Einzelabfrage" nicht. Hintergrund ist, dass FS bei der Generierung eben "auรŸen herum" noch ein bisschen was tut - vereinfacht kรถnnte man sagen dass die UrlFactory eher die "gewรผnschte" URL liefert die (zumindest theoretisch) von FS noch (zur Duplikatsvermeidung) abgeรคndert werden kann.

Vielleicht erzรคhlst Du mal ein wenig konkreter um was es genau geht.

Viele GrรผรŸe

Michael

0 Kudos
rzdl
Returning Observer

Hi Michael,

es geht im den Export der Datenquellen aus dem Altsystem. Da wรผrden wir gerne bei dem Exportprozess die alten URLs mitnehmen. UrlFactory ist eine Eigenentwicklung.

Naja ohne Registry muss ich dann ja den Weg รผber die UrlFactory gehen und habe dann das Risiko der Duplikate.

Danke Dir und viele GrรผรŸe

Daniel

0 Kudos
mbergmann
Crownpeak employee

Hallo Daniel,

das verstehe ich ehrlich gesagt nicht so ganz. Wenn ihr eh keine URLs speichert, wozu wollt ihr sie โ€žmitnehmenโ€œ? Reicht es nicht, einfach dieselbe UrlFactory zu nutzen?

Ihr kรถnntet euch natรผrlich auch einfach eine โ€žtechnische Seiteโ€œ bauen, die per CMS_REF(...) die Links rendert und das in ein JSON oder XML oder etwas รคhnliches rendert.

Oder ihr lasst die Generieeung eben einmal mit useRegistry=true laufen.

Ist natรผrlich ohne das Projekt zu kennen nicht so einfach, eine Empfehlung zu geben was der beste Weg ist weil es da diverse Mรถglichkeiten gibt ๐Ÿ˜‰

Viele GrรผรŸe

Michael

0 Kudos
rzdl
Returning Observer

Hi Michael,

ich bin ja zuerst davon ausgangen das wir dort die Registry nutzen und ich storedUrl verwenden kann. Das geht ja so leider nicht und erklรคrt auch warum getStoredUrl null liefert ๐Ÿ˜‰

Ich werde dann die URL Factory fรผr das jeweilige Objekt beim Exportieren verwenden.

Schรถnen Abend!

Daniel

0 Kudos

Type a product name