rougail/doc/family.rst

80 lines
2.6 KiB
ReStructuredText

Famille
=======
Une famille
-----------
Une famille est un conteneur de variables.
Pour décrire une famille il faut mettre au minimum un nom :
<family name="my_family"/>
Cette famille doit être placé dans une balise "variables" :
<variables>
<family name="my_family"/>
</variables>
Description et aide sur la famille
----------------------------------
En plus d'un nom, il est possible de mettre une "description" à la famille. C'est une information "utilisateur" qui nous permettra d'avoir des informations complémentaires sur le contenu de cette famille :
<family name="my_family" description="This is a great family"/>
En plus de la description, il est possible de préciser une aide complémentaire :
<family name="my_family" help="This is a great family"/>
Mode de la famille
------------------
Le mode par défaut d'une famille correspond au mode le plus petite des variables dans cette famille.
Changer le mode d'une famille permet de définir le mode par défaut des variables inclusent dans cette famille.
Pour définir le mode :
<family name="my_family" mode="expert"/>
Cacher une famille
------------------
Il est possible de cacher une famille, ainsi toutes les variables inclusent dans cette famille.
Cacher une famille signifie qu'elle ne sera pas visible lorsqu'on modifie la configuration du service.
Par contre ces variables sont accessibles lorsqu'on va utiliser ces variables.
Pour cacher une famille :
<family name="my_family" hidden="True"/>
Les familles crées dynamiquement
--------------------------------
Pour créer une famille crées dynamiquement, il faut créer une family fictive lié à une variable.
Le nom et la description de la famille et des variables qu'elle contient sera en réalité le prefix du nouveau nom/description. Le suffix viendra de la variable liée.
Par exemple :
<family name='my_family'>
<variable name='varname' multi="True">
<value>val1</value>
<value>val2</value>
</variable>
</family>
<family name='my_dyn_family\_' dynamic="varname description="Describe "">
<variable name='my_dyn_var\_'/>
</family>
Créera trois familles :
- la famille : "my_family"
- la famille dynamique : "my_dyn_family_val1" avec la description "Describe val1"
- la famille dynamique : "my_dyn_family_val2" avec la description "Describe val2"
Dans la famille dynamique "my_dyn_family_val1" on retrouvera une variable "my_dyn_var_val1".
Bien évidement si le contenu de "varname" venait a évolué, de nouvelles familles dynamiques pouvent apparaitre ou des familles dynamiques peuvent disparaître.