Search the FirstSpirit Knowledge Base
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
Können Sie vielleicht die beiden Seitenreferenzen (Übersicht + Details) einmal hochladen?
Danke, aber ich meinte eigentlich die Strukturseitenreferenzen per Export aus FS, nicht die fertig generierten Dateien.
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.
Ja, das war das Problem! Vielen Dank für die Hilfe unter Unterstützung!!!
Viele Grüße
Claudia
Sascha Körver schrieb:
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");
Hallo,
zwei kleine Hinweise hierzu:
Beste Grüße
Georg