Tâche #37374
Scénario #37356: Problème avec une variable auto_freeze
Étude
0%
Historique
#1 Mis à jour par Benjamin Bohard il y a 13 jours
- Statut changé de Nouveau à En cours
#2 Mis à jour par Benjamin Bohard il y a 13 jours
Reprise de la note associée au scénario
Un détail supplémentaire sur ce qu’il se passe : activer_sympa a une valeur par défaut et l’utilisation de CreoleSet déclenche l’enregistrement de la configuration dans le fichier config.eol.
Autre élément observé : si on procède à la même manipulation (série d’installation et CreoleSet) avant l’instance, on n’a pas le problème.
Lors de l’utilisation de CreoleSet pour la variable web_url, rien ne se passe : la valeur de exim_smarthost fait que la variable activer_sympa n’est pas validée (elle est désactivée).
Lors de l’utilisation de CreoleSet pour la variable exim_smarthost, la variable activer_sympa est accessible donc évalué et enregistrée dans le fichier config.eol. À partir de là, comme l’instance du serveur est déjà effectuée son statut auto_freeze fait qu’elle n’est plus accessible.
Si on considère que CreoleSet est l’outil faire une configuration impliquant des variables auto_freeze après instance, il faudrait le faire évoluer pour gérer des sessions d’édition. Sinon, il faudrait peut-être également le faire évoluer pour avoir le même type d’avertissement qu’on affiche dans l’application web sur le verrouillage de variables.
#3 Mis à jour par Benjamin Bohard il y a 13 jours
Autres procédures testées :
1. CreoleSet exim_smarthost oui
2. apt-eole install eole-sympa
3. CreoleSet activer_sympa oui => web_url n’est pas renseigné
=> échec
1. CreoleSet exim_smarthost oui
2. apt-eole install eole-web
CreoleSet web_url eolebase.ac-test.fr
3. apt-eole install eole-sympa
4. CreoleSet activer_sympa oui
=> réussite
Les opérations 1 et 2 peuvent être interverties ; l’important est de ne pas installer eole-sympa avant d’avoir traité toutes les autres variables.
À noter que la variable activer_sympa est invariablement inaccessible à l’issue de toutes ces procédures. Ce qui n’est pas un problème si on a pu l’initialiser avec la bonne valeur.
#4 Mis à jour par Benjamin Bohard il y a 9 jours
Dans creole, le code responsable du verrouillage de la variable est condition par :
if 'auto_freeze' in setting[option] and is_inst == 'oui' and not tiramisu_values.is_default_owner(option)
auto_freeze fait partie du comportement souhaité et ne peut pas être supprimé de ce point de vue.
is_inst ne devrait pas être contourné pour ne pas perturber d’autres mécanismes.
L’utilisateur associé à la variable n’est pas directement accessible : dans le cas présent, la variable est forcée et associée à l’utilisateur forced quelque soit l’utilisateur spécifié dans la commande (en surchargeant l’instance de creole_loader dans la commande CreoleSet).
Il ne semble pas facile de modifier le comportement observé avec cette variable.