La déclaration d'un paramètre peut différée quelque peu suivant le cas d'utilisation (métadonnée, paramètre de configuration, paramètre de service, ...). Rendez-vous sur la page du paramètre correspondant à votre cas d'utilisation pour connaitre la déclaration exacte.
Libellé et description
Tout paramètre possède un libellé et une description. La description est utilisée pour l'aide à la saisie.
Le libellé et la description peuvent être des clés i18n (internationalisation) ou non. Utilisez l'attribut i18n pour internationalisé ou non le paramètre.
Ex: Libellé et description internationalisés
Oops!
Copy to clipboard failed. Open the code and copy it manually.
Le type d'un paramètre définit son format de stockage.
7 types sont supportés, listés ci-dessous.
Type
Description
string
Simple text
long
Nombre entier
double
Nombre décimal
date
Date
binary
Fichier binaire
boolean
Valeur booléenne (true ou false)
password
Password
Par exemple, pour les métadonnées de type de contenus, le type "rich-text" pour les champs riches et le type "composite" sont également supportés.Rendez-vous sur la page du paramètre correspondant à votre cas d'utilisation pour connaitre la liste exacte des types supportés.
Enumerations
Les valeurs possibles pour un paramètre peuvent être restreintes à une liste de valeurs = énumération. Dans ce cas le choix de la valeur se fera dans une liste déroulante.
Pour définir une énumération, il faut utiliser la balise <enumeration>.
Énumération statique
La liste des valeurs d'une énumération statique se déclare directement dans la déclaration du paramètre.
Déclarartion d'une énumération statique : 4 valeurs possibles
Oops!
Copy to clipboard failed. Open the code and copy it manually.
Il est possible de définir sa propre classe Java pour une énumération à fin de traitements plus complexe, comme par exemple la lecture des valeurs possibles dans un fichier XML de configuration externe.
La classe Java doit implémenter l'interface org.ametys.runtime.util.parameter.Enumerator
Exemple d'énumératione en Java
Oops!
Copy to clipboard failed. Open the code and copy it manually.
Le tag <validation> permet de définir des règles de validation sur le paramètre
<mandatory> pour rendre la paramètre obligatoire
<regexp> to define a regular expression
<invalidText> to personalize the message in the event of incorrect input (regular expression not respected)
<custom-validator> java class implementing the org.ametys.runtime.util.parameter.Validator to define your own validator
Par exemple org.ametys.runtime.plugins.core.util.parameter.TextValidator ou org.ametys.runtime.plugins.core.util.parameter.RichTextValidator supportent une sous balise
<maxlength> pour un nombre de caractères maximums supportés
Voici quelques exemples.
Validation d'un champ "adresse mail" obligatoire
Declaration
Oops!
Copy to clipboard failed. Open the code and copy it manually.
Le validateur TextValidator accepte les paramètres <mandatory>, <regexp>, <invalidText> and <maxlength> pour le nombre maximum de caractères autorisés.
En édition, le remplissage de la zone de texte est bloquée à 200 caractères. Un compteur affiche le nombre de caractères saisis vs le nombre de caractères autorisés.
Validation d'un champ riche obligatoire avec un maximun de 800 caractères
Declaration
Oops!
Copy to clipboard failed. Open the code and copy it manually.
Le validateur RichTextValidator accepte les paramètres <mandatory>, <regexp>, <invalidText> and <maxlength> pour le nombre maximum de caractères autorisés.
En édition, si le nombre de caractères maximum est dépassé, le compteur de caractère passe en rouge. Il ne sera pas possible de valider le formulaire tant que le nombre de caractères n'est pas respecté.
Editing widgets
Un paramètre peut utiliser un "widget" pour la modification. Un widget est un champ de formulaire avancé, constituant une aide à la saisie
Par exemples,
un paramètre de type "string" peut utiliser le widget "textarea" pour éditer le paramètre sur plusieurs lignes.
une énumération peut utiliser le widget "sorted-multiselect" pour permettre une sélection multiple où les valeurs seront triées par ordre alphabétiques
The widget tag is used for this purpose. <widget> :
Oops!
Copy to clipboard failed. Open the code and copy it manually.
Par défaut chaque type (string, data, long, ..) possède un widget adapté (ex: un calendrier pour date)
Rendez-vous sur la page du paramètre correspondant à votre cas d'utilisation pour connaitre la liste exacte des widgets supportés.
Voici la liste des widgets utilisés par défaut pour chaque type de paramètres
Type
Widget
Rendering
string
Champ texte ou liste déroulante pour les énumérations
date
Calendrier
long
Champ texte n'acceptant que les entiers
double
Champ texte n'acceptant que les entiers ou des nombres décimals
boolean
Check box
password
Champ doublé pour confirmer le mot de passe
binary
Champ de type "file" permettant de sélectionner un fichier sur son disque
Default values
Un paramètre peut avoir une valeur par défaut.
Dans le cas d'un paramètre multiple, il est possible de renseigner plusieurs valeurs par défaut (voir le cas complexe)
Si le paramètre définit une énumération, les valeurs par défaut doivent faire partie des valeurs proposées par l'énumération. Par exemple, dans le cas complexe, l'énumération propose les 4 valeurs fr, en, es et de, les valeurs par défaut sont fr et en.
Example:
Oops!
Copy to clipboard failed. Open the code and copy it manually.
Les valeurs par défaut d'un paramètre peuvent également prendre la valeur d'un paramètre de configuration. Pour cela, renseigner le type "config" et donner l'identifiant du paramètre de configuration. Le type du paramètre doit correspondre au type du paramètre de configuration utilisé.
Exemple avec la valeur d'un paramètre de configuration :
Oops!
Copy to clipboard failed. Open the code and copy it manually.