» Back to Documentation

Zookeeper uses a notion of composite templates to describe a mechanism used to record information about a schematic graph in such a way that it can be later replicated inside a new graph. This provides an ability for a user to take any schematic view and create a 'template' for it, which is stored on the hard-drive, in an XML format. This template can be later 'instantiated; to create an identical copy of the graph.

There are two ways og creating composite templates. Both involve dragging objects into a special palette rollout named "Composite Templates". This rollout is a virtual window into a directory on your computer where the templates are stored (which can be changed through configuration). Each template contains at least one file in the form of TemplateName.composite_template and at most three files- adding extra two '.png' images to represent a template's 48x48 preview icon and/or its synoptic background image if one is present. "Composite Templates" palette rollout provides a single entry for each template present in the templates directory.

First way to create a composite template is to drag and drop an existing composite node into the "Composite Templates" palette rollout. Second way to do it is to drag a view's composite icon located at the top-right of the view. This will essentially convert the whole view into one composite node and then add it as a template. This second method is useful for converting synoptic views into templates.

There are certain limitations to composite templates. The main one is that they will not store an object's whole reference tree. Some objects can have very deep reference hierarchies and recording evey child could prove costly. Therefore, Zookeeper will only 'remember' nodes that are present in the view. This means that before creating a composite template you must go through your graph and make sure that all of the nodes and connections that you want to be recreated are present inside that view. Hidden connections will not be remembered.

Among other things a composite template memorizes and later restores:

Anything else is recreated using its default state and not modified during instantiation.