12.3 Les paramètres applicatifs
Une application peut requérir différentes variables pour fonctionner.
Ces variables doivent être inscrites en paramètre dans le fichier
MYAPP_init.php
.
Elles sont ensuite modifiables par l'administrateur via le centre d'administration.
12.3.1 Déclaration des paramètres
Pour déclarer des paramètres, il faut ajouter un tableau $app_const
dans le
code du fichier MYAPP_init.php
:
<?php global $app_const; $app_const = array( "VERSION" => "1.0.3-1", // Paramètre minimum obligatoire "Name_of_the_parameter" => array( "val" => "1", "descr" => N_("Description of the parameter"), "global" => "Y", "user" => "N" ) ); ?>
Les index du tableau $app_const
définissent les identifiants des paramètres.
Le tableau définissant le nouveau paramètre peut contenir les mots-clés
suivants :
- val (obligatoire)
-
Indique la valeur par défaut du paramètre.
Cette valeur peut par la suite être modifiée par l'administrateur dans le centre d'administration (Menu "Gestion des applications"/"Paramètres applicatifs").
- descr (facultatif)
-
Permet de noter une description qui est affichée au même endroit que la valeur.
Cette valeur fait l'objet d'une traduction dans les interfaces du centre d'administration.
- global (facultatif)
-
Indique si le paramètre est global.
Ce mot-clé peut prendre deux valeurs :
-
Y
: indique que le paramètre est global. -
N
: indique que le paramètre n'est pas global (valeur par défaut).
Un paramètre global est accessible depuis toutes applications. Dans ce cas, il est affiché en gras dans le menu "Paramètres applicatifs" du centre d'administration. Dans le cas contraire, le paramètre est accessible uniquement par l'application qui le déclare et les applications qui en sont hérités.
-
- user (facultatif)
-
Indique si la valeur du paramètre est personnalisable pour chaque utilisateur ayant accès à l'application. Il peut prendre deux valeurs :
-
Y
: indique que le paramètre est personnalisable pour chaque utilisateur. Dans ce cas, le paramètre apparaît aussi dans le menu du Paramètres utilisateurs du centre d'administration. -
N
: indique que le paramètre ne peut pas être personnalisable par utilisateur (valeur par défaut).
-
- kind (facultatif)
-
Le type du paramètre. Les valeurs acceptées sont :
text
- Indique que le paramètre est une chaîne de caractère. C'est la valeur par défaut.
enum
-
Indique que le paramètre est un énuméré.
Dans ce cas il faut préciser les valeurs possibles de l'énuméré dans la déclaration du kind. Exemple:
enum(yes|no)
color
-
Indique que le paramètre est une couleur.
Dans ce cas, un color picker est proposé lors du changement de valeur du paramètre dans le centre d'administration.
password
-
Indique que le paramètre est de type "mot de passe".
Dans ce cas, la valeur n'est pas affichée, elle est remplacée par "*****".
Attention : le mot de passe est stocké en clair en base de données.
static
-
Indique que la valeur est non modifiable dans le centre d'administration. Dans ce cas, le paramètre n'est affiché que lors du clic sur le bouton "Afficher les paramètres non modifiables", et il est affiché en gris.
Lors d'une mise à jour de l'application sa valeur est modifiée.
readonly
- Comme pour
static
indique que la valeur est non modifiable dans le centre d'administration. A la différence destatic
, lors d'une mise à jour de l'application sa valeur n'est pas modifiée.
Le paramètre VERSION
est un paramètre obligatoire qui doit contenir la version
de l'application sous la forme suivante : X.Y.Z-R
où X.Y.Z définissent la
version et R la release. X,Y et Z sont des nombres entiers.
Exemple de version : "3.5.12-4". Ce paramètre est utilisé pour les
migrations.
Pour les paramètres hérités seule la valeur doit être mise à l'index correspondant dans le tableau, il ne faut pas, dans ce cas, mettre le tableau de définition du paramètre.
12.3.2 Règles :
- Une valeur d'un paramètre global ne peut pas être redéfinie dans une application fille ni dans aucune autre application.
- Le nom d'un paramètre global doit être unique pour l'ensemble des applications installées. Sinon aucune erreur n'est levée et la valeur retournée n'est pas garantie.
- Seule la valeur d'un paramètre applicatif (non global) peut être redéfinie dans une application fille. Les caractéristiques d'un paramètre ne peuvent pas être redéfinies.
- Lors des mises à jour d'application, les valeurs des paramètres ne sont
pas modifiées sauf pour le type
static
.
12.3.3 Forcer la mise à jour des paramètres
Les paramètres d'une application peuvent être mis à jour de manière explicite
par la commande manageApplications
via le programme wsh
.
www-data@test:~$ ./wsh.php --api=manageApplications --help Manage application Usage : --appname=<application name> Options: --userid=<user system id or login name to execute function - default is (admin)>, default is '1' --method=<action to do> [init|update|reinit|delete], default is 'init' --help (Show usage)
Exemple :
www-data@test:~$ ./wsh.php --api=manageApplications --appname=MYAPP --method=update MYAPP...update 15/05/2013 13:31:56 LOG::[I] Dynacase:DbObj:application : Init : MYAPP 15/05/2013 13:31:56 LOG::[I] Dynacase:DbObj:acl : Acl Modify : MYAPP_VERIFICATION, Access to ticket sales 15/05/2013 13:31:56 LOG::[I] Dynacase:DbObj:action : Update Action MYAPP_ACTION1 15/05/2013 13:31:56 LOG::[I] Dynacase:DbObj:action : Update Action MYAPP_ACTION2
Si la commande est :
init
- ajoute les paramètres à l'application à initialiser (ne pas utiliser si application déjà initialisée).
update
- modifie les paramètres / ajoute les nouveaux paramètres.
reinit
- force mise à jour des valeurs des paramètres telles quelles sont décrites
dans le fichier
MYAPP_init.php
. delete
- supprime les paramètres de l'application ainsi que l'application elle-même.