Templates
A template is a composition with some of its settings left open as inputs, such as which curves to use or a plant efficiency. Using a template asks for the inputs and creates a composition from it.
The library
The Library tab shows the 50 OpenDataDSL templates as cards, grouped by category, with the featured ones first. Search by name, category or tag, or choose a category.
Open a template to see what it does, its columns and its inputs, and to:
| Button | |
|---|---|
| Use template | Create a composition from it |
| Copy to my templates | Make your own copy to change |
| Preview | Run it for today with its default input values |
See Library templates for the full list.
My templates
The My templates tab shows your organisation's templates. Create one with:
- New template: an empty template, opened in the workspace
- Upload .json: a template saved as a file, for example one downloaded from another tenant
- Save as template: from the More menu of any composition, to turn it into a template
- Copy to my templates: from a library template
Opening a template shows it in the workspace like a composition, with an extra Inputs tab in the side panel and a Preview values button in the toolbar. The preview uses the inputs' default values; Preview values changes them, and saves them as the defaults.
From a template you can also Use template, Download JSON, Duplicate and Delete.
Every save of a template increases its revision, shown under its name.
Inputs
Add inputs on the Inputs tab. Each input has:
| Setting | |
|---|---|
| Name | Used in placeholders, for example curveA |
| Label | The field label shown when the template is used |
| Type | text, number, boolean, date, choice, curve, timeseries or calendar |
| Default | The value used to preview the template, and offered when it is used |
| Help | A line of help under the field |
| Required | Whether a value must be given |
| Options | For a choice: the values to choose from |
| Validate | For text: a regular expression the value must match, for example ^[A-Z]{3}$ for a currency code |
Curve and timeseries inputs search the platform as you type, and have a Find button to look the data up by its dimensions (see Finding data). Calendar inputs list the calendars.
Using an input
Write @{input.name} wherever the value should go: a column's data id, an expression, a caption, a conversion setting, the calendar or the range. The chips under the data and expression fields of each column insert them for you.
| Where | Example |
|---|---|
| A column's data id | @{input.curveA} |
| One tenor of a curve, on a timeseries worksheet | @{input.curve}:M01 |
| An expression | POWER - GAS / @{input.efficiency} |
| A caption | In @{input.currency} |
| A conversion setting | Currency @{input.currency} |
| The calendar | @{input.calendar} |
When the template is used, each placeholder is replaced by the value given. A setting that is only a placeholder takes the input's type, so a number input stays a number.
Every placeholder must name an input on the Inputs tab, and Composer will not save a template that refers to an input it does not have.
Keeping copies up to date
A copy of a library template remembers the template and revision it was copied from. When OpenDataDSL publishes a newer revision:
- the copy shows an update badge on the My templates tab,
- opening it shows a note with Compare with the library, a line by line difference between your copy and the library, and Mark as up to date once you have made the changes you want.
Compositions created from a template remember the template, its revision and the values used, under Properties. Changing the template later does not change compositions already created from it.