preliminaries
This commit is contained in:
parent
080bb9c489
commit
50299203af
5 changed files with 86 additions and 11 deletions
|
@ -97,17 +97,34 @@ The variables
|
||||||
|
|
||||||
Here is a :term:`dictionary` example with a variable into it:
|
Here is a :term:`dictionary` example with a variable into it:
|
||||||
|
|
||||||
.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_003/config/03/config.yaml
|
.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_003/firefox/00-proxy.yml
|
||||||
:linenos:
|
:linenos:
|
||||||
:language: yaml
|
:language: yaml
|
||||||
:caption: A rougail dictionnary file with a variable named `proxy_mode`. It's the Rougail YAML dictionary format.
|
:caption: A rougail dictionnary file with a variable named `proxy_mode`. It's the Rougail YAML dictionary format.
|
||||||
:name: RougailDictionaryFirstVariable
|
:name: RougailDictionaryFirstVariable
|
||||||
|
|
||||||
:download:`source file <https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_003/config/03/config.yaml>`
|
:download:`source file <https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_003/firefox/00-proxy.yml>`
|
||||||
|
|
||||||
Here we declare a **variable** named `proxy_mode` with a variable :term:`default value`.
|
Here we declare a **variable** named `proxy_mode` without a :term:`default value`.
|
||||||
A variable can be defined with no default value at all.
|
A variable can be defined with no default value at all.
|
||||||
|
|
||||||
|
Here is the same variable with a description label:
|
||||||
|
|
||||||
|
.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/tag/v1.1_004/firefox/00-proxy.yml
|
||||||
|
:linenos:
|
||||||
|
:language: yaml
|
||||||
|
:caption: A rougail dictionnary file with a variable named `proxy_mode`, with a description.
|
||||||
|
:name: RougailDictionaryFirstVariableDescription
|
||||||
|
|
||||||
|
The same with a default value:
|
||||||
|
|
||||||
|
|
||||||
|
.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/tag/v1.1_005/firefox/00-proxy.yml
|
||||||
|
:linenos:
|
||||||
|
:language: yaml
|
||||||
|
:caption: A rougail dictionnary file with a variable named `proxy_mode`, with a default value.
|
||||||
|
:name: RougailDictionaryFirstVariableDefault
|
||||||
|
|
||||||
variable
|
variable
|
||||||
|
|
||||||
A variable is a declaration unit that represents a business domain metaphor,
|
A variable is a declaration unit that represents a business domain metaphor,
|
||||||
|
@ -115,6 +132,10 @@ variable
|
||||||
in a application, but a variable represents something more that a configuration option.
|
in a application, but a variable represents something more that a configuration option.
|
||||||
It provides a business domain specific representation unit.
|
It provides a business domain specific representation unit.
|
||||||
|
|
||||||
|
.. todo:: définir une variable avec une description, un type, l'inférence de type,
|
||||||
|
les notations condensées,
|
||||||
|
une family sans variable doit avoir un type: family,
|
||||||
|
|
||||||
.. note:: Dictionaries can just define a list of variables, but we will see that
|
.. note:: Dictionaries can just define a list of variables, but we will see that
|
||||||
we can specify a lot more. We can define variables **and** their relations,
|
we can specify a lot more. We can define variables **and** their relations,
|
||||||
**and** the relations between them.
|
**and** the relations between them.
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
Rougail
|
Rougail
|
||||||
===========
|
===========
|
||||||
|
|
||||||
|
.. todolist::
|
||||||
|
|
||||||
.. image:: images/logo.png
|
.. image:: images/logo.png
|
||||||
|
|
||||||
- is a `delicious cooked dish <https://fr.wikipedia.org/wiki/Rougail>`_ from the Mauritius and Reunion Islands,
|
- is a `delicious cooked dish <https://fr.wikipedia.org/wiki/Rougail>`_ from the Mauritius and Reunion Islands,
|
||||||
|
@ -32,7 +34,7 @@ Explained differently, Rougail allows you to easily implement an integration of
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
:caption: The library
|
:caption: The library
|
||||||
|
|
||||||
library
|
library
|
||||||
configuration
|
configuration
|
||||||
|
|
||||||
|
@ -42,7 +44,7 @@ Explained differently, Rougail allows you to easily implement an integration of
|
||||||
|
|
||||||
dictionary
|
dictionary
|
||||||
dict_convention
|
dict_convention
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
:caption: The variables
|
:caption: The variables
|
||||||
|
@ -52,11 +54,11 @@ Explained differently, Rougail allows you to easily implement an integration of
|
||||||
fill
|
fill
|
||||||
Value checks <check>
|
Value checks <check>
|
||||||
condition
|
condition
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
:caption: Notes
|
:caption: Notes
|
||||||
|
|
||||||
developer
|
developer
|
||||||
|
|
||||||
.. rubric:: Index page
|
.. rubric:: Index page
|
||||||
|
|
BIN
docs/tutorial/images/integrator.png
Normal file
BIN
docs/tutorial/images/integrator.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
BIN
docs/tutorial/images/operator.png
Normal file
BIN
docs/tutorial/images/operator.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7 KiB |
|
@ -5,8 +5,60 @@ Preliminaries
|
||||||
|
|
||||||
You need to know how to:
|
You need to know how to:
|
||||||
|
|
||||||
- manipulate a rougail :term:`dictionary`
|
- create a Rougail :term:`dictionary`
|
||||||
- use a rougail format version
|
- define a Rougail format version
|
||||||
- use the rougail command line
|
- define a Rougail :term:`variable`
|
||||||
|
|
||||||
|
.. type-along:: Workshop
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
An operator ih the Rougail logic is the person who gives values to the pre-defined variables,
|
||||||
|
his responsabilities are to set variable values correctly.
|
||||||
|
|
||||||
|
The :term:`user values`, that is the values that have been set by the operator, are validated
|
||||||
|
by the dictionary structure.
|
||||||
|
|
||||||
|
.. image:: images/operator.png
|
||||||
|
|
||||||
|
|
||||||
- :ref:`Here is an empty rougail dictionnary <RougailDictionaryEmptyFile>`
|
|
||||||
|
|
Loading…
Reference in a new issue