IGNFCollaboratifContextConnector

Ce Transformer permet de récupérer les informations d'un utilisateur qui possède un compte sur l'Espace Collaboratif et de lister, par exemple, les groupes auxquels il appartient ou encore les thèmes disponibles.

IGNFCollaboratifContextConnector génère plusieurs entités sortantes, descriptives :

  • du compte utilisé (Descriptif),

  • des groupes auxquels l'utilisateur est inscrit (Communautés),

  • des thèmes sur lesquels l'utilisateur peut contribuer (Thèmes_complets),

  • des thèmes du groupe actuellement actif pour l'utilisateur (Thèmes_partagés).

Note

Tous les paramètres de IGNFCollaboratifContextConnector sont pilotables par des paramètres publiés du traitement.

IGNFCollaboratifContextConnector workflow

Configuration

IGNFCollaboratifContextConnector configuration

Port d'entrée

Input

IGNFCollaboratifContextConnector est auto-instancié, il ne nécessite pas d'Input.

Ports de sortie

IGNFCollaboratifContextConnector génère plusieurs entités sortantes, descriptives :

  • du compte utilisé (Descriptif),

  • des groupes auxquels l'utilisateur est inscrit (Communautés),

  • des thèmes sur lesquels l'utilisateur peut contribuer (Thèmes_complets),

  • des thèmes sur lesquels l'utilisateur peut contribuer lorsqu'il n'appartient à aucune communauté (Thèmes_partagés).

IGNFCollaboratifContextConnector Outputs

Descriptif

Permet d'afficher les mêmes attributs que précédemment avec en plus le mail de l'utilisateur ainsi que ses nom et prénom :

  • login = pseudo de l'utilisateur de l'Espace Collaboratif ;

  • utilisateur_id = identifiant (numéro) de l'utilisateur ;

  • prenom = prénom de l'utilisateur ;

  • nom = nom de l'utilisateur ;

  • email = mail de l'utilisateur.

Communautés

Permet d'avoir la liste des groupes auxquels l'utilisateur est inscrit :

  • groupe_nom = nom du groupe ;

  • groupe_id = numéro du groupe ;

  • groupe_role = rôle de l'utilisateur dans ce groupe (administrateur ou utilisateur) ;

  • emprises{} = liste des emprises liées au groupe:

    • emprises{}.code_insee = code de l'emprise, généralement insee

    • emprises{}.code_type = type de l'emprise, généralement une collectivité

      • Zone de collecte IGN, ZC suivi de 3 chiffres

      • EPCI (code SIREN), code SIREN (9 caractères)

      • Département (code INSEE)

      • Collectivité d'outre-mer (code INSEE)

      • Région (code INSEE)

      • Commune (code INSEE)

      • Territoire, FXX, MTQ, MYT...

      • Autre

  • themes.complets{} = liste des thèmes disponibles à la contribution pour ce groupe:

    • themes_complets{}.theme_nom = nom du thème ;

    • themes_complets{}.theme_description = description (si elle existe) du thème ;

    • themes_complets{}.theme_json_complet = contenu intégral du json descriptif du thème ;

    • themes_complets{}.id_profile = identifiant de la communauté d'origine du thème.

Si l'utilisateur n'appartient à aucun groupe, ce FeatureType de sortie n'existe pas.

La liste emprises{} est triée par ordre alphabétique ascendant sur la concaténation <emprises{}.code_type>_<emprises{}.code_insee>.

La liste themes_complets{} est triée par ordre alphabétique ascendant sur themes_complets{}.theme_nom.

Thèmes_complets

Permet d'avoir la liste des thèmes disponibles à l'utilisateur :

  • theme_nom = nom du thème ;

  • theme_description = description (si elle existe) du thème ;

  • theme_json_complet = contenu intégral du json descriptif du thème ;

  • groupes{}.groupe_nom = liste des nom de groupes dans lesquels ce thème est ouvert à la contribution ;

  • groupes{}.groupe_id = liste des identifiants de groupes dans lesquels ce thème est ouvert à la contribution ;

  • groupes{}.groupe_role = rôle de l'utilisateur dans ce groupe (administrateur ou utilisateur).

