clauzer
I'm new here

News mit Ablaufdatum

Jump to solution

Hallo Zusammen,

ich stehe vor dem Problem, wie eine News mit Ablaufdatum vollständig aus dem Deployment und der Suche entfernt werden kann.

Die Pressenews werden über eine Datenquelle erstellt und können über das Formular mit einem Ablaufdatum versehen werden.

Folgende Abfrage ist dafür in der Strukturverwaltung im Reiter "Daten" hinterlegt:

<QUERY entityType="News">

    <FILTERPARAM parameter="Dezernat / Abteilung" datatype="java.lang.String"/>

    <AND>

        <EQ attribute="news_category.title" parameter="Dezernat / Abteilung"/>

        <LTE attribute="date" datatype="de.espirit.common.Now" value="1430406262941"/>

        <OR>

            <IS_NULL attribute="expiration_date"/>

            <GTE attribute="expiration_date" datatype="de.espirit.common.Now" value="1430406262941"/>

        </OR>

    </AND>

</QUERY>

Die Abfrage funktioniert grundsätzlich, die News wird nach Ablauf des Datums nicht mehr im System angezeigt. Die News-Detailseite kann jedoch in der genenierten Ansicht noch über den Direktlink aufgerufen werden und wird auch noch in der Suche gefunden. Wie kann dies verhindert werden, ohne dass ich den Newseintrag ganz lösche?

Danke für Eure Hilfe und viele Grüße

Claudia Zernack

0 Kudos
1 Solution

Accepted Solutions

Okay, also ich sehe nun folgendes:

- Eine Übersichtsseite mit Filter (Filter-ID: 102863) - ich vermute, dass das ein Filter ist, der nur noch Datum filtert, aber nicht nach Dezernat

- Mehrere Dezernatsseiten mit Filter (Filter-ID: 102864) - Filter von oben, vermutlich auch so funktionierend wie sie sollen

- Eine Content-Projektion als Detailseite (ID der PageRef: 103164) - welche nicht richtig funktioniert. Hier fällt, auf, dass gar kein Filter hinterlegt ist. Dementsprechend werden pauschal auch alle Datensätze generiert. Kannst Du hier einmal den Filter mit der ID 102863 hinterlegen? Wenn, wie oben vermutet, hier ein Filter hinterlegt ist, der nur das Datum filtert, sollte das Problem damit gelöst sein.

View solution in original post

0 Kudos
16 Replies
der_sk
I'm new here

Hallo Claudia,

das ist stark vom System bzw. vom Projekt abhängig. Als erste Frage: Ist denn in der Content-Projektion der gleiche Filter hinterlegt?

Viele Grüße

Sascha

0 Kudos
pavone
I'm new here

Hallo Claudia,

wie ist der Status deines Problems? Falls du weiterhin Unterstützung benötigst, solltest du Saschas Frage beantworten, damit deine Anforderung genau nachvollzogen werden kann. Solltest du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es super, wenn du sie hier bereitstellen würdest.

Viele Grüße

Tim

0 Kudos

Hallo Sascha,

sorry für die späte Rückmeldung. Scheinbar funktioniert die E-Mail-Benachrichtigung über neue Antworten bei mir nicht.

Der Filter ist ausschließlich auf der Strukturverwaltung hinterlegt. Die News-Übersicht enthält keine Content-Selectabfrage, sondern wird über die Fuktion PageGroup gesteuert.

Viele Grüße

Claudia

0 Kudos

Dann vermute ich mal, dass die News nach Ablauf nicht mehr generiert - aber eben nicht gelöscht wird.

Meistens passiert sowas erst bei einer Vollgenerierung.

Kannst du das einmal nachvollziehen?

Was für Seiten generiert ihr bei den Pressemeldungen? Statisches HTML oder eine dynamische Sprache?

0 Kudos

Wir generieren im Intranet jsp-Seiten sowohl über Teil- als auch Volldeployment. Dies ist so konfiguriert, dass nicht mehr referenzierte Seiten nach der Generierung auch gelöscht werden. Die News-Detailseiten werden nach Ablauf jedoch weiterhin publizeirt und erhalten einen aktuellen Zeitstempel.

0 Kudos

Ich hatte überlesen, dass es in der Übersicht nicht mehr auftaucht. Die Übersicht ist vermutlich dynamisch? Die Suche ist welche Technologie?

Versuche mal in einem Testsystem einen Skript-Task *vor* der Generierung einzufügen und zwar mit nachfolgendem Inhalt.

Eventuell muss in den Eigenschaften noch eine eigene Verbindung (als ProjektAdmin) eingetragen werden, da bin ich mir gerade nicht sicher.

Wenn dass das Problem behebt, dann liegt es daran, dass für FirstSpirit zur Generierungszeit nicht der wahre Zeitpunkt zu diesem Zeitpunkt maßgeblich ist, sondern der Zeitpunkt der letzten Änderung im Projekt. Das Skript setzt einfach den aktuellen Zeitpunkt als letzten Änderungszeitpunkt, womit die Abfrage dann funktioniert.

//!Beanshell

context.getProject().createTaggedRevision("Generation","needed for time-based database queries");

0 Kudos

Dieses Skript läuft bereits vor jeder Generierung:

// Projektdatum neu setzen (für zeitgesteuerte Deployments !!!)

// Fix Rücksetzen Auftragsstart

context.getProject().createTaggedRevision("Generation","needed for external database content");

context.setStartTime(new Date());

Es geht auch nicht zum genaues zeitgesteuertes Ausblenden der Seite. Die Seiten werden auch Tage später noch generiert.

Die Suchtechnologie ist eigentlich nicht relevant. Ich gehe davon aus, dass der Eintrag nicht mehr gefunden wird, sobald die News-Seite aus der Datenquelle nicht mehr generiert wird.

Gibt es noch eine andere Fehlerquelle? Wäre es hilfreich, die Templates zur Verfügung zu stellen?

0 Kudos

Claudia Zernack schrieb:

Dieses Skript läuft bereits vor jeder Generierung:

// Projektdatum neu setzen (für zeitgesteuerte Deployments !!!)

// Fix Rücksetzen Auftragsstart

context.getProject().createTaggedRevision("Generation","needed for external database content");

context.setStartTime(new Date());

Es geht auch nicht zum genaues zeitgesteuertes Ausblenden der Seite. Die Seiten werden auch Tage später noch generiert.

Die Suchtechnologie ist eigentlich nicht relevant. Ich gehe davon aus, dass der Eintrag nicht mehr gefunden wird, sobald die News-Seite aus der Datenquelle nicht mehr generiert wird.

Gibt es noch eine andere Fehlerquelle? Wäre es hilfreich, die Templates zur Verfügung zu stellen?

Achso. Ja, Templates helfen immer. Die Grundannahme für die Suche gilt allerdings nicht für jede Suchtechnologie, aber das kann man erstmal hintenanstellen, wahrscheinlich ist es wirklich nur ein Symptom.

Andere Fehlerquellen gibt es natürlich. Generiert werden die abgelaufenen News vermutlich auch im Volldeployment, oder?

Werden andere Seiten gelöscht? Wie wird auf die Server übertragen?

0 Kudos

Die Seiten werden vom Generierungsserver per RSYNC auf den Webserver übertragen.

Andere Seiten werden auf dem Webserver gelöscht, wenn sie aus der Struktur entfernt werden.

Anbei füge ich noch die Templates bei:

Newsübersicht mit Filter

Newsdetailseite

0 Kudos