Project

General

Profile

RequiredEtDisabled

Terminologie

Les termes employés ici sont les termes Tiramisu pour plus de clareté.

Le hidden_if_(not_)in de Créole s'appellera ici disabled_if_(not_in)in.

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.

Description des cas d'utilisation

  • Cas 1 :

Requires sur adresse_ip_proxy : si activer_proxy est à non la variable est disabled.

  • Cas 2 :

Requires sur activer_phpmyadmin : si activer_mysql est à non la variable est disabled.
Requires sur adresse_ip_phpmyadmin : si activer_phpmyadmin est à non la variable est disabled.

  • Cas <condition name='hidden_if_in'> avec une variable désactivée (ou inexistante) en source :

Masquage de la famille proxy authentifié 2 selon la valeur de activer_squid_auth dans 23_proxy.xml

  • Cas <fill name='calc_val'> avec une variable inexistante (ou désactivée) en paramètre :

Remplissage de ip_serveur_ldap_1 avec adresse_ip_ldap dans 23_proxy.xml (eole-proxy:fc461f3b)
Remplissage de proxy_ldap_base_dn avec ldap_base_dn dans 23_proxy.xml

  • Cas <fill name='calc_multi_val> avec variables inexistantes (ou désactivées) en paramètres :

Remplissage de ssl_subjectaltname_ns avec revprox_domainname et/ou eolesso_adresse dans 00_common.xml (#5485)

Problématique

Dans Créole on utilise deux types de requires :

  • disabled_if_in : pour désactiver une variable ;
  • frozen_if_in : sert à la variable calculée pour passer une variable en mode automatique sans possibilité de changer la valeur.

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.

Solutions

Proposition 1 :

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.

Par contre, si la variable à une autre propriété, elle peut faire un raise.