Si l'utilisateur n'appartient à aucun groupe, ce FeatureType de sortie n'existe pas.

La liste groupes{} est triée par ordre numérique ascendant sur groupes{}.groupe_id.

Thèmes_partagés

Si l'utilisateur n'appartient à aucun groupe, il a cependant accès aux thèmes par défaut / partagés :

  • groupe_nom = nom du groupe ;

  • groupe_id = numéro du groupe ;

  • theme_actif = nom du thème ;

  • theme_description = description du thème ;

  • theme_attributs = attributs présent dans le thème (s'il y en a).

Dans le cas d'un utilisateur appartenant à au moins un groupe, ce type d'entités de sortie n'existe pas.

Rejected

Les erreurs ressortent par ce port :

  • fme_rejection_code = code de l'erreur ;

  • fme_rejection_message = descriptif de l'erreur ;

  • login = login saisi lors de la connexion.

Paramètres

IGNFCollaboratifContextConnector nécessite la saisie (ou le pilotage via des paramètres utilisateurs) de deux paramètres :

IGNFCollaboratifContextConnector parameters

  • Paramètres obligatoires : - Login : pseudo de l'utilisateur de l'Espace Collaboratif à utiliser pour l'authentification, qui doit être en minuscule et d'au moins 3 caractères ; - Mot de passe : mot de passe associé à cet identifiant.

Disponibilité et métriques d'usage

Disponibilité

Le site web Espace Collaboratif est monitoré par des sondes UptimeRobot, en particulier la route GET /users/me utilisée par IGNFCollaboratifContextConnector

L'authentification, au travers de la Géoplateforme, est monitorée par des sondes UpTrends, notamment la sonde d'"Identity and Access Management" (IAM):

Métriques d'usage

Aucune statistique d'usage de IGNFCollaboratifContextConnector n'est actuellement disponible.

Développement

IGNFCollaboratifContextConnector est disponible pour être utilisé uniquement en mode lié (Insert Mode > Linked Always). Voir la documentation FME sur l'export de Transformers personnalisés en français ou en anglais (Export as Custom Transformer).

Auteurs

Développeur(s) :

MUSCARNERA Laurent, PY Nicolas, HARDY Thomas (IGN)

Testeur(s) :

PY Nicolas, MUSCARNERA Laurent, HARDY Thomas (IGN)

Documentation :

PY Nicolas, MUSCARNERA Laurent, HARDY Thomas (IGN)

Historique de versions de IGNFCollaboratifContextConnector

Version

Date (desc)

Commentaire

2

2024-11-18

Release v2 publique (compatible API Espace Collaboratif v4.0), publication sur le VStore.

2

2024-07-04

Release v2 interne, compatible API Espace Collaboratif v4.0.
Réalisation de l'évolution souhaitée: Fusionner les Outputs 'Communauté' et 'Thèmes complets'.
Dans la route GET /users/me : active_themes remplacé par shared_themes qui contient uniquement les thèmes partagés.
Systématisation de l'emploi de noms d'attributs "jetables" (leur nom commence par le caractère _) dans le Transformer afin de protéger les attributs et valeurs des Feature entrantes.
Modification de l'en-tête émis par les HTTPCaller.

1

2024-01-18

Release V1

1

2023-12-31

Release V1 interne

1

2023-06

Release beta

La documentation de la v1 est disponible via le cliché Wayback Machine IGNFCollaboratifContextConnector.

Bugs connus

Le Transformer IGNFCollaboratifContextConnector ne fait à ce jour l'objet d'aucun bug connu.

Aperçu

Le Transformer IGNFCollaboratifContextConnector est composé d'environ 65 Transformers. IGNFCollaboratifContextConnector aperçu

rTest

Le Transformer IGNFCollaboratifContextConnector bénéficie de 67 tests, répartis en 13 scénarios.

Ils permettent de vérifier que le comportement du Transformer est correct dans les différents cas d'authentification (véracité des login et mots de passe), ainsi que selon l'appartenance du compte à 0,1,n communautés. Ils permettent en outre de s'assurer que le type d'entités des entités sortantes est conforme.

IGNFCollaboratifContextConnector rTest