Skip to content

Documenter l'utilisation de la configuration du plugin #54

@Gaetanbrl

Description

@Gaetanbrl

Description fonctionnelle

En tant qu'administrateur MapStore2,
Je veux un guide clair d'utilisation de la configuration du plugin,
Afin de paramétrer les couches, les champs et les droits sans ambiguïté.


Description technique

  • Une documentation dédiée explique comment la configuration est lue et appliquée dans le plugin.
  • Un exemple complet de configuration est fourni, dans un format prêt à adapter au contexte.
  • Chaque élément de configuration est expliqué dans un tableau avec son rôle, son type et son impact.
  • Les règles de visibilité (hidden), d'édition par rôle, de restriction de zone et d'auto-remplissage sont explicitées.
  • Le système i18n de MapStore2 est utilisé pour tous les textes affichés.
  • Un message de réussite ou d'erreur (toast ou alerte) est affiché après chaque action.

Exemple complet de configuration :

{
  "cfg": {
    "tooltip": "Saisie ZAE",
    "icon": "pencil",
    "title": "Saisie attributaire",
    "layers": [
      {
        "name": "zae:zones_activite",
        "hidden": ["id", "created_at"],
        "roles": {
          "read": ["USER", "ZA_EDITOR", "ADMIN"],
          "edit": ["ZA_EDITOR", "ADMIN"],
          "delete": ["ZA_ADMIN", "ADMIN"]
        },
        "fields": [
          ["nom", "Nom", "string", true, true, ["ZA_EDITOR", "ADMIN"]],
          ["statut", "Statut", "list", true, true, ["ZA_EDITOR", "ADMIN"]],
          ["commentaire", "Commentaire", "textarea", true, false, ["ZA_EDITOR", "ADMIN"]],
          ["date_maj", "Date de mise à jour", "date", false, false, []],
          ["auteur", "Auteur", "string", false, false, []]
        ],
        "restrictedArea": {
          "operator": "WITHIN",
          "geometrySource": "url",
          "url": "/console/account/areaofcompetence",
          "allowedRoles": ["ADMIN"]
        },
        "autofill": [
          { "field": "auteur", "source": "sec-username" },
          { "field": "date_maj", "source": "save-date" }
        ]
      }
    ]
  }
}

Tableau d'explication des éléments :

Élément Type Description
cfg.tooltip string Texte affiché au survol du bouton du plugin
cfg.icon string Icône du bouton du plugin
cfg.title string Titre affiché dans l'en-tête du panneau
layers[].name string Nom complet de la couche à interroger/éditer
layers[].hidden array Champs invisibles en lecture et en écriture pour tous les rôles
layers[].roles.read array Rôles autorisés à lire les données
layers[].roles.edit array Rôles autorisés à activer l'édition
layers[].roles.delete array Rôles autorisés à supprimer une entité
layers[].fields array Définition des champs: nom brut, label, type, éditable, obligatoire, rôles de saisie
restrictedArea.operator string Opérateur spatial (WITHIN, CONTAINS, INTERSECTS)
restrictedArea.geometrySource string Source de la géométrie utilisateur (wkt ou url)
restrictedArea.url string URL qui retourne la géométrie utilisateur (WKT/JSON)
restrictedArea.allowedRoles array Rôles qui contournent la restriction de zone
autofill[].field string Champ cible à remplir automatiquement
autofill[].source string Source de la valeur (save-date, header comme sec-username)

Description des droits d'édition et de lecture

  • Les utilisateurs ayant un rôle autorisé peuvent consulter les données selon le contexte et la couche.
  • Seuls les rôles autorisés pour la couche, ainsi que les administrateurs, peuvent modifier les données.
  • Si restrictedArea est activée et qu'une zone utilisateur existe, la modification est limitée aux entités correspondantes selon WITHIN, CONTAINS ou INTERSECTS.
  • Pour chaque champ visible, les droits d'écriture dépendent du rôle; les administrateurs peuvent toujours modifier les champs visibles.
  • Les champs présents dans hidden ne sont jamais affichés en lecture ni en écriture.

Référence documentaire


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions