mviewer / mviewerstudio

mviewer generator
GNU General Public License v3.0
15 stars 25 forks source link

MEG - VSR regex nom répertoire organisme #245

Closed lecault closed 1 year ago

lecault commented 1 year ago

Dans l'idéal il faudrait appliquer la regex sur les noms d'applications sur les répertoires des organismes.

Par exemple l'organisme Mégalis Bretagne créé un dossier M_galis_Bretagne au lieu de Megalis_Bretagne.

Illustration :

image

Gaetanbrl commented 1 year ago

Dans l'idéal il faudrait appliquer la regex sur les noms

Ce n'est pas un bug, pour moi c'est Evolution.

Gaetanbrl commented 1 year ago

A corriger tout de même en reprenant la regex des nom de XML

Gaetanbrl commented 1 year ago

Correction, c'est bien un bug car le nom de l'org provenant du header est en LATIN1 alors que le nom de la regex pour les nom de répertoire / nom de fichier d'une application se base sur de l'UTF-8. Donc les caractères type é latin1 donné é non attendu et donc remplacé par _.

Cela s'explique car le python en lisant l'org du header, récupère cette syntaxe pour "Mégalis Br€tagne!" :

'Mégalis Brâ\x82¬tagne!'

En adaptant la lecture du header avec :

org.encode('latin1').decode('utf-8')

On obtient une valeur cohérente qui une fois passée dans la regex fournira :

Megalis_Brtagne

Donc pour Megalis Bretagne on obtient :

Megalis_Bretagne

Gaetanbrl commented 1 year ago

j'ai fait un push mais au final c'est sur une autre branche car j'ai vu que ca provoqué un problème de start du service

Gaetanbrl commented 1 year ago

Je viens d'appliquer la regex pour les nom d'organisation.

Cette modification a 2 points importants :

  1. Cette modification entraîne la suppression des XML existants réalisés dans vos tests.

  2. Dans une version récente de la console georchestra (e.g sur gis.jdev.fr), la console ne permet pas la saisie de caractères spéciaux pour un organisme. Mégalis Bretagne n'est pas un nom autorisé dans cette version.

lecault commented 1 year ago

ça n'a pas l'air de marcher :

image

J'ai remarqué que les organismes était en minuscule ce qui me va.

D'ailleurs je n'avais pas fait attention que j'ai le même comportement au niveau des infos de connexion :

image

spelhate commented 1 year ago

Idem pour moi : image

lecault commented 1 year ago

2. Dans une version récente de la console georchestra (e.g sur gis.jdev.fr), la console ne permet pas la saisie de caractères spéciaux pour un organisme. Mégalis Bretagne n'est pas un nom autorisé dans cette version.

Ah tiens du coup quand GéoBretagne aura migré sur le nouveau GeOrchestra on aura plus le soucis ?

Gaetanbrl commented 1 year ago

moi j'ai bien un e à la place d'un é ...

Gaetanbrl commented 1 year ago

je refais le test ...

Gaetanbrl commented 1 year ago

En local,

J'ai un nom d'organisme Mégalis Bretagne qui s'affiche correctement.

image

Voici le répertoire créé :

image

Gaetanbrl commented 1 year ago

Petit résumé des analyses réalisées avec @spelhate, @lecault sur la plateforme de test GEOB.

Rappel du besoin initial

Analyse

Ce problème ne provient pas du code rajouté par les travaux en cours (JDev / Megalis) mais semble bien lié à la récupération des infos entre la version geOrchestra de GéoBretagne et la lecture du header par Flask :

from flask import request
orgname = request.headers.get("sec-org") 
# lira M_galis et non Mégalis

Exemple en georchestra 21 :

SEC-ORGNAME (Nom complet) : Mégalis Bretagne
SEC-ORG (Nom court) : megalis

Exemple en georchestra 21 :

a noter que le caractère é et interprété en unicode \u00e9 permettant une manipulation commune entre le frontend et le backend sans problématique d'encodage

{
    "first_name": "test",
    "last_name": "megalis",
    "normalize_name": "megalis_bretagne",
    "organisation": {
        "legal_name": "M\u00e9galis Bretagne"
    },
    "roles": [
        "ROLE_USER"
    ],
    "user_name": "tmegalis"
}

image

image

image

Solution

Pour apporter une réponse au besoin initial et un correctif au problème constaté avec le sec-org, nous avons modifié le code Python pour utiliser le sec-orgname à terme compatible avec la version suivante de GeoBretagne et les dernières versions geOrchestra préconisées par la communauté.

Cette solution est fonctionnelle et correspond aux attente à partir de ce commit :

https://github.com/jdev-org/mviewerstudio/commit/c4db87f34210ffc11807a6e082ccb4a085a49579

A noter qu'ne vue de la migration GéoBretagne , une modification des noms des organismes est à prévoir pour les organismes avec des noms contenant des caractères accentués ou spéciaux (voir les règles de la console pour plus de détails).

lecault commented 1 year ago

Ok je clos