rougail/docs/tutorial/preliminary.rst

89 lines
2.6 KiB
ReStructuredText
Raw Normal View History

2024-10-14 19:17:44 +02:00
Preliminaries
================
2024-10-21 15:03:34 +02:00
.. objectives:: Objectives
2024-10-14 19:17:44 +02:00
2024-10-21 15:03:34 +02:00
We will learn how to:
2024-10-14 19:17:44 +02:00
2024-10-21 15:03:34 +02:00
- create a Rougail :term:`dictionary` (the structure description file)
2024-10-15 15:50:01 +02:00
- define a Rougail format version
2024-10-21 15:03:34 +02:00
- define a Rougail :term:`variable` and set its :term:`value`
2024-10-15 15:50:01 +02:00
2024-10-21 15:03:34 +02:00
.. type-along:: Reminders
We alread learned in other workshops how to:
2024-10-15 15:50:01 +02:00
- define a Rougail :term:`dictionary`
:ref:`Here is an empty Rougail dictionnary <RougailDictionaryEmptyFile>`
- define a variable and its default value
:ref:`Here is a first Rougail variable in a Rougail dictionnary <RougailDictionaryFirstVariable>`
- define a variable with a description
:ref:`Here is a Rougail variable with a description <RougailDictionaryFirstVariableDescription>`
- define a variable with a description and a default value
:ref:`Here is a Rougail variable with a description <RougailDictionaryFirstVariableDefault>`
The integrator role
----------------------
.. glossary::
integrator
An integrator in the Rougail logic is the person who writes the dictionaries.
He has the responsibilité of the integration process, that is,
defines the variables and the relationship between them, the variables that are allowed
(or not) to be set, and so on. His responsabilites are the **structuration** and the **consistency**
of the variables.
.. image:: images/integrator.png
.. important:: Note that there is a strong consistency, it means that the validation is done across
the entire structure, not only with a schema (type) validation system.
The operator role
---------------------
.. glossary::
operator
2024-10-21 15:03:34 +02:00
An operator ih the Rougail logic is the person who gives :term:`value`\ s to the pre-defined variables,
2024-10-15 15:50:01 +02:00
his responsabilities are to set variable values correctly.
2024-10-21 15:03:34 +02:00
The user :term:`value`\ s, that is the values that have been set by the operator, are validated
2024-10-15 15:50:01 +02:00
by the dictionary structure.
.. image:: images/operator.png
2024-10-15 17:49:26 +02:00
The operator role corresponds to the :term:`tiramisu` settings:
2024-10-14 19:17:44 +02:00
2024-10-15 17:49:26 +02:00
.. image:: images/tiramisu_get_set.png
.. index:: questionary
But instead of coding in the end user developer way, the opterator will prefer using the Rougail CLI interface:
.. image:: images/QuestionaryChoice.png
.. index:: Rougail CLI
The Rougail CLI can output a rather complete view of the dataset:
.. image:: images/UserDataOutput.png
2024-10-21 15:03:34 +02:00
.. keypoints:: Progress keypoints
- :term:`dictionary`: structure description file
- :term:`variable`: an option's name wich has a value
- a variable's description
- a variable's default value
- the integrator and operator role