Jeder, der mit Opentext WSM zu tun hat, kennt die Funktion „Verlinkung/Erscheinungszeitraum“, bei der man einer Seite oder einem Modul auf einer Seite ein Start- und/oder ein Enddatum zuweisen kann. Nur innerhalb des definierten Zeitfensters ist es dann sichtbar, um die Publizierung und De-Publizierung kümmert sich – entsprechende Publizierungeinstellungen vorausgesetzt – das CMS.
Nun hatte ich neulich die Anforderung, einen bestimmten Teaser wöchentlich wiederkehrend zu platzieren:
Er sollte von Dienstag 9:00 Uhr bis Mittwoch 18:00 Uhr sichtbar sein. Jede Woche von Neuem.
Da das CMS hierfür (noch?) kein Feature anbietet, wir aber glücklicherweise auf einen DS publizieren, bot sich nach kurzem fachlichem Austausch im Slack die Nutzung von Dynaments in Kombination mit den Datums-Inlinefunktionen an. Mit diesen hat man Zugriff auf die java.util.Calendar-Methoden.
Näheres dazu findet sich in der Dynaments-Dokumentation. Heraus kam hierbei folgendes Schnipsel:
<rde-dm:attribute source="request" attribute="jetzt" mode="write" value="[##].now().dateGet('DAY_OF_WEEK')" /> <rde-dm:attribute source="request" attribute="jetzt" mode="write" op="concat" value="[##].getSystemDate('HH')" /> <rde-dm:attribute source="request" attribute="start" mode="write" value="309" /> <rde-dm:attribute source="request" attribute="ende" mode="write" value="418" /> <rde-dm:attribute mode="condition" tag="notag"> <rde-dm:constraint> ([#request:jetzt#].asInteger() GE [#request:start#].asInteger()) AND ([#request:jetzt#].asInteger() LT [#request:ende#].asInteger()) </rde-dm:constraint> <p>HELLO World</p> </rde-dm:attribute>
Was genau passiert hier?
Kudos gehen an Thomas Pollinger und Holm Gehre für das entscheidende Stichwort und die gemeinsame Evaluation des Ganzen.
Stefan Buchali ist Director Software Development bei der UDG United Digital Group. Seit dem Jahr 2001 betreut und entwickelt er zusammen mit seinem Team die Opentext- (vormals RedDot-) basierten Websites namhafter und internationaler Kunden.