One of the most important tasks of the Template Engine is to optimize the export of CMS files. On the one hand, using the Template Engine saves the resources of the machine concerned. On the other hand websites can be published faster.
The largest potential for optimization can be found in the export process itself since a file only needs to be exported if the web document that corresponds to it has changed. For being able to predict this, the Template Engine records dependencies between files. These dependencies are explained in this section.
A file not only needs to be exported again after it has been modified. If, for example, a file includes data from another file (by means of links or NPSOBJ instructions) it depends on this other file and needs to be exported even if only parts of the included file have changed.
The Template Engine records such dependencies between the CMS files while it exports them. Since the first export of a folder hierarchy is a complete export, it is guaranteed that all the existing dependencies are recorded. Later on, when the data is updated by means of update records, the Template Engine uses its recordings to check and then delete files that have become obsolete. When the folder hierarchy is finally published, the Template Engine generates the documents that need to be updated.
CMS Fiona recognizes the following dependency types. The details are listed in the right column. The file on which another file depends is called destination file.
Description: The file depends on the name or the position of the destination file in the folder hierarchy. This is also the case if the name is a component in a link destination path.
Effects: Files associated with
the file are deleted, if
Description: The file depends on fields of a different file (other fields than the ones metioned for object, reference, and children dependencies).
Trigger: Querying parameters, that do not generate one of the dependencies above.
Effects: When the destination file is released, the file is removed from the cache.
Description: The file only
depends on data of the destination file that rarely change,
such as data needed for links and tables of contents. When the
destination file is released again and this data remains
unchanged and no other dependencies (especially
Trigger: Querying the state of
the destination file. Reference parameters:
Effects: The file is only deleted, if the value of a reference parameter has changed.
Description: The file depends on the list of the files contained in a folder.
Effects: The files associated with the file are deleted, when files contained in a folder are released or unreleased or lose their released version by some other action.
Description: The file depends on numerous or an undefined number of files.
Trigger: automatically when
Effects: Files in the file system associated with the NPS file are deleted when any data of the Template Engine changes.
During the export, dependencies can also be generated in
procedures. This might be necessary if the procedure reads fields from
files for which no dependency has been or will be created.