Comment rendre éditable une propriété d'un module ?

Déclaration

Après avoir déclaré une nouvelle propriété , il est possible de la rendre éditable dans l'écran d'administration du module en définissant son libellé dans les propriétés de langues .

  • Par exemple, pour rendre éditable la propriété jcmsplugin.monplugin.mapropriete définie dans le fichier plugin.prop d'un module, il faut renseigner le libellé pour la langue principale du site, et de préférence dans les autres langues utilisées sur le site :
    • Français : ajouter dans le fichier fr.prop du module
      jcmsplugin.monplugin.mapropriete: libellé de ma propriété
    • Anglais : ajouter dans le fichier en.prop du module
      jcmsplugin.monplugin.mapropriete: my property label

Notez que lorsque l'utilisateur modifie la valeur de la propriété via l'interface d'administration du module, son choix est persisté dans le fichier custom.prop

Aide associée

Il est aussi possible d'ajouter une information complémentaire sur ce champ pour aider l'utilisateur à le renseigner. Pour cela il faut indiquer le texte de l'aide dans une propriété de langue du même nom suffixé de .help.

  • Par exemple, pour ajouter une aide en français sur la propriété jcmsplugin.monplugin.mapropriete :
    • ajouter dans le fichier fr.prop du module :
      jcmsplugin.monplugin.mapropriete.help: aide de ma propriété

Widget d'édition

Par défaut, l’éditeur est un champ texte sur une ligne.

Pour chaque champ il est possible d'indiquer quel éditeur utiliser afin de guider la saisie en fonction du type de donnée attendu.

Pour le faire il faut ajouter lors de la déclaration de la propriété dans le plugin.prop un suffixe parmi les suivants :

  • number pour un champ texte permettant d’éditer un nombre
  • boolean pour un champ permettant de choisir une valeur booléenne (oui/non)
  • area pour une zone de texte sur plusieurs lignes
  • pwd pour un champ aux caractère masqués (password)
  • jsp pour utiliser un éditeur custom dans une page jsp spécifique (exemple en commentaire dans JCMS-5412)

A partir de JPlatform 10 SP1, les éditeurs suivants sont aussi disponibles :

  • chooser-category : sélecteur d'une catégorie
  • chooser-category-multiple : sélecteur de plusieurs catégories
  • chooser-member : sélecteur d'un membre
  • chooser-group : sélecteur d'un groupe
  • chooser-workspace : sélecteur d'un espace de travail
  • chooser-publication : sélecteur d'une publication
  • chooser-document sélecteur d'un document
  • chooser-content : sélecteur d'un contenu
  • chooser-portal : sélecteur d'un portail

Par exemple, pour ajouter un sélecteur booléen (oui/non) sur la propriété jcmsplugin.monplugin.mapropriete utiliser le suffixe directement lors de sa déclaration, la valeur saisie ici étant la valeur par défaut pour ce champ :

  • jcmsplugin.monplugin.mapropriete.boolean: true

Exceptions

Il n'est pas possible de rendre éditables les propriétés commençant par les préfixes suivants : extra., extradb., portlet.ability., acl., icon..

Cette liste d'exceptions peut être étendue grâce au préfixe plugin-mgr.ignore-prop..

Exemple 1 - Configuration par défaut du module Smartphone pour que ses propriétés préfixées par jcmsplugin.smartphone.service et jcmsplugin.smartphone.workspace-service ne soient pas éditables :

plugin-mgr.ignore-prop.smartphone-service: jcmsplugin.smartphone.service
plugin-mgr.ignore-prop.smartphone-workspace-service: jcmsplugin.smartphone.workspace-service

Exemple 2 - Pour rendre non-éditable les propriétés du module Blog :

plugin-mgr.ignore-prop.blog-std: jcmsplugin.blog
plugin-mgr.ignore-prop.blog-ids: $id.jcmsplugin.blog

Voir aussi :