GRA : Batch d’import du fichier HRAccess dans la base Identity store
Présentation
Ce script permet d’importer dans les tables du plugin “identity store” les données issues du fichier d’export XML des données d’HRAccess.
Le batch utilise un fichier de mapping mapping.properties situé dans le dossier src/main/resources. Ce fichier permet de faire le lien entre un attribut HR Access et un attribut d’identité.
Ressources
Le batch d’import HR Access est disponible sous SVN à l’URL suivante : https://dev.lutece.paris.fr/svn/lutece/portal/trunk/batches/batch-gra-identity
Execution
Le script est situé dans src/bin. (Attention, en environnement de recette interne ou externe, le fichier doit être anonymisé, voir :
gra_anonymisation_fichier_HRAccess)
./batch_gra_identity.sh
Ce script a besoin d’une variable d’environnement PRODUCTS_HOME qui pointe vers le dossier du batch.
Le dossier pointé par PRODUCTS_HOME doit contenir l’arborescence suivante :
- logs : contient les logs du batch
- lib : contient le JAR du composant
batch-gra-identity - lib-ext : contient les dépendances du composant
batch-gra-identity - conf : contient les surcharges de configuration
Configuration :
- Pour surcharger la configuration globale, mettre le nouveau fichier
batch-gra-identity.propertiesà la racine de ce dossier (notamment le chemin vers la base de données). - Pour surcharger le fichier de mapping, mettre le nouveau fichier
mapping.propertiesà la racine de ce dossier. - Pour surcharger le schéma XML, mettre le nouveau fichier
schema.xsddans l’arborescencefr/paris/lutece/batches/gra/identity/.
Voici un exemple d’arborescence :
|-- conf/
| |-- batch-gra-identity.properties
| |-- mapping.properties
| |-- fr/
| | |-- paris/
| | | |-- lutece/
| | | | |-- batches/
| | | | | |-- gra/
| | | | | | |-- identity/
| | | | | | | |-- schema.xsd
|-- lib/
| |-- batch-gra-identity-1.0.0-SNAPSHOT.jar
|-- lib-ext/
| |-- activation-1.1.jar
| |-- aopalliance-1.0.jar
| |-- ...
|-- logs/
Il faut jouer le script SQL create_db.sql situé dans le dossier src/sql afin de créer les tables temporaires nécessaires au traitement dans la base de données contenant les tables d’IdentityStore.
Remarque : attention au type du champ id_attribute qui doit correspondre dans les deux tables “batch_GRA_identity_attribute” et “identity_store_attribute” (ainsi que le moteur de transaction MyIsam ou InnoDb).