Colonne comportement de l'import CSV


Configuration avancée des imports

La fenêtre de configuration d'import permet désormais de définir plus précisément le comportement de l'import pour chaque type de donnée.

Une nouvelle colonne de configuration permet notamment de :

  • contrôler le comportement des champs multivalués ;
  • contrôler le comportement des repeaters ;
  • définir les éléments utilisés pour identifier un contenu existant ;
  • empêcher la création de certains types de contenus.

Ces options permettent d'adapter le comportement de l'import aux différents besoins métier et d'éviter les créations ou les modifications non souhaitées, notamment sur les tables de références.

1. Gérer les champs multivalués

Pour les champs pouvant contenir plusieurs valeurs, il est possible de choisir comment les valeurs provenant de l'import doivent être traitées lorsqu'une valeur existe déjà.

Cliquer sur l'engrenage de la colonne comportement dans une ligné lié a un champ multivalué permet d'ouvrir la fenêtre de configuration permettant de préciser le comportement à adopter

Deux comportements sont disponibles :

Remplacer les valeurs existantes

Les valeurs présentes dans le fichier d'import remplacent les valeurs actuellement enregistrées.

Exemple :

Un contenu possède actuellement les valeurs suivantes pour un champ acceptant des double multiples :

1, 2

Le fichier d'import contient :

2, 3

Après l'import, les valeurs du champ seront :

2, 3

Ajouter aux valeurs existantes

Les valeurs provenant de l'import sont ajoutées aux valeurs déjà présentes.

Exemple :

Un contenu possède actuellement les valeurs suivantes pour un champ acceptant des double multiples :

1, 2

Le fichier d'import contient :

2, 3

Après l'import, les valeurs du champ seront :

1, 2, 2, 3

2. Gérer les repeaters

Les repeaters permettent de gérer plusieurs entrées associées à un même contenu.

La configuration de l'import permet désormais de définir précisément comment ces entrées doivent être traitées.

Tout comme pour les champs multivalués, cliquer sur l'engrenage de la colonne comportement dans une ligné lié a un repeater permet d'ouvrir la fenêtre de configuration permettant de préciser le comportement à adopter pour ce repeater

Tout comme pour le contenu racine, des identifiants peuvent être sélectionnés afin d'identifier une entrée de repeater. 
Si aucun identifiant n'a été séléctionné, on considère que chaque ligne du CSV va créer une nouvelle entrée de repeater.

Quatre comportements sont disponibles :

Ajouter/modifier les entrées

Les entrées présentes dans le fichier d'import sont ajoutées si elles n'existent pas encore, ou modifiées si elles existent déjà.

C'est le comportement permettant de mettre à jour les entrées existantes tout en ajoutant les nouvelles entrées.

Exemple :

Le contenu possède les entrées suivantes :

Identifiant

Valeur

A

Paris

B

Toulouse

Le fichier d'import contient :

Identifiant

Valeur

A

Lyon

C

Bordeaux

Après l'import :

Identifiant

Valeur

A

Lyon

B

Toulouse

C

Bordeaux

L'entrée A est modifiée, l'entrée C est ajoutée et l'entrée B, qui n'est pas concernée par l'import, est conservée.

Ajouter uniquement les entrées inexistantes

Seules les entrées qui n'existent pas encore sont ajoutées.

Les entrées déjà existantes ne sont pas modifiées.

Exemple :

Le contenu possède :

Identifiant

Valeur

A

Paris

B

Toulouse

Le fichier d'import contient :

Identifiant

Valeur

A

Lyon

C

Bordeaux

Après l'import :

Identifiant

Valeur

A

Paris

B

Toulouse

C

Bordeaux

L'entrée A reste inchangée et seule l'entrée C est ajoutée.

Modifier uniquement les entrées existantes

Seules les entrées déjà présentes sont modifiées.

Les entrées présentes dans le fichier mais qui n'existent pas encore ne sont pas créées.

Exemple :

Le contenu possède :

Identifiant

Valeur

A

Paris

B

Toulouse

Le fichier d'import contient :

Identifiant

Valeur

A

Lyon

C

Bordeaux

Après l'import :

Identifiant

Valeur

A

Lyon

B

Toulouse

L'entrée A est modifiée, tandis que l'entrée C, qui n'existe pas encore, n'est pas ajoutée.

Remplacer les valeurs

Les valeurs des entrées du repeater sont remplacées par celles provenant du fichier d'import.

Ce mode permet de considérer les valeurs importées comme la source de référence pour le repeater.

Exemple :

Le contenu possède :

Identifiant

Valeur

A

Paris

B

Toulouse

Le fichier d'import contient :

Identifiant

Valeur

A

Lyon

C

Bordeaux

Après l'import, les valeurs du repeater correspondent à celles du fichier d'import :

Identifiant

Valeur

A

Lyon

C

Bordeaux

Les valeurs qui n'apparaissent pas dans le fichier d'import sont supprimées.

Résumé

Comportement

Entrées existantes

Entrées inexistantes

Ajouter/modifier les entrées

Modifiées

Ajoutées

Ajouter uniquement les entrées inexistantes

Conservées

Ajoutées

Modifier uniquement les entrées existantes

Modifiées

Ignorées

Remplacer les valeurs

Supprimées

Ajoutées

3. Utiliser un sous-élément pour identifier un contenu

Lors d'un import, il est parfois nécessaire de déterminer de manière plus précise si un contenu existe déjà.

La configuration permet désormais d'indiquer qu'un sous-élément participe à l'identification du contenu.

Cela permet de construire une clé d'identification plus précise qu'avec le seul titre ou autres champs simples directement sous le contenu importé.

Sélectionner un sous élément comme identifiant du contenu racine

Afin de sélectionner un sous-élément comme identifiant du contenu à importer,  cocher la case "Est un identifiant du contenu racine"

 

L'identifiant porte sur le sous-élément lui-même, le champ par lequel on coche la case n'a donc aucun impact : qu'on le sélectionne à partir de l'attribut "souscontenu.a" ou "souscontenu.a", c'est "souscontenu" dans sa globalité qui est considéré comme identifiant du contenu parent.

Un repeater peut lui-même être considéré comme identifiant d'un parent, dans ce cas, on cherche des contenus ayant une entrée de repeater correspondant aux critères

 

Sélectionner un sous élément comme identifiant d'un contenu parent

Afin de sélectionner un sous-élément comme identifiant du contenu parent, cliquer sur l'engrenage de la colonne comportement dans une ligné lié a un sous-élément que l'on veut considérer comme identifiant du contenu à importer.
Une fois la fenêtre de configuration du comportement ouverte, cocher la case "Est un identifiant de [parent]" (Est un identifiant de "Contenu lié (tout type)" (linkContent)) dans l'exemple de la capture d'écran 

Exemple concret : les ELP et leur nature

Imaginons que des ELP soient identifiés par leur titre.

Deux ELP peuvent avoir le même titre tout en étant associés à des natures différentes :

Titre

Nature

Mathématiques

UE

Mathématiques

Module

Si seule la valeur « Mathématiques » est utilisée pour identifier le contenu, les deux ELP risquent d'être considérés comme un seul et même contenu.

Il est désormais possible d'indiquer que la nature de l'ELP fait partie de sa clé d'identification.

L'identification devient alors :

Titre + Nature

Les deux contenus sont ainsi considérés comme distincts :

Mathématiques + UE
Mathématiques + Module

Cette configuration est particulièrement utile lorsque l'unicité d'un contenu dépend d'un ou plusieurs de ses sous-éléments.

4. Empêcher la création de certains types de contenus

Il est également possible d'indiquer qu'un type de contenu ne doit jamais être créé ou modifié par l'import.

Cette option permet de sécuriser les imports lorsque certaines données doivent obligatoirement exister au préalable.

Pour exclure un type de contenu, ouvrir la fenetre de comportement a partir d'un champ lié au contenu qu'on veut exclure, et décocher la case "Les contenus liés peuvent être créées ou modifiées (type de contenu [type de contenu])"

Exemple : empêcher la création d'une nature d'ELP

Reprenons l'exemple des ELP.

On peut considérer que :

  • un ELP peut être créé par l'import ;
  • sa nature doit obligatoirement exister ;
  • une nature inconnue ne doit pas être créée automatiquement.

Dans ce cas, le type de contenu « Nature d'ELP » peut être configuré comme non créable par l'import.

Comportement

Supposons que le fichier contienne :

ELP : Mathématiques
Nature : Cours magistral

Si la nature « Cours magistral » existe déjà, l'import peut créer ou mettre à jour l'ELP.

En revanche, si cette nature n'existe pas, l'import ne crée pas automatiquement une nouvelle nature.

La création de l'ELP est alors bloquée.

Cela permet notamment d'éviter les créations indésirables dues à une erreur de saisie dans le fichier d'import.

Exemple :

Le fichier contient par erreur :

Nature : Cour magistral

alors que la nature existante est :

Cours magistral

Sans cette restriction, l'import pourrait créer une nouvelle nature « Cour magistral ».

En interdisant la création de ce type de contenu, l'import détecte que la nature référencée n'existe pas et empêche la création de l'ELP.

Retour en haut

Content IO