Die Template Engine einbinden

Die Template Engine ist für den inkrementellen Export der im Content Management Server abgelegten Inhalte verantwortlich. Um die Template Engine in das CMS einzubinden, gehen Sie bitte wie im Folgenden beschrieben vor. Beachten Sie bitte, dass unter UNIX alle Anweisungen als der Benutzer ausgeführt werden müssen, als der das CMS installiert wurde.

  • Bei allen Datenbanktypen außer SQLite:
    Legen Sie zunächst die Datenbank für die Template Engine an. Bearbeiten Sie anschließend die entsprechende Konfigurationsdatei (beispielsweise config/oracle.xml) und tragen Sie sie in der Datei server.xml in der Sektion te in den Eintrag database ein. Die Voreinstellung ist <database fileName="sqlite.xml"/>

  • Bearbeiten Sie die Datei config/export.xml und setzen Sie den Wert von export.incrementalUpdate.isActive auf true.

  • Wenn Sie auf dem Live-Server eine Suchfunktion bereitstellen möchten, bearbeiten Sie die Datei config/indexing.xml und setzen Sie den Wert von indexing.incrementalExport.isActive auf true und passen Sie collectionSelection an ihre Wünsche an.

  • Legen Sie gegebenenfalls die erforderlichen Collections an, indem Sie den SES im single-Modus aufrufen und den Tcl-Befehl createCollection ausführen.

  • Um künftig auch die Template Engine zusammen mit den anderen CMS-Applikationen zu starten und zu stoppen, ergänzen Sie die Liste der Applikationen im Start-/Stopp-Skript instance/default/config/rc.npsd.conf um die TE:

    set conf(apps) [list CM TE SES trifork]

    Bei der Reihenfolge der Applikationskürzel sollte darauf geachtet werden, dass der CM vor dem Trifork aufgeführt wird, da das GUI beim Starten Informationen vom CM anfordert. Abgesehen hiervon kann die Reihenfolge der Applikationskürzel jedoch frei gewählt werden.

  • Rufen Sie den Content Management Server im Single-Modus auf, um den inkrementellen Export zurückzusetzen und den Content zu veröffentlichen:

    Achtung: Der Befehl incrExport reset darf nur im Single-Modus verwendet werden. Er darf nur ausgeführt werden, wenn mit Sicherheit keine schreibenden Zugriffe auf den Datenbestand stattfinden, da andernfalls die exportierten Daten unvollständig sind oder zerstört werden. Stellen Sie daher sicher, dass während der Ausführung des Befehls der CM nicht als Server läuft und keine anderen CMs im Single-Modus gestartet werden oder laufen.

    # Unter UNIX
    cd ~/Fiona-Dir/instance/default/bin
    ./rc.npsd stop CM
    ./CM -single
    incrExport reset
    exit
    
    # Unter Windows
    cd C:\Programme\Infopark\FionaDir\instance\default\bin
    rc.npsd.bat stop CM
    CM -single
    incrExport reset
    exit

    Siehe auch die Hinweise zu den Jobs weiter unten.

  • Starten Sie nun die CMS-Applikationen und führen Sie den Job systemPublish aus:

    # Unter UNIX
    cd ~/FionaDir/instance/default/bin
    ./rc.npsd start
    ./client
    connect localhost 3001 root demo
    job withName systemPublish exec
    exit
    
    # Unter Windows
    cd C:\Programme\Infopark\FionaDir\instance\default\bin
    rc.npsd.bat
    client.bat
    connect localhost 3001 root demo
    job withName systemPublish exec
    exit
  • Konfigurieren Sie über das GUI oder den Tcl-Client den Ausführungsplan des Jobs systemPublish im Content Management Server (siehe unten) oder führen Sie diesen Job auch künftig manuell aus, um den Content zur Template Engine zu übertragen.

  • Setzen Sie einen Webserver auf, der die exportierten Dokumente aus dem Verzeichnis instance/default/export/online/docs ausliefert. Alternativ können Sie den Trifork-Server so einrichten, dass er die statischen Dokumente ausliefert.

Hinweise zu den Jobs

Der vordefinierte Job systemPublish des Content Management Servers überträgt aktualisierte Dateien und Versionen vom Content Manager zur Template Engine und lässt die Template Engine anschließend die übertragenen Daten exportieren und live schalten. Dieser Job kann manuell mit

job withName systemPublish exec

ausgeführt werden. Zusätzlich oder alternativ kann der Ausführungsplan des Jobs gesetzt werden, so dass der Job beispielsweise immer um Mitternacht ausgeführt wird:

job withName systemPublish set schedule {{minutes 0 hours 0}}

Um die aktualisierten Daten zwischendurch zur Template Engine zu übertragen, ohne sie sofort zu veröffentlichen, kann der Job systemTransferUpdates verwendet werden. Dies ist beispielsweise nach größeren Uploads oder Aktualisierungen sinnvoll.

Bei größeren Websites mit häufigen Änderungen ist es zu empfehlen, die Daten mit dem Job systemTransferUpdates mehrmals täglich zu übertragen, um die Last über die Zeit zu verteilen, und die Veröffentlichung mit systemPublish weniger häufig anzustoßen.

Als Beispiele definieren die folgenden Befehle Ausführungspläne, nach denen die Update-Informationen werktags alle 15 Minuten zur Template Engine übertragen und täglich um Mitternacht online geschaltet werden:

job withName systemTransferUpdates set schedule \
  {{minutes {0 15 30 45} weekdays {1 2 3 4 5}}}
job withName systemPublish set schedule {{minutes 0 hours 0}}

Die Ausführungspläne können auch komfortabel im GUI bearbeitet werden.