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 d'édition
Un paramètre peut utiliser un "widget" en édition. 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.