GeotrekCE / Geotrek-admin

Paths management for National Parks and Tourism organizations
https://geotrek.fr
BSD 2-Clause "Simplified" License
133 stars 76 forks source link

1 seul Geotrek admin et plusieurs structures / Droits d'édition #2837

Open AudreyRemy opened 2 years ago

AudreyRemy commented 2 years ago

Bonjour, Nous utilisons un Geotrek admin commun au département et aux communautés de communes. Nous avons créé des structures différentes et les utilisateurs sont reliés à leur structure avec différents droits. Dans la partie signalétique, il arrive qu’un mat directionnel soit composé de lames du département et de lames d’une communauté de communes. L’idéal serait donc que les deux structures puissent modifier une même saisie signalétique. Si la signalétique est liée à la structure département, la communauté de communes peut voir la signalétique mais pas la modifier. Je pensais créer une structure commune (département et collectivités) mais je n’arrive pas à lier deux structures à un même utilisateur. Avez-vous rencontré ce problème ? J’espère que mon message est compréhensible. Merci d’avance pour votre aide. Bonne journée.

camillemonchicourt commented 2 years ago

Oui c'est normal. Actuellement un utilisateur ne peut être associé qu'à une seule structure. Chaque objet est associé à une structure en fonction de la structure de l'utilisateur qui l'a créé. Cela permet d'avoir un garde fou pour qu'une utilisateur d'une structure ne puisse pas modifier ou supprimer un objet créé par une autre structure. C'est un fonctionnement global plus large que seulement le module "Signalétique".

Il est possible d'attribuer à certains utilisateurs ou groupes d'utilisateurs la possibilité de ne pas être limité aux objets de leur structure et de pouvoir modifier ou supprimer tous les objets et même de pouvoir modifier la structure d'un objet, avec la permissions "Authent / Structure / Can bypass structure".

Cependant ce fonctionnement pose parfois des limites, comme c'est le cas avec tous les droits qui limitent les possibilités. Je ne sais pas si il faudrait revoir le fonctionnement pour permettre à un utilisateur d'appartenir à plusieurs structures, ou si il ne faudrait pas plutôt permettre à ce qu'un objet puisse être associé à plusieurs structures.

Dans tous les cas, créer une structure commune avec les 2 structures est un détournement de la notion de structures qui ne me semble pas une solution viable.

AudreyRemy commented 2 years ago

Merci Camille

AudreyRemy commented 2 years ago

Bonjour Je reviens vers la communauté Geotrek pour savoir si des structures sont concernées par une signalétique commune (exemple le département pose un mat avec des lames directionnelles et une collectivité ajoute une lame de son PLR sur ce mat). Comment gérez-vous cet objet commun dans Geotrek Admin ? Merci d'avance. Bonne journée.

camillemonchicourt commented 2 years ago

Oui, comme je te disais, dans ce cas là, tu peux faire en sorte que des utilisateurs ou groupes d'utilisateurs puissent modifier, supprimer des objets sans être limités à ceux de leur structure avec la permission "Can bypass structure". En leur mettant cette permission sur la signalétique, ces utilisateurs pourront modifier la signalétique crée par un utilisateur d'une autre structure.

AudreyRemy commented 2 years ago

Merci @camillemonchicourt on tente comme ça mais je me demandais si d'autres utilisateurs avaient une autre méthodologie

camillemonchicourt commented 2 years ago

Non, si on veut gérer ça plus finement au niveau des droits, il faut prévoir des développements.

camillemonchicourt commented 2 years ago

En complément, @IdrissaD vient de partager un document précisant le fonctionnement des structures et des permissions dans Geotrek : https://geotrek.ecrins-parcnational.fr/ressources/technique/2022-08-OPenIG-geotrek_multi_structures.pdf

Il a aussi proposé d'intégrer une partie de ces informations dans la documentation globale de Geotrek-admin : https://github.com/GeotrekCE/Geotrek-admin/pull/3132/files

Par ailleurs, @babastienne a récemment complété la documentation avec une section dédiée à la gestion des utilisateurs : https://geotrek.readthedocs.io/en/latest/usage/configuration-ttw.html?highlight=profils#gestion-des-utilisateurs

AudreyRemy commented 2 years ago

C'est génial ! Merci beaucoup.

alexandre-bouzan commented 1 year ago

Bonjour,

Pour gérer ce cas de figure auquel nous sommes aussi confrontés (CD66) nous avons procédé de la manière suivante: pour chaque signalétique nous avons attribué une structure liée et une structure gestionnaire qui répond à ces principes:

De cette manière une communauté de communes peut ajouter/modifier des éléments de signalétiques sur une signalétique appartenant au département et qui se trouve sur son territoire . Pour le département, nous avons attribué le bypass structure pour l'agent qui saisi des infos sur ce module.

Limites :

Dans notre cas cette utilisation répond tout de même à nos attentes et nous aurions juste besoin de rajouter un filtre "gestionnaire" pour le sous-module "Lames" que nous envisageons de financer (le ticket serai ajouter ici : https://github.com/GeotrekCE/Geotrek-admin/projects/8)

AudreyRemy commented 1 year ago

Merci Alexandre pour ce retour, ça correspond complètement à nos besoins et la mutualisation avec les territoires.

camillemonchicourt commented 1 year ago

OK pourquoi pas, mais la permission by_structure devrait être limitée à quelques administrateurs qui savent ce qu'ils font, car cela permet de modifier tous les objets de toutes les structures dans tous les modules, voire de modifier la structure de n'importe quel objet dans n'importe quel module.

Donc pas conseillé de l'associer à des utilisateurs en dehors de quelques administrateurs.

alexandre-bouzan commented 1 year ago

Effectivement la solution n'est pas idéale , et ne porte que sur le module signalétique. Nous serions partant pour étudier la possibilité d'un développement afin d'avoir une gestion plus fine des droits d'édition en multi-structure. Pour récapituler les besoins et pistes de réflexion si j'ai bien compris:

Pistes de réflexion:

camillemonchicourt commented 1 year ago

Que l'on puisse attribuer plusieurs structures à un même objet aurait un effet de bord. On utilise beaucoup ce champs pour gérer la diffusion des données sur les plateformes tiers (IGNrando, Cirkwi, Visorando, Apidae...). Si une rando pouvait avoir plusieurs structures, alors cet usage deviendrait compromis.

La 3° solution me parait la plus pertinente, même si complexe (trop complexe ?)

babastienne commented 1 year ago

@camillemonchicourt j'aime bien la seconde proposition d'Alexandre, de pouvoir associer un utilisateur à plusieurs structures. J'imagine un système suivant : l'utilisateur est toujours rattaché et appartenant à une structure. On peut lui octoyer la possibilité de modification/edition sur d'autres structures spécifiques en choisissant dans une liste. Ca permettrait à un utilisateur d'une structure A de modifier par exemple les données d'une autre structure partenaire B sans pouvoir toucher aux autres structures X Y Z pour autant.

Qu'en penses-tu ? La 3ème solution proposée par Alexandre me parait assez spécifique.