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
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Le type d'un paramètre définit son format de stockage.
7 types sont supportés, listés ci-dessous.
Type
Description
string
Texte simple
long
Nombre entier
double
Nombre décimal
date
Date
binary
Fichier binaire
boolean
Valeur booléenne (true ou false)
password
Mot de passe
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.
Les énumérations
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
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
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
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Le tag <validation> permet de définir des règles de validation sur le paramètre
<mandatory> pour rendre la paramètre obligatoire
<regexp> pour définir une expression régulière
<invalidText> pour personnaliser le message en cas de saisie incorrecte (expression régulière non respectée)
<custom-validator> classe java implémentant l'interface org.ametys.runtime.util.parameter.Validator pour définir son propre validateur
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
Déclaration
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Le validateur TextValidator accepte les paramètres <mandatory>, <regexp>, <invalidText> et <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
Déclaration
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Le validateur RichTextValidator accepte les paramètres <mandatory>, <regexp>, <invalidText> et <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é.
Les widgets de modification
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
L'utilisation d'un widget se fait au travers de la balise <widget> :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
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
Rendu
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
Case à cocher
password
Champ doublé pour confirmer le mot de passe
binary
Champ de type "file" permettant de sélectionner un fichier sur son disque
Les valeurs par défaut
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.
Exemple :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
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 :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.