Creating templates derivatives

Concept

Taking the concept of templates one step further, SKOOR engine offers a way to build sophisticated template structures by allowing templates to be based on existing templates. These are called template derivatives. The relationship between template and template derivative is basically the same as the relationship between template and instance. Editing a template propagates the changes (or at least some of the changes, according to propagation rules) to the instances of a template. Likewise, changes in a template that is used within another template are propagated to it and a template link is retained. The following example illustrates the usefulness of the derivative template concept.

Often a set of devices which are largely similar but differ only in a limited number of their child jobs or job parameters can be setup using such a template derivative method. The approach is usually to build a set of job templates and then build a base device which contains the jobs that should exist on every device of the same type (e.g. a Base EEM device template or a Base Linux Server template). Then one can create derivative templates of that base device template which include everything that is part of the base device plus additional jobs or differing parameters.

Creating derivative job templates

The first step is therefore to create a set of job templates that will then be used for the base device template and the derivative device templates. The following shows a set of job templates:

 

Even job templates can be derived from other job templates. For example this can be applied to the EEM Project jobs. The Base EEM job has the following configuration:

The job contains one EEM Timer child job called Total.

From this base job derivative EEM Project jobs can be built for various EEM project setups that contain additional EEM Timer jobs.

To create a derivative job template from the Base EEM job one simply adds a new job below the /root/Templates/job templates folder:

Then the Base EEM job template can be selected from the Use template dropdown list:

Give the new derivative job template a name, deselect the Stop the new job checkbox and click Next:

All job parameters are filled in from the EEM Base job template. Although it seems that no EEM Timer job is linked, the EEM Timer child job will be created when the OK button is clicked:

Note that the bullet of the derivative job template is marked with a list icon to distinguish it from normal job templates:

Within the EEM job Calc template one can now adapt for example the Project name and Runtime limit parameters and add additional EEM Timer child jobs:

 

The deviations from the Base EEM job are again highlighted in orange, as they would when showing a job instance with differing parameters from its job template.

Aditional EEM job derivatives are created in the same way:

One can even create job template derivatives of job template derivatives. The possibilities are endless.

Creating derivative device templates

With the base jobs created, one can now continue by creating a base EEM device.

 

 

 

The following device template shows a base device used for end-to-end monitoring.

Concept

Taking the concept of templates one step further, SKOOR engine offers a way to build sophisticated template structures by allowing templates to be based on existing templates. These are called template derivatives. The relationship between template and template derivative is basically the same as the relationship between template and instance. Editing a template propagates the changes (or at least some of the changes, according to propagation rules) to the instances of a template. Likewise, changes in a template that is used within another template are propagated to it and a template link is retained. The following example illustrates the usefulness of the derivative template concept.

Often a set of devices which are largely similar but differ only in a limited number of their child jobs or job parameters can be setup using such a template derivative method. The approach is usually to build a set of job templates and then build a base device which contains the jobs that should exist on every device of the same type (e.g. a Base EEM device template or a Base Linux Server template). Then one can create derivative templates of that base device template which include everything that is part of the base device plus additional jobs or differing parameters.

Creating derivative job templates

The first step is therefore to create a set of job templates that will then be used for the base device template and the derivative device templates. The following shows a set of job templates:

 

Even job templates can be derived from other job templates. For example this can be applied to the EEM Project jobs. The Base EEM job has the following configuration:

The job contains one EEM Timer child job called Total.

From this base job derivative EEM Project jobs can be built for various EEM project setups that contain additional EEM Timer jobs.

To create a derivative job template from the Base EEM job one simply adds a new job below the /root/Templates/job templates folder:

Then the Base EEM job template can be selected from the Use template dropdown list:

Give the new derivative job template a name, deselect the Stop the new job checkbox and click Next:

All job parameters are filled in from the EEM Base job template. Although it seems that no EEM Timer job is linked, the EEM Timer child job will be created when the OK button is clicked:

Note that the bullet of the derivative job template is marked with a list icon to distinguish it from normal job templates:

Within the EEM job Calc template one can now adapt for example the Project name and Runtime limit parameters and add additional EEM Timer child jobs:

 

The deviations from the Base EEM job are again highlighted in orange, as they would when showing a job instance with differing parameters from its job template.

Aditional EEM job derivatives are created in the same way:

One can even create job template derivatives of job template derivatives. The possibilities are endless.

Creating derivative device templates

With the base jobs created, one can now continue by creating a base EEM device which contains already a base set of needed properties:

Then within the new device, add the jobs that should be implemented on all EEM devices. This can be done by selecting Add job from the device dropdown menu and choosing the job template from the Use template list:

Uncheck the Stop the new job checkbox so the job instances created from the device template will not be created as Stopped but will start measuring right away on creation. Click Next and OK. A single job is now added to the device template:

Add the rest of the jobs:

The Base EEM device is now created.

Now create derivative device templates from it by selecting Add template device from the dropdown list one folder up:

The parameters and properties are filled in automatically from the Base EEM device template:

Change the Name and make any adaptations, then click OK to create the derivative device template. The bullet is marked with a list icon to reflect the derivative template status of the new device template:

This particular EEM device template should be used for EEM robots in the internal network. The EEM Project jobs that should run on all internal EEM robots can now be added. Enter the EEM device internal template. It contains all the jobs from the Base EEM device template:

Now add those job templates that should run additionally on all internal EEM robots by selecting them from the Use template dropdown list as described above. In this case the only additional job is EEM job Calc:

This derivative device template can now be instanced for all internal EEM robot devices, e.g. below the /root/Customer/Devices/EEM/Internal path.

Add a device Address and change the name to the hostname of this particular EEM robot, then click OK:

The first device instance is created and its jobs start measuring right away:

Additional template- or non-template based jobs can be added to this device if needed. They will not be linked to the template.

Now add as many device instances as needed for internal EEM robot devices. Changes to e.g. the /root/Templates/job templates/Disk C: job template will now be reflected immediately on all of those instances.

Now create another device template derivative based on the Base EEM device template for external EEM robot devices and add a different set of EEM Project jobs: