Ce module permet d'importer des taxinomies, des structures ou de simples listes de termes dans un vocabulaire à partir d'un fichier CSV ou d'un texte copié-collé.
Si vous ne savez pas comment créer un fichier CSV, vous pouvez utiliser OpenOffice Calc ou un autre tableur pour exporter vos données dans un fichier CSV.
Pour importer des termes, l'utilisateur doit avoir les droits d'accès suivants :
- Module system / accéder aux pages d'administration ;
- Module taxonomy / administrer la classification ;
- Module taxonomy_csv / Gérer les taxinomies par csv.
Quatre éléments doivent être paramètrés pour importer les termes.
1. Que voulez-vous importer (contenu de la source) ?
La source peut être configurée avec le premier groupe d'options. La première colonne indique toujours le nom du terme importé. Vous pouvez indiquer comment les colonnes suivantes doivent être importées.
- Termes seuls
-
Les termes sont importés comme de simples termes. Les colonnes suivantes sont ignorées. Exemple :
- Termes (vocabulaire plat)
-
Cette option permet d'importer un ensemble de termes de manière à créer un vocabulaire plat. Tous les éléments du fichier seront importés en tant que termes. Exemple :
Vétements, Arbres, Maisons
Paris, Drupal
- Structure hiérarchique ou en tableau d'un terme par ligne
-
Cette option permet de créer la structure d'un vocabulaire (arborescence). Votre fichier peut être écrit selon deux schémas.
Dans le premier schéma, vous devez indiquer tous les ancêtres de chaque terme. La deuxième colonne sera importée comme un enfant du terme de la première colonne. La troisième colonne sera importée comme un enfant du terme de la deuxième colonne et ainsi de suite. Les lignes peuvent avoir n'importe quel ordre. Exemple:
Animal,Mammifère,Baleine
Animal,Mammifère,Singe
Attention : lorsqu'un enfant est ajouté ou mis à jour, la ligne doit contenir tous ses ancêtres. Ainsi, une troisième ligne pourrait être :
mais pas :
car dans ce cas, < Mammifère
> serait importé comme terme de premier niveau et non comme un enfant du terme < Animal
> comme dans la ligne précédente.
Dans le schéma "structure en tableau d'un terme par ligne", vous pouvez importer les termes sans répéter tous les ancêtres si la ligne précédente les contient. Ce mode est très pratique pour importer une structure depuis un tableur. Il permet également de construire facilement une structure et de télécharger un fichier plus léger. Votre hiérarchie peut être présentée de la façon suivante :
Monde | | | |
| Asie | | |
| | Japon | |
| | | Tokyo |
| | Corée | |
| | | Séoul |
Ainsi, les premières lignes de votre fichier csv seraient :
Monde
,Europe
,,France
,,,Paris
< Paris
> sera automatiquement ajouté comme enfant du terme < France
>.
Les lignes peuvent être partielles. Ainsi, une cinquième ligne pourrait être :
< Suisse
> serait alors ajouté comme enfant d'< Europe
> et bien sûr < Bern
> comme enfant de < Suisse
>.
De la même façon, les lignes 1 à 4 ci-dessus peuvent être simplifiées en :
Monde,Europe,France,Paris
Les lignes complètes, avec un seul terme ou partielles peuvent être mélangées, mais l'ordre est pris en compte deux lignes par deux. Dans cet exemple, si les quatrième et cinquième lignes sont interverties, < Paris
> deviendrait un enfant de < Suisse
>.
- Termes liés (termes connexes)
-
Attention : sous Drupal 7, les termes liés ont été supprimés et remplacés par les champs (fields). Cette option est donc disponible seulement avec Drupal 6.
Cette option permet de créer des liens entre les termes comme les "voir aussi" dans une encyclopédie. La deuxième colonne et les suivantes seront importées en tant que termes connexes du terme de la première colonne. Par exemple, une ligne pourrait être :
Baobab, Madagascar, Fantôme
Ainsi, < Baobab
> renverra à < Madagascar
> et à < Fantôme
>. Une option permet de créer également les sous-relations, en l'occurrence entre < Madagascar
> et < Fantôme
> (voir ci-dessous).
- Description du terme
-
La seconde colonne sera importée comme description du terme défini dans la première colonne.Exemple :
"Baobab","Un arbre africain"
- Poids des termes
-
La seconde colonne sera importée comme poids du terme défini dans la première colonne. Exemple :
- Termes synonymes
-
La deuxième colonne et les suivantes seront importées comme termes synonymes du terme de la première colonne. Exemple :
"Royaume Uni","Grande-Bretagne","Angleterre"
2. Où se trouvent les termes à importer ?
Vous pouvez importez les termes à partir d'un fichier ou avec une zone de texte. Sélectionnez simplement votre choix.
Si l'importation échoue par l'un des deux moyens, généralement en raison de problèmes de format ou des restrictions du serveur, vous pouvez essayer l'autre moyen puisque le processus de téléchargement est différent.
Les paramètres avancés permettent de choisir le séparateur de champ et le format du fichier (voir ci-dessous).
3. Où importer les termes (vocabulaire cible) ?
Vous pouvez importer vos termes dans un vocabulaire existant ou en créer un nouveau. Vous pouvez également importer vos termes dans une copie d'un vocabulaire existant.
Quand vous voulez importer une nouvelle liste dans une taxinomie existante, il est recommandé de procéder en trois étapes de façon à garantir la qualité de l'importation.
- D'abord, vérifier le fichier d'importation en choisissant l'option < Autocréer un nouveau vocabulaire >. Répéter cette étape tant qu'il y a des avertissements et des messages.
- Ensuite, vérifier la fusion entre les nouveaux termes et les termes existants avec l'option < Dupliquer un vocabulaire existant >. Ce choix crée une copie de votre vocabulaire cible et y importe les termes. Les attachements aux nœuds ne sont pas copiés.
- Enfin, vous pouvez importer votre fichier dans le bon vocabulaire avec l'option < Importer dans un vocabulaire existant >. Cela permet de conserver les liens entre les termes et les nœuds.
Si vous voulez seulement créer un nouveau vocabulaire, le premier choix est suffisant, à moins que vous avez plusieurs fichiers pour un vocabulaire.
4. Comment importer les termes ?
La destination peut être configurée avec le second groupe d'options. Vous pouvez définir ce que deviendront les termes existants. Jusqu'à quatre choix sont possibles selon le contenu de la source :
- Mettre les termes à jour et fusionner avec l'existant
-
Met à jour les termes existants lorsque le nom correspond avec celui des termes importés et fusionne les descriptions, parents, synonymes et termes connexes existants. Les doublons sont supprimés. Ce choix est conseillé si vous voulez conserver un vocabulaire et si vous avez des descriptions, des parents, des synonymes et des termes connexes que vous ne voulez pas perdre.
- Mettre les termes à jour et remplacer l'existant
-
Met à jour les termes existants si le nom correspond à celui des termes importés, mais remplace les descriptions, les parents, les termes synonymes et connexes existants. Choisissez cette option si vous voulez créer proprement un nouveau vocabulaire sans perdre les termes existants.
Attention : s'il n'y a pas de description, parent, synonyme ou terme connexe, c'est-à-dire si la ligne contient seulement un terme dans la première colonne, cela supprimera l'existant.
- Ignorer les termes existants et en créer de nouveaux
-
Conserve les termes existants tels qu'ils sont et crée un nouveau terme pour le terme de la première colonne.
Attention : cela peut créer des doublons. Cette option est conseillée seulement si vous êtes sûr que la taxinomie importée contient seulement des termes nouveaux ou si votre vocabulaire autorise les parents multiples.
- Ignorer tous les termes et en créer de nouveaux
-
Crée un nouveau terme pour chaque terme de la ligne.
Paramètres avancés et conseils
-
Le séparateur (virgule "
,
" par défaut, point-virgule ";
" ou tabulation) entre les termes peut être choisi dans les paramètres avancés du deuxième groupe d'options. Le séparateur peut également être personnalisé. Il peut avoir plusieurs caractères, mais seulement pour l'importation par la zone de texte. Exemple avec le séparateur < ¤
> :
terme 1¤Ce champ contient des virgules, un point-virgule (;), des guillemets (") et une tabulation, mais il est correctement importé.
-
Il est conseillé de protéger les termes par des caractères de délimitation tels que les guillemets (
"
), notamment s'ils contiennent des caractères non-ASCII ou si les éléments importés, en particulier les descriptions, contiennent le séparateur choisi. Exemple:
"terme 1","Ce champ contient une virgule, mais il sera correctement importé."
Vous pouvez choisir un caractère de délimitation personalisé dans les paramètres avancés du deuxième groupe d'options. Il peut avoir plusieurs caractères, mais seulement pour l'importation par la zone de texte.
-
Il est conseillé d'utiliser la zone de texte ou un fichier encodé au format utf8 pour éviter les problèmes avec les termes non-ASCII.
-
Si votre serveur ne supporte pas la conversion en utf8, une option permet de la désactiver dans le deuxième groupe d'options.
-
Si vous voulez importer une taxinomie importante et que vous ne pouvez pas modifier les temps et mémoire maximum autorisés, vous pouvez activer l'option
Importation en plusieurs étapes
dans le cinquième groupe d'options. Cette option divise automatiquement la taxinomie par le nombre de lignes indiquées (100 par défaut). Vous devrez alors simplement cliquer sur un bouton pour importer chaque ensemble de lignes.
-
Attention: la fonction "Lister les termes" par défaut de Drupal peut engendrer des erreurs de mémoire avec les taxinomies de taille importante. Dans ce cas, il est préférable d'utiliser un autre gestionnaire de taxinomies tel que Taxonomy manager.
-
Si vous voulez importer à la fois des termes enfants, des descriptions, des poids, des termes synonymes et connexes et une structure hiérarchique, vous devez commencer par le fichier contenant la structure hiérarchique des parents et des enfants. Ainsi, vous devez d'abord importer le fichier des termes enfants en choisissant l'option Noms des termes enfants. Ensuite, vous pouvez importer les autres fichiers en choisissant l'option adéquate et l'une ou l'autre option Mettre à jour...
-
Attention : si 1) le choix de la source n'est pas "Ignorer" les colonnes supplémentaires, 2) le fichier ou une ligne dans le fichier contient seulement une colonne et 3) vous choisissez "Mettre à jour et remplacer", le processus d'importation deviendra un processus de suppression des éléments correspondants (les termes de la première colonne sont toujours conservés ou importés).
Un autre module Drupal permet également l'mportation d'une taxinomie par le biais d'un fichier CSV, malgré son nom : taxonomy XML. Son approche est différente. Il utilise un fichier unique conforme à la norme ISO 2788 sur les thésaurus, en l'occurrence un fichier CSV à trois colonnes : premier terme, type de lien, second terme
, ou, pour les specialistes, sujet, prédicat, objet
. Pour Drupal 4.7 et Drupal 5, taxonomy batch operations peut également être utilisé. Vous pouvez donc choisir le module correspondant le mieux à vos besoins.