Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intégration du module Import dans GeoNature #3269

Closed
camillemonchicourt opened this issue Nov 26, 2024 · 1 comment
Closed

Intégration du module Import dans GeoNature #3269

camillemonchicourt opened this issue Nov 26, 2024 · 1 comment
Milestone

Comments

@camillemonchicourt
Copy link
Member

camillemonchicourt commented Nov 26, 2024

Il a été évoqué depuis un moment de pouvoir utiliser le module Import pour importer des données vers d'autres modules que la Synthèse.

Le sujet a initialement été discuté dans ce ticket du module Import : PnX-SI/gn_module_import#303.

Une analyse technique a été menée pour identifier la possibilité de factoriser une partie du module Import existant ou alors de devoir faire un outil d'import par destination.

Il a été retenu de factoriser une grosse partie du module Import et de l'étendre avec les spécificités de chaque module de destination.
Pour cela, il a donc fallu migrer le module dans le cœur de GeoNature (comme le module Synthèse), pour que chaque module puisse l'étendre.

Le développement a été réalisé pour être intégré dans la version 2.15 de GeoNature, suivi sur le projet dédié https://github.com/orgs/PnX-SI/projects/13 et centralisé dans la PR #2833

Pour le moment, une destination supplémentaire a été développée et intégrée : Occhab.
A partie de la 2.15, il sera donc possible d'importer des données vers la Synthèse et/ou Occhab, en fonction des permissions dont disposent chaque utilisateur.

Cela a notamment nécessité de revoir les permissions permettant d'importer des données :

  • R sur Import pour accéder au module Import
  • C sur Import pour pouvoir créer un nouvel Import
  • C sur le module de destination pour pouvoir y importer des données
    image
    Cela a donc nécessité d'ajouter une action C sur les permissions du module Synthèse. Les utilisateurs qui avaient auparavant un C sur Import se sont vus associés automatiquement un C sur Synthèse lors de la mise à jour 2.14 > 2.15
  • Il reste possible de pouvoir créer des données dans un module, mais de ne pas pouvoir en importer. Pour cela, il faut définir un C dans le module de destination (Occhab par exemple), mais ne pas mettre de C sur le module d'Import à cet utilisateur
    Détail des permissions dans la documentation : https://github.com/PnX-SI/GeoNature/blob/develop/docs/admin/import_admin.rst#permissions-de-limport
  • Il a aussi fallu pouvoir définir quels sont les JDD que l'on propose en fonction de la destination sélectionné pour un import. En effet, on ne veut pas proposer les mêmes JDD si on importe vers Synthèse ou si on importe vers Occhab. Pour lister les JDD quand on créé un nouvel import, on ne regarde donc plus si ceux-ci sont associés au module Import, mais au module de destination que l'on a sélectionné pour cet import (en plus de vérifier si les JDD sont actifs et si l'utilisateur authentifié a les permissions de créer des données dans ces JDD en fonction de la portée de sa permission C sur le module de destination sélectionné). Ainsi lors de la mise à jour de la version 2.14 à 2.15, tous les JDD qui étaient associés au module Import ont été automatiquement associés au module Synthèse (et plus au module Import car cela n'a plus de sens ni d'effet).

De nombreuses autres évolutions et améliorations ont été ajoutées lors de cette refonte complète du module Import pour le rendre plus générique et mutli-destinations et l'intégrer dans le cœur de GeoNature.

Tickets complémentaires :

@camillemonchicourt
Copy link
Member Author

Fait dans la 2.15, intégré et migré automatiquement dans GeoNature à partir de sa version 2.15.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant