Projet

Général

Profil

RequiredEtDisabled » Historique » Version 4

Joël Cuissinat, 31/05/2013 15:16

1 1 Emmanuel GARETTE
h1. RequiredEtDisabled
2 1 Emmanuel GARETTE
3 1 Emmanuel GARETTE
h2. Terminologie
4 1 Emmanuel GARETTE
5 1 Emmanuel GARETTE
Les termes employés ici sont les termes Tiramisu pour plus de clareté.
6 1 Emmanuel GARETTE
7 2 Emmanuel GARETTE
Le **hidden_if_(not_)in** de Créole s'appellera ici **disabled_if_(not_in)in**.
8 1 Emmanuel GARETTE
9 3 Gwenael Remond
Un **disabled_if_in** place un **requires** sur la **variable** de type : nom de la **variable à tester**, la **valeur attendue** sur la variable à tester, et l' **action** correspondante.
10 1 Emmanuel GARETTE
11 1 Emmanuel GARETTE
h2. Description des cas d'utilisation
12 1 Emmanuel GARETTE
13 1 Emmanuel GARETTE
* Cas 1 :
14 1 Emmanuel GARETTE
15 2 Emmanuel GARETTE
Requires sur **adresse_ip_proxy** : si **activer_proxy** est à **non** la variable est **disabled**.
16 1 Emmanuel GARETTE
17 1 Emmanuel GARETTE
* Cas 2 :
18 1 Emmanuel GARETTE
19 2 Emmanuel GARETTE
Requires sur **activer_phpmyadmin** : si **activer_mysql** est à **non** la variable est **disabled**.
20 2 Emmanuel GARETTE
Requires sur **adresse_ip_phpmyadmin** : si **activer_phpmyadmin** est à **non** la variable est **disabled**.
21 1 Emmanuel GARETTE
22 4 Joël Cuissinat
* Cas @<condition name='hidden_if_in'>@ avec une variable désactivée (ou inexistante) en source :
23 4 Joël Cuissinat
24 4 Joël Cuissinat
** Exemple : masquage de la famille *proxy authentifié 2* selon la valeur de *activer_squid_auth* dans 23_proxy.xml 
25 4 Joël Cuissinat
26 4 Joël Cuissinat
27 4 Joël Cuissinat
* Cas @<fill name='calc_val'>@ avec une variable inexistante (ou désactivée) en paramètre :
28 4 Joël Cuissinat
29 4 Joël Cuissinat
** remplissage de *ip_serveur_ldap_1* avec *adresse_ip_ldap* dans 23_proxy.xml (eole-proxy:commit:fc461f3b)
30 4 Joël Cuissinat
** remplissage de *proxy_ldap_base_dn* avec *ldap_base_dn* dans 23_proxy.xml 
31 4 Joël Cuissinat
32 4 Joël Cuissinat
33 4 Joël Cuissinat
* Cas @<fill name='calc_multi_val>@ avec variables inexistantes (ou désactivées) en paramètres :
34 4 Joël Cuissinat
35 4 Joël Cuissinat
** Exemple : remplissage de *ssl_subjectaltname_ns* avec *revprox_domainname* et/ou *eolesso_adresse* dans 00_common.xml (#5485)
36 4 Joël Cuissinat
37 4 Joël Cuissinat
38 4 Joël Cuissinat
39 1 Emmanuel GARETTE
h2. Problématique
40 1 Emmanuel GARETTE
41 2 Emmanuel GARETTE
Dans Créole on utilise deux types de **requires** :
42 1 Emmanuel GARETTE
43 1 Emmanuel GARETTE
* @disabled_if_in@ : pour désactiver une variable ;
44 1 Emmanuel GARETTE
* @freeze_if_in@ : sert à la variable calculée pour passer une variable en mode automatique sans possibilité de changer la valeur.
45 1 Emmanuel GARETTE
46 1 Emmanuel GARETTE
Le problème se pose sur le cas 2. Si activer_phpmyadmin est désactivé parce que activer_mysql est à non, on ne peut pas faire le requires pour adresse_ip_phpmyadmin.
47 1 Emmanuel GARETTE
48 1 Emmanuel GARETTE
h2. Solutions
49 1 Emmanuel GARETTE
50 1 Emmanuel GARETTE
h3. Proposition 1 :
51 1 Emmanuel GARETTE
52 2 Emmanuel GARETTE
Faire une liste de propriété "transitive" lors des requires. Cela veut dire que si on veut déterminé si une **variable** est **disabled**, si la **variable à tester** est à disabled, la **variable** est **disabled** aussi.
53 1 Emmanuel GARETTE
54 1 Emmanuel GARETTE
Par contre, si la variable à une autre propriété, elle peut faire un raise.