WATERBEAR:Exporter lecteurs
But
Cette article concerne l'exportation des lecteurs afin de faciliter l'importation de ceux-ci dans un autre site.
Contexte
Quand on ouvre la recherche sur les lecteurs, un des formats proposés concerne l'"export des données lecteur". Cette exportation crée un fichier au format HTML alors que l'importation nécessite un fichier texte avec comme séparateur de champs une tabulation. Nous allons ajouter un format correspondant à cette exigence et adapter le premier. Ceci évitera l'adaptation du fichier par un passage par Excel et ses pièges comme décrit dans l'article Exporter et importer.
Adaptation du format d'exportation en HTML
La première étape consiste à modifier l'intitulé de ce format dans le registre. Nous remarquons que ce noeud est:
profiles/defaut/langues/bib/catalogue/formatage/formats_liste/exemplaire/_intitules/tableau_export
Pour une question de cohérence, nous le déplaçons au noeud:
profiles/defaut/langues/bib/catalogue/formatage/formats_liste/lecteur/_intitules/tableau_export
Nous changeons sa valeur: de:
export des données lecteur
elle devient:
export des données lecteur (HTML)
En liaison, le noeud qui y fait référence doit être adapté:
profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/lecteur/formats_liste/tableau_export/parametres/??intitule
dont la valeur devient:
bib/catalogue/formatage/formats_liste/lecteur/tableau_export
Nous remarquons que le fichier à télécharger se nomme "waterbear.xls". Pour une question de clareté, nous voulons le nommer "lecteur.txt". Ceci se passe au noeud:
profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/lecteur/formats_liste/tableau_export/parametres/plugin_formate_liste/parametres/infos_export/html_headers/Content-Disposition
dont la valeur devient:
attachment; filename=lecteur.xls
Aperçu du format d'exportation en HTML
Voici quelques images du résultat.
- Ecran de recherche avec le format "export des données lecteur (HTML)". (note: Toutes les informations sont fictives.)
- Ecran du téléchargement après avoir cliqué sur l'icône "disquette".
- Le fichier résultant ouvert dans un éditeur de texte (Bloque Note).
Adaptation du format d'exportation en Texte
Maintenant il faut créer le format "export des données lecteur (Texte)". Pour y arriver, on duplique tous les noeuds liés au "lecteur" dans le registre pourtant le nom "tableau_export" auquel on donne le nom "tableau_export_txt". Ceci concerne les noeuds:
profiles/defaut/langues/bib/catalogue/formatage/formats_liste/lecteur/_intitules/tableau_export_txt profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/lecteur/formats_liste/tableau_export_txt profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/lecteur/liste/tableau_export_txt profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/lecteur/listes_formats_liste/defaut/parametres/!!tableau_export_txt profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/lecteur/notice/tableau_export_txt
On adapte l'intitulé du premier en remplaçant "(HTML)" en "(Texte)" afin de différentier les intitulés des deux formats.
Dans tous les autres, on repère toutes les valeurs "tableau_export" et on les change en "tableau_export_txt". Ensuite toutes les balises HTML sont supprimés.
Les noeuds dont le nom est "defaut" sont vidés.
Pour la majorité des noeuds "apres" des sous-champs, on met une tabulation dans sa valeur sauf pour le dernier où met un saut de ligne.
La valeur du noeud "profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/lecteur/liste/tableau_export_txt/parametres/avant" est adapté. Il correspond au titre du tableau. Entre chaque nom de champs, on insère une tabulation et en fin, un saut de ligne.
Comme dans le cas précédent (HTML), on adapte l'extension du nom de fichier au niveau du noeud "profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/lecteur/formats_liste/tableau_export_txt/parametres/plugin_formate_liste/parametres/infos_export/html_headers/Content-Disposition" dont la valeur devient "attachment; filename=lecteur.txt" et la valeur du noeud "profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/lecteur/formats_liste/tableau_export_txt/parametres/plugin_formate_liste/parametres/infos_export/html_headers/Content-Type" par "text/plain" qui spécifie son contenu textuel pur.
Aperçu du format d'exportation en Texte
Voici quelques images du résultat.
- Ecran de recherche avec le format "export des données lecteur (Texte)".
- Ecran du téléchargement après avoir cliqué sur l'icône "disquette".
- Le fichier résultant ouvert dans un éditeur de texte (Bloque Note).
Intégration dans le registre
Ces corrections sont a faire dans le registre. A ce stade, vous pouvez les personnaliser. Pour les appliquer, vous pouvez soit les intégrer dans l'écran d'importation au niveau de l'administration du registre, soit exécuter, en commande de ligne sous Linux, le script contenu dans le fichier zippé ci-dessous:
Télécharger le fichier ZIP
Ce fichier est à dézipper sous Linux dans un répertoire de travail quelconque sur la machine où se trouve les sources du site WEB de Waterbear:
unzip lecteur.export.maj.registre.zip
Dans ce répertoire généré, se trouvent un sous-répertoire "registre" contenant les fichiers texte (.txt) où se trouvent les enregistrements à injecter dans le registre. Ce contenu a le format de celui utilisé dans l'interface d'exportation et d'importation de l'administration du registre de Waterbear. On trouve également un fichier de script PHP. Dans ce fichier, il faut adapter la variable "$racinewaterbear" qui doit contenir le chemin de la racine du logiciel WEB de Waterbear où on retrouve le fichier "bib.php". Par exemple, si ce chemin est "/web/waterbear" comme dans notre exemple d'installation, la variable devient (ne pas oublier la barre oblique finale "/"):
$racinewaterbear = "/web/waterbear/";
Ensuite, en commande de ligne sous Linux, positionnez-vous dans le répertoire du script et exécutez-le:
php ./maj.registre.liste.fichier.php