Abhängigkeiten

Die Template Engine hat unter anderem die Aufgabe, den Export von CMS-Dateien zu optimieren. Sie einzusetzen schont die Ressourcen des betreffenden Rechners, und Websites können schneller publiziert werden.

Das größte Optimierungspotenzial liegt darin, Dateien nur dann zu exportieren, wenn sich die ihnen entsprechenden Webdokumente gegenüber der aktuellen Version ändern. Um dies vorhersagen zu können, zeichnet die Template Engine Abhängigkeiten zwischen Dateien auf, die im Folgenden erläutert werden.

Eine Datei muss nicht nur dann neu exportiert werden, wenn sie selbst geändert wurde. Bezieht eine Datei Daten aus einer anderen Datei ein (über Links oder NPSOBJ-Anweisungen), so ist sie von dieser abhängig und muss auch dann exportiert werden, wenn sich nur Bestandteile der einbezogenen Datei geändert haben.

Die Template Engine zeichnet solche Abhängigkeiten von CMS-Dateien auf, während sie sie exportiert. Da beim ersten Export einer Ordnerhierarchie immer alle Dateien exportiert werden, ist sichergestellt, dass alle Abhängigkeiten aufgezeichnet werden. Später, wenn der Datenbestand mit Hilfe von Update-Records aktualisiert wird, prüft die Template Engine mit Hilfe der Aufzeichnungen, welche exportierten Dokumente veraltet sind und löscht diese. Wird die Ordnerhierarchie schließlich publiziert, erzeugt die Template Engine die zu aktualisierenden Dokumente.

CMS Fiona kennt die folgenden Abhängigkeitstypen. Die Details sind in der rechten Spalte aufgeführt. Die Datei, von der eine Datei abhängig ist, wird Zieldatei genannt.

Abhängigkeitstyp  Details

object (1)

Beschreibung: Die Datei hängt vom Namen oder der Position der Zieldatei in der Ordnerhierarchie ab. Das ist auch der Fall, wenn der Name eine Komponente in einem Linkzielpfad ist.

Auslösung: Parameter name, objectsToRoot, object, parent, visibleName/visiblePath (erzeugt Abhängigkeit für alle objectsToRoot einer Linkzieldatei).

Auswirkung: Zur Datei gehörende Dateien werden gelöscht, wenn parent oder name der Zieldatei geändert oder die Zieldatei gelöscht wird.

content (2)

Beschreibung: Die Datei hängt von einer anderen Datei oder von anderen Feldern ab als bei object-, reference- und children-Abhängigkeiten.

Auslösung: Abfrage von Parametern, die keine der oben genannten Abhängigkeiten erzeugen.

Auswirkung: Wenn die Zieldatei freigegeben wird, wird die Datei aus dem Cache gelöscht.

reference (3)

Beschreibung: Die Datei hängt nur von sich selten ändernden Daten der Zieldatei ab, wie sie etwa für Links und Inhaltsübersichten benötigt werden. Wenn die Zieldatei erneut freigegeben wird und diese Daten dabei unverändert bleiben und keine anderen (insbesondere: Versions-)Abhängigkeiten erzeugt werden, werden die exportierten Dateien nicht aus dem Cache gelöscht.

Auslösung: Abfrage des Zustands der Zieldatei. Referenz-Parameter: title, contentType, objClass bei Dateien, destinationUrl, displayTitle bei Links sowie die im Systemkonfigurationseintrag export.referenceAttributes aufgeführten Felder (geben Sie keine Felder vom Typ linklist an).

Auswirkung: Die Datei wird nur dann gelöscht, wenn sich der Wert eines Referenz-Parameters geändert hat.

children (4)

Beschreibung: Datei hängt von der Liste der Dateien in einem Ordner ab.

Auslösung: Abfrage von children, prev, next.

Auswirkung: Die zur Datei gehörenden Dateien werden gelöscht, wenn Dateien im Ordner freigegeben oder zurückgezogen werden (oder auf andere Art ihre freigegebene Version verlieren).

usesAll (5)

Beschreibung: Datei hängt von den Daten einer großen Zahl oder unbestimmten Menge von Dateien ab.

Auslösung: automatisch bei Überschreitung von usesAllThreshold Abhängigkeiten oder Abfrage der Parameter: superObjects, superLinks, hasSuperLinks.

Auswirkung: Zur Datei gehörende Dateien werden bei jeder beliebigen Änderung des Datenbestandes der Template Engine gelöscht.

In systemExecute-Prozeduren können während des Exports bei Bedarf Abhängigkeiten erzeugt werden. Dies kann erforderlich sein, wenn in der Prozedur Felder von Dateien ausgelesen werden, die ansonsten nicht referenziert werden, so dass für sie keine Abhängigkeit erzeugt wird.