Questions & Answers

t_thalmann
Returning Observer

Seitenreferenzen finden, deren Seiten einen Absatz mit Contentprojektion enthalten

Wir sind dabei, รผber ein Skript eine Liste mit Knoten, deren Inhalt sich geรคndert hat, zu erstellen, um genau diese im folgenden Generierungsauftrag zu generieren.

Die DeltaGeneration-Klasse hilft uns nicht weiter, weil auf ร„nderungen in Datenquellen รผberhaupt nicht reagiert wird, z. B. im folgenden hรคufig vorkommenden Szenario:

Ein News-Datensatz ist neu erstellt worden: dadurch รคndern sich in der HTML-Ausgabe sowohl die Seite mit der News-Liste (Seite enthรคlt Absatz mit Content-Projektion) als auch die News-Detailseite (Seitenreferenz enthรคlt Query).

Die Detailseite finden wir recht einfach, indem wir รผber den Seitenbaum in der Struktur iterieren und jede Seitenreferenz auf Vorhandensein einer Query รผberprรผfen.

Wie finden wir auf dem schnellsten Weg heraus, dass auch die Seitenreferenz mit der News-Listenansicht neu generiert werden muss?

Der umstรคndliche Weg wรคre: von der Seitenreferenz (PageRef) sich die Seite (Page) zurรผckgeben lassen, davon alle Inhaltsbereiche, davon alle Absรคtze, und schlieรŸlich deren Templates jeweils auf Vorhandensein einer Content-Projektion im Eingabeformular zu รผberprรผfen. Das erscheint uns reichlich umstรคndlich und ressourcenraubend.

Viele GrรผรŸe aus Darmstadt

Tobias Thalmann

0 Kudos
7 Replies
jobrun
Crownpeak employee

Hallo,

ich kann die beschriebene Problematik leider nicht reproduzieren.

Bei einem Standard-Delta Deployment, wie in diesem Blogposting (DeltaGeneration - What is that and why I might need it?), beschrieben werden einzelne Datensรคtze einer Content-Projektion bei ร„nderung  neu generiert auch wenn die dazu gehรถrige Seite nicht geรคndert wurde.

Kรถnnen Sie mir vielleicht einen Einblick in ihre Delta-Deployment-Konfiguration geben?

Mit freundlichen GrรผรŸen

Johannes

0 Kudos

Hallo Tobias,

benรถtigst Du noch weitere Hilfe oder hat Dir Johannes' Antwort bereits geholfen? In diesem Fall wรคre es super, wenn du seine Antwort als "richtige Antwort" markierst.

Solltest Du zwischenzeitlich eine eigene Lรถsung gefunden haben, wรคre es nett, wenn Du diese hier bereitstellst.

Viele GrรผรŸe

Michaela

0 Kudos

Hallo Michaela,

ich hatte das Posting zwischenzeitlich aus den Augen verloren, weil es so lange unbeantwortet geblieben ist und wir in der Zwischenzeit selbst mit Hilfe von Skripten geรคnderte Knoten ermitteln. Die Antwort von Johannes hat die zugrunde liegende Frage noch nicht beantwortet. Die DeltaGeneration findet geรคnderte Seiten. Wenn sich Datensรคtze im ContentStore รคndern, und sich diese ร„nderungen auf eine Inhaltsseite mit Contentprojektion auswirken, z. B. wenn eine neue News erstellt worden ist und diese รผber die QUERY in der Contentprojekt in die Ergebnismenge gehรถrt, wird das nicht als ร„nderung erfasst - das haben wir getestet, da die Inhaltsseite nicht geรคndert worden ist.

Hinzu kommt z. B. folgender Fall: eine News mit einem Ablaufdatum rutscht aus der Ergebnismenge der QUERY, weil das Ablaufdatum erreicht worden ist - in diesem Fall รคndert sich nicht einmal der Datensatz. D. h. wir kommen nicht umhin, Seiten mit Contentprojektion wirklich immer zu generieren. Wir suchen diese Seiten jetzt einmal tรคglich mit Hilfe eines Skriptes.

Viele GrรผรŸe

Tobias

0 Kudos

Hallo zusammen,

ich kann das Verhalten von Herrn Thalmann bestรคtigen.

Eine News die neu erstellt oder geรคndert wurde, wird zwar fรผr die Detailseiten neu generiert aber eine Seite die einen Absatz mit Content-Projektion enthรคlt wird nicht mit generiert.

Geht das einfach nicht?

Server  FirstSpirit 5.0.510.62658

Viele GrรผรŸe Wiegele

0 Kudos

Aus meiner Erinnerung heraus gab es in dem Umfeld Probleme, die mit dem Release 5.1R3 behoben wurden. Details dazu sowie eine aktuelle Version bekommst du bei unserem Helpdesk.

Peter
0 Kudos

Hallo Herr Jodeleit,

ich muss meine Anfrage prรคzisieren.

Erkennt die DeltaGenerierung auch Seiten, die ihre Daten aus einer CMS_FUNCTION bekommen?

<CMS_HEADER>

    <CMS_FUNCTION name="contentSelect" resultname="frCorporateNews">

        <CMS_PARAM  name="schema" value="FS_Tables" />

        <CMS_VALUE_PARAM name="now" value="#global.now" />

        <QUERY entityType="Company_News">

              <FILTERPARAM parameter="now" datatype="java.util.Date" value="1143758280000" />

                <AND>

                    <LTE attribute="publication_date" parameter="now" />

                    <LIKE attribute="publication_flag" datatype="java.lang.String" value="true"/>

                </AND>

                <ORDERCRITERIA attribute="news_date" descending="1" />

        </QUERY>

    </CMS_FUNCTION>

</CMS_HEADER>

Viele GrรผรŸe Wiegele

0 Kudos

Nein, das tut sie nicht.

Peter
0 Kudos

Type a product name