La fonction de créations de fiches accessible à partir de Administration > Saisie en masse. Elle permet de créer en une seule action est grand nombre de fiches à partir de données sous forme tabulaire, c’est à dire sous forme de lignes et de colonnes où une ligne correspond à une fiche et une colonne à un type de données.
Cette fonction est particulièrement utile pour l’importation à partir d’autres bases de données SQL ou autres.
Les paramètres de cette fonction sont les suivants :
Champs à traiter
Il s’agit de la liste des champs présents dans les données sous forme tabulaire. Ils doivent être saisis dans l’ordre des colonnes de la table.
Aucun champ n’est obligatoire. Si un champ est absent, il sera vide. Les champs possibles sont rappelés sous la zone de saisie.
Si le champ idcorpus est absent, les fiches se verront attribuer un numéro automatiquement, sinon elles prendront le numéro indiqué. Si le numéro est déjà attribué à une fiche existante, un message d’erreur sera généré.
Si le champ lang est absent, les fiches se verront attribuées la langue de travail de l’administrateur qui réalise l’import. Si le champ est présent, sa valeur doit être un code de langue valide, une erreur sera générée sinon.
De manière générale, les valeurs des différents champs seront traitées exactement de la même manière que lors de la création d’une fiche via le formulaire de saisie. De fait, la page de confirmation de la création de fiches reproduit une version simplifiée de ce formulaire de saisie pour chacune des fiches.
Il est possible d’indiquer dans le même tableau l’indexation ou le liage de la fiche. Pour cela, on indique le nom du thésaurus ou du corpus sous la forme thesaurus_{nom du corpus} et corpus_{nom du thésaurus}, il est également possible de distinguer en fonction de la pondération (exemple : thesaurus_geo:2). On pourra utilement s’inspirer de la syntaxe des différents champs tels qu’ils apparaissent dans le formulaire Administration~> Gestion des corpus~> Gestion de l’interace~> Ordre des composants.
Dans le cas particulier d’un champ Propriété correspondant à une personne principale on a le choix entre un champ unique ou un champ pour chacun des quatre sous-champs (nom, prénom, nom avant, original) sachant qu’aucun n’est obligatoire.
Pour le champ Propriété personne, on a le choix entre :
propriete_personne
ou
propriete_personne:nom
propriete_personne:prenom
propriete_personne:nomavant
propriete_personne:original
Enfin, il est possible de répéter plusieurs fois un champ (sauf pour le champ Idcorpus et le champ Langue de la fiche ou les sous-champs d’une personne). Dans le cas d’un champ Propriété, les valeurs des différents champs sont fusionnés. Dans les cas du champ de Texte principal ou un champ Annexe, les différentes valeurs sont fusionnées avec un saut de ligne. Dans le cas des champs Information, Rédacteurs ou Corpus et Thésaurus, les valeurs des champs sont des items (ou des mots-clés ou des fiches) séparés.
information_langues; information_langues
"fr;zh","en;de"
est équivalent à
information_langues
"fr;zh;en;de"
Origine du texte
Les données tabulaires peuvent être générées à partir de différents logiciels qui ont chacun leur propre protocole d’écriture en ce qui concerne le séparateur de champ et le caractère de fin de ligne d’enregistrement. Les options proposées par le paramètres [su(Origine du texte]] tente de répondre aux cas de figure les plus courants.
Copier-coller à partir d’OpenOffice : lorsque l’on fait un copier-coller à partir d’OpenOffice, chaque champ est séparé par une tabulation et le retour à ligne sert de repère de fin de ligne d’enregistrement ; les éventuels saut de ligne dans les cellules sont remplacés par des espaces ; le copier-coller à partir d’OpenOffice ne permet donc pas de restituer les paragraphes des champs de texte.
Fichier CSV : le format CSV est presque un standard pour les données tabulaires, il faut indiquer le caractère de séparation des champs (la liste déroulante propose les plus classiques) et l’éventuel caractère (apostrophe simple ou double) qui indique le début d’un texte (ce qui permet d’utiliser des caractères spéciaux) ; il y a cependant une différence de standard entre Excel (et OpenOffice qui s’est aligné sur le comportement d’Excel) et d’autres logiciels : sous Excel, lorsqu’un séparateur de texte est présent au sein d’un texte, il est « échappé » en le doublant (" sera remplacé par "") alors que dans le standard il doit être échappé par ] (ce qui donne \" (voir ostermiller.org/utils/CSV.html pour les détails, c’est la bibliothèque libre utilisée pour le traitement du CSV) ; la coche Version Excel permet donc de préciser quelle règle est à suivre.
Fichier texte généré par MySql : MySql permet de générer des fichiers texte à partir de n’importe quelle requête avec l’instruction SELECT INTO OUTFILE
; par défaut, MySql utilise la tabulation pour séparer les champs et le retour à la ligne pour marquer la fin d’une ligne d’enregistrement, la seule différence avec le copier-coller d’OpenOffice est une différence de taille : les tabulations et retour à ligne existant éventuellement sont « échappés » avec le caractère ] ce qui permet de maintenir les paragraphes dans un texte.
La commande SELECT INTO OUTFILE
permet de préciser d’autres séparateurs (voir le manuel de MySql, en particulier l’instruction LINES TERMINATED BY
), il est conseillé en particulier d’utiliser un autre caractère (parmi § ¶ $) que le saut de ligne pour marquer la fin de l’enregistrement, cela permet d’éviter des déboires dues au différence du traitement du saut de ligne par Windows, Mac et le monde Unix.