Ce module permet d'importer des taxinomies, des structures ou de simples listes de termes dans un vocabulaire à partir d'un fichier CSV, d'une url ou d'un texte copié-collé.

Le format csv correspond à une simple liste de valeurs séparées par un séparateur, souvent une virgule(,) ou un point-virgule (;), et des caractères de délimitation, souvent les guillemets ("). 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.

Sommaire

  1. Que voulez-vous importer (contenu de la source) ?
    1. Termes seuls
    2. Définitions complètes de termes et liens
    3. Termes (vocabulaire plat)
    4. Structure hiérarchique ou en tableau d'un terme par ligne
    5. Structure polyhiérarchique
    6. Parents de premier niveau d'une liste de termes
    7. Enfants de premier niveau d'une liste de termes
    8. Termes associés (termes connexes)
    9. Définitions complètes de termes
    10. Descriptions des termes
    11. Poids des termes
    12. Termes synonymes
    13. Export de Taxonomy manager
  2. Où se trouvent les termes à importer ?
  3. Où importer les termes (vocabulaire cible) ?
  4. Comment importer les termes ?
  5. Paramètres avancés et conseils
    1. Import de grosses taxinomies
    2. Séparateurs et délimiteurs
    3. Permissions
    4. Autres conseils

1. Que voulez-vous importer (contenu de la source) ?

La source peut être configurée avec le premier groupe d'options. Le plus souvent, la première colonne indique le nom du terme importé. Vous pouvez indiquer comment les colonnes suivantes doivent être importées.
La structure du vocabulaire doit être importée en premier lorsque plusieurs fichiers sont utilisés. Il faut donc choisir d'abord les options Définitions et liens, plat, structure, polyhiérarchie, premier niveau de parents ou d'enfants avant les options relations, descriptions, etc.

1. Termes seuls

Les termes sont importés comme de simples termes. Les colonnes suivantes sont ignorées. Exemple :

Cette option permet d'importer la définition complète d'un terme ainsi que ses liens avec les autres termes.

Le format est : nom du terme, id du terme, nom ou id du vocabulaire, description, poids, nombre de synonymes, nombre de parents de premier niveau, nombre d'enfants de premier niveau, nombre de termes associés, liste des synonymes, liste des parents de premier niveau, liste des enfants de premier niveau, liste des termes associés, liste des noms ou id des vocabulaires des termes associés.

Seul le nom doit être défini, les autres valeurs pouvant être vides. L'identifiant du terme est nécessaire seulement pour les termes doublons. Exemple avec un synonyme, deux parents directs, pas d'enfants et une relation avec un terme d'un autre vocabulaire :

Une option plus simple, Définitions complètes de termes, permet d'importer les seules définitions.

3. 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 :

4. Structure hiérarchique ou en tableau d'un terme par ligne

Cette option permet de créer la structure arborescente d'un vocabulaire (géographie, classification...). Pour importer une hiérarchie à plusieurs parents, il est préférable d'utiliser les importations "Polyhiérarchie", "Enfants de premier niveau" ou "Parents de premier niveau".
Votre fichier peut être écrit selon deux schémas et un mixte.

Premier schéma: tous les ancètres d'un terme
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:

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.
Second schéma: structure en tableau d'un terme par ligne
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 :
< Paris > sera automatiquement ajouté comme enfant du terme < France >.
Schema mixte

Les lignes peuvent être partielles. Ainsi, la ligne suivante 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 ci-dessus peuvent être simplifiées en :

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, sauf lorsque toutes les lignes sont complètes. Dans cet exemple, si les cinquième et sixième lignes sont interverties, < Séoul > deviendrait un enfant de < Japon >.

5. Structure polyhiérarchique

Cette option permet de créer une structure polyhiérarchique telle qu'une généalogie.
Le format est le même que le précédent : chaque terme est l'enfant du précédent : parent, enfant, petit-enfant... et ainsi de suite.
Cependant, quatre points différent. Premièrement, le premier élément ne doit pas forcément être une racine. Deuxièmement, les doublons sont toujours fusionnés, sauf lorsque l'un est parent direct de l'autre, ceci étant interdit dans Drupal. De ce fait, dans le cas d'un vocabulaire monohierarchique sans doublons non-direct, comme l'exemple géographique ci-dessus, le résultat est le même qu'avec l'option précédente. Troisièmement, les lignes peuvent également être partielles, mais dans certains cas de doublons, le résultat sera différent. Enfin, la polyhierarchie peut être récursive.
Par exemple, des lignes peuvent être :

6. Parents de premier niveau d'une liste de termes

Cette option permet d'importer un vocabulaire dans lequel les termes peuvent avoir plusieurs parents, comme dans une généalogie (polyhierarchy).
Le premier élément est importé en tant que terme et les suivants en tant que parents de premier niveau du terme. Par exemple, des lignes peuvent être :

7. Enfants de premier niveau d'une liste de termes

Cette option permet d'importer un vocabulaire dans lequel les termes peuvent avoir plusieurs parents, comme dans une généalogie (polyhierarchy).
Le premier élément est importé en tant que terme et les suivants en tant qu'enfants de premier niveau du terme. Par exemple, des lignes peuvent être :

Les trois exemples précédents correspondent au même vocabulaire lorsque l'option des termes existants est "mettre à jour et fusionner", ce qui est l'option recommandée.

8. Termes associés (termes connexes)

Attention : sous Drupal 7, les termes associés ont été supprimés et remplacés par les champs (fields). Cette option est donc disponible seulement avec Drupal 6. Pour disposer de la même fonctionnalité, il faut créer un champ 'relations'.
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 :

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).

9. Définitions complètes de termes

Cette option permet d'importer des définitions complètes de termes.Le format est : nom, poids, description, liste des synonymes éventuels. Exemple :

Un autre choix, Définitions complètes de termes et liens, permet d'importer non seulement les définitions, mais également les liens.

10. Descriptions des termes

La seconde colonne sera importée comme description du terme défini dans la première colonne. Exemple :

11. Poids des termes

La seconde colonne sera importée comme poids du terme défini dans la première colonne. Exemple :

12. Termes synonymes

La deuxième colonne et les suivantes seront importées comme termes synonymes du terme de la première colonne. Exemple :

13. Export de Taxonomy manager

Ce format est utilisé par Taxonomy manager pour exporter des vocabulaires. Les colonnes sont : identifiant du vocabulaire, identifiant du terme, nom du terme, description du terme, parent 1 de premier niveau, ..., parent n de premier niveau. Example:

Dans ce format, l'ordre des lignes est important : il est impossible d'attacher un parent à un terme si ce parent n'a pas été importé dans une ligne précédente.
Lorsqu'un vocabulaire est importé dans un vocabulaire existant, seule l'option "ignorer et créer" peut être utilisée.

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. L'adresse du fichier peut être un chemin local ou une url.

Les paramètres avancés permettent de choisir le séparateur et le délimiteur de champ.

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.

Si vous voulez seulement créer un nouveau vocabulaire, le premier choix est suffisant, à moins que vous avez plusieurs fichiers pour un vocabulaire.

Quand le contenu de la source est Définitions complètes de termes et liens, la destination est déterminée par la source. Si la troisième colonne est un identifiant, un nouveau vocabulaire sera créé. S'il s'agit d'un nom, un vocabulaire sera créé s'il n'existe pas. Si elle est vide ou égale à zéro, le vocabulaire sera autocréé, dupliqué ou utilisé selon l'option. Il en est de même pour les termes associés.

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.

5. Paramètres avancés et conseils

Import de grosses taxinomies

Pour importer une taxinomie de taille importante (à partir de 1000 ou 10000 lignes selon le serveur) lorsqu'il n'est pas possible de modifier les temps et mémoire maximum autorisés par le serveur, il est d'abord conseillé de désactiver certains modules utilisant les taxinomies tels que "pathauto" avant l'importation. Les paramètres ne sont pas perdus lorsqu'un module est désactivé - et non désinstallé -.
Ensuite, vous pouvez utiliser l'importation par fichier. Vous pouvez également réduire le niveau de détail du journal. Enfin, vous pouvez utiliser les paramètres avancés suivants :

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.

Séparateurs et délimiteurs

Permissions

Pour importer des termes, l'utilisateur doit avoir le droit d'accès suivant :

Ce droit d'accès est souvent associé à :

Autres conseils

Un autre module Drupal permet également l'importation 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 : terme, type de lien (relation, description, synonyme...), élément, ou, pour les specialistes, sujet, prédicat, objet. Les champs supplémentaires sont traités comme le troisième. 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.