D44062989DCE4ADFB8818B9D5A717AB9
  • Thomas Pollinger
  • 29.05.2019
  • DE

RenderSpots und Kommentare

 

Allgemein

Ein RenderSpot ist für den Pagebuilder der Bereich, welcher kennzeichnet das hier ein Template Rendering stattfinden soll. In der Regel wird für komplexe Template Renderings, wie beispielsweise eine bedingte Anweisungen, die ausführliche Schreibweise verwendet. Dabei markiert der RenderSpot den Anfang und das Ende des Bereiches, in dem weitere RenderTags oder ObjectLoader stehen:

<reddot:cms>
  <if>
    <query ...>
      <htmltext>...</htmltext>
    </query>
  </if>
</reddot:cms>

Innerhalb dieser RenderSpots können auch Kommentare wie folgt eingebaut werden:

<reddot:cms>
   <!-- Kommentar innerhalb eines RenderSpot -->
</reddot:cms>

 

Hinweise

  • RenderSpots dürfen nicht ineinander verschachtelt werden und müssen eindeutig voneinander definiert und abgrenzt sein.
  • In einigen Tag-Strukturen kann die Verwendung von Kommentaren dazu führen, dass das Template Rendering nicht ausgeführt wird. Daher sollte man die Kommentare nur direkt unterhalb des RenderSpot verwenden.

 

XmlSpot

Quelle: OpenText Web Site Management Server main.config

Bei der Ausgabe eines Objekts, wird die Darstellung des Objektes als Zeichenfolge (String) gerendert.

  • Syntax:
    <reddot:cms>
       ...
    </reddot:cms>
  • Beispiel:
    <reddot:cms>
      <!-- Hello World test -->
      <output type="object" object="String:Hello World" />
      <output type="object" object="Escape:Br" />
      <output type="object" object="Context:CurrentPage.Headline" />
    </reddot:cms>
    

 

AsyncXmlSpot

Quelle: OpenText Web Site Management Server main.config

Der RenderSpot AsyncXmlSpot ist nicht funktionsfähig und wurde auch als abgekündigt markiert.

  • Syntax:
    <reddot:asynccms>
    ...
    </reddot:asynccms>

 

DirectSpot

Quelle: OpenText Web Site Management Server main.config

Mit der Kurzschreibweise können Objekte direkt abfragt werden, ohne einen RenderSpot zu verwenden.

  • Syntax:
    <%!! ... !!%>
  • Beispiele:
    <!-- Hello World test -->
    <%!! String:Hello World !!%>
    <%!! Escape:Br !!%>
    <%!! Context:CurrentPage.Headline !!%>

 

Anmerkungen

Verarbeitung von RedDot-Platzhaltern

In einigen Fällen werden RedDot-Platzhalter aufgrund von miteinander verflochtenen CDATA-Abschnitten, die von zugrundeliegenden Skripten im Element <htmltext> und den RedDot-Platzhaltern verursacht wurden, möglicherweise nicht zur Bearbeitung in SmartEdit angezeigt. Um sicherzustellen, dass RedDot-Platzhalter korrekt angezeigt werden, muss man die Datei main.config in <Management Server installation directory>\ASP\ entsprechend ändern. Dazu fügt man folgendes zu Beginn des Abschnitts <Configuration><Rendering><Preparse><SpotParse> ein:

<Replace trim="true">
  <OldValue>//&#60;!&#91;CDATA&#91;</OldValue>
  <NewValue>
    <![CDATA[]]>
  </NewValue>
</Replace>
<Replace trim="true">
  <OldValue>//&#93;&#93;&#62;</OldValue>
  <NewValue>
    <![CDATA[]]>
  </NewValue>
</Replace>

Folgendes ist hierbei zu beachten:

  • Diese Replace-Funktion nicht am Ende des Abschnitts einfügen. Dies könnte zu unerwünschten Änderungen einiger Template Rendering führen.
  • Um sicherzustellen, dass die Änderungen auf Management Server angewendet werden, muss man den OTWSMNavigationService oder OpenText.WS.MS.ObjectProcessService.exe im Windows Task Manager neu starten, nachdem die Änderungen vorgenommen wurden.


Fehlerbehandlung

Um zu verhindern, dass Fehlermeldungen auf publizierten Seiten erscheinen, liefern fehlerhafte RenderSpots keine Ausgabe. Um beispielsweise zu Testzwecken dieses Verhalten zu verändern, muss man die Datei OpenText.WS.MS.ObjectProcessService.exe.config bearbeiten, die sich im folgenden Verzeichnis befindet: <Management Server installation directory>\Services\Navigation\.

Man ändert dazu den Schlüssel RenderSpotError auf true, um Fehlermeldungen in den publizierten Seiten anzeigen zu lassen.

<add key="RenderSpotError" value="true" />


Logging

Alle Log-Meldungen für die Komponente Navigation werden in die allgemeine Datei wsms.log geschrieben. Das Log-Level ist standardmäßig auf „WARN“ gesetzt.

Das Log-Level kann man in der Datei <Management Server installation directory>\Configuration\logging.config ändern:

<logger name="Navigation">
  <level value="DEBUG|INFO|WARN|ERROR|FATAL" />
</logger>


Cache-Verwaltung

Der Management Server bietet sowohl einen Seiten-Cache, als auch einen Rendering Cache. Wenn man ein Element in einem Template bearbeitet, aktualisiert der Pagebuilder zunächst den Seiten-Cache und dann den Rendering Cache.


Dokumentation

In der Online-Hilfe des Management Server gibt es folgende Kapitel, welche ggfs. als Ergänzung dienen können:

  • Handbuch: Navigation Manager / Kapitel: 3.3 Navigations-Cache löschen
  • Handbuch: Navigation Manager / Kapitel: 5 Über RenderTags
  • Handbuch: Navigation Manager / Kapitel: 6 Syntax der RenderTags
  • Handbuch: SmartTree / Kapitel: 7.1.37 Seiten-Cache löschen
  • Handbuch: Server Manager / Kapitel: 3.4 Log-Dateien
  • Handbuch: Server Manager / Kapitel: 3.4.1 Log-Dateien einsehen
  • Handbuch: Server Manager / Kapitel: 10.2.1 Logging-Optionen

 

Custom RenderSpot

Es gibt auch die Möglichkeit eigene s.g. Custom RenderSpots mit .NET Framework zu erstellen und dann beim Template Rendering aufzurufen. Dazu findet man im OpenText™ Developer Network Beispiel Code und eine ausführliche Anleitung.

 

Gilt für

  • OpenText™ Web Site Management Server
    Release 16.0.3
  • Letztes Artikelupdate
    26.06.2019

 

Siehe auch


Über den Autor:
Thomas Pollinger

... ist Senior Site Reliability Engineer bei der Vodafone GmbH in Düsseldorf. Seit dem Jahr 2007 betreut er zusammen mit seinen Kollegen die OpenText- (vormals RedDot-) Plattform Web Site Management für die deutsche Konzernzentrale.

Er entwickelt Erweiterungen in Form von Plug-Ins und PowerShell Skripten. Seit den Anfängen in 2001 (RedDot CMS 4.0) kennt er sich speziell mit der Arbeitweise und den Funktionen des Management Server aus.