We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

Module d'import CSV

Description

Le module d'import permet d'importer tout type de données (contenu, contenu utilisateur, formulaire, portlet, catégorie) dans votre application Jalios à l'aide d'un fichier csv.


Installation

 

Ce module a été réalisé par WISEN, expert sur les solutions Jalios.

Pour télécharger ce module, rendez-vous sur cette page.

Ajouter ce module avec le gestionnaire de modules depuis l’administration technique et redémarrer l’application 2 fois.

Expertise Web sur-mesure

Présentation

Le module d'import permet d'importer depuis un fichier csv les données suivantes :

  • Contenu
  • Contenu utilisateur
  • Formulaire
  • Portlet
  • Catégories

 

Le module intègre une interface de mapping permettant de lier les champs de votre publication avec les valeurs de votre fichier csv. 

 

Quelques règles et prérequis à prendre en compte :

  • L’import est accessible pour les administrateurs techniques et fonctionnels habilités depuis le back office de JPlateform
  • Les données d’entrées doivent être fournies via un fichier plat de type *.csv généré à partir d’un éditeur type « Excel » (par exemple) et encodé en UTF8 sans BOM
  • Le module crée dans l’application un type de contenu nommé « Import CSV Mapping » permettant de réaliser la liaison entre les champs du contenu cible à importer et les colonnes du fichier source *.csv
  • Ce type de contenu doit être activé sur tous les espaces de travail sur lesquels un import peut être effectué
  • L’import prend en compte les champs à valeur multiple et multilingue
  • A la fin de l’import, un rapport est envoyé par mail à l’adresse renseignée

 

Plusieurs paramètres de module décrits dans la liste des propriétés permettent de personnaliser le mode d’import, les types de séparateur désirés, la mise en place de logs, etc.

 

L’import s’effectue en trois étapes principales :

  • Création et paramétrage du contenu de mapping
  • Import des contenus et état d’avancement
  • Réception des logs d’import et résolution des éventuels liens cassés

 

Création et paramétrage du contenu de mapping

Cette première étape consiste à construire le contenu de mapping permettant de réaliser la liaison entre les champs du contenu cible à importer et les colonnes du fichier source *.csv.

Il faut donc créer un contenu de type « Import CSV Mapping » sur lequel l’import sera joué depuis l’espace de travail :

 importCSvPlugin ajout mapping

 

Et y renseigner les informations de mapping :

 

importCSvPlugin mapping Import 1

importCSvPlugin mapping Import 2

 

Libellé du champ

Editeur

Commentaires

Titre

Champ texte

Titre du contenu de mapping visible en BO.

Type de contenu à importer

Enuméré

Nom JAVA : contentType

Affiche tous les types actifs de l’espace de travail courant.

Séparateur du fichier csv

Champ texte

Nom JAVA : csvSeparator

S’affiche à la sélection du champ « Type de contenu à importer ».

Caractères interdits : * [ ] { } ^

Permet d’indiquer le type de séparateur utilisé pour les valeurs du fichier csv.

Sélection du fichier CSV

Champ sélection fichier

Permet de charger le fichier csv à importer.

S’affiche à la sélection du champ « Type de contenu à importer ».

L'encodage du fichier doit être en UTF-8 (sans BOM).

Langues importées

Champ texte

Nom JAVA : languagesImport

S’affiche à la sélection du champ « Sélection du fichier CSV ».

Affiche toutes les langues actives du site.

Format des dates du fichier CSV

Enuméré

Nom JAVA : dateFormat

S’affiche à la sélection du champ « Sélection du fichier CSV ».

Permet de préciser le format des dates utilisé dans le fichier CSV :

  • dd/MM/yyyy
  • dd/MM/yyyy H:mm
  • MM/dd/yyyy
  • MM/dd/yyyy H:mm

Séparateur champ multilingue

Champ texte

Nom JAVA : languageSeparator

S’affiche à la sélection du champ « Sélection du fichier CSV ».

Par défaut, c’est la valeur du module.

Séparateur champ à valeur multiple

Champ texte

Nom JAVA : multivalueSeparator

S’affiche à la sélection du champ « Sélection du fichier CSV ».

Par défaut, c’est la valeur du module.

Libellé colonne fichier CSV

Enuméré groupé

Nom JAVA : columnsName

S’affiche à la sélection du champ « Sélection du fichier CSV ».

Champ multivalué permettant de sélectionner les colonnes du fichier CSV à importer (titre de chaque colonne).

Libellé du champ du type à importer

Enuméré groupé

Nom JAVA : fieldsName

S’affiche à la sélection du champ « Sélection du fichier CSV ».

Champ multivalué permettant de sélectionner les champs du type de publication ciblé (libellé de chaque champ de publication).

Type de donnée *

Enuméré groupé

Nom JAVA : dataType

S’affiche à la sélection du champ « Sélection du fichier CSV ».

Permet de préciser le type de données ciblé pour chaque colonne du fichier.

Identifiant du contenu source

Champ texte

Ce champ est une ExtraDBData positionnée sur l’ensemble des publications, catégories, groupes et membres afin de gérer les liaisons entre contenus sources importés. Le système doit persister l’identifiant SGBD du contenu source.

 

* Détails sur le type de donnée :

  • Lien vers type de publication (Suivant ID d’origine) : Il s’agit d’un champ qui pointe vers une ou plusieurs publications et dont la valeur est un ID qui ne provient pas de JPlateform (à noter que cet ID est conservé dans un champ « Identifiant du contenu source » de la publication cible).
  • Lien vers type de publication (Suivant ID JPlateform) : Il s’agit d’un champ qui pointe vers une ou plusieurs publications et dont la valeur est un ID JPlateform.
  • Pièces jointes (de type URL) : Il s’agit d’un champ qui pointe vers une ou plusieurs pièces-jointes (création d'un document) et dont la valeur pour récupérer le fichier est une URL.
  • Pièces jointes (de type chemin vers fichier) : Il s’agit d’un champ qui pointe vers une ou plusieurs pièces-jointes (création d'un document) et dont la valeur est le chemin d'accès au fichier.
  • Pièces jointes (de type chemin vers fichier depuis la racine d’un ZIP) : Il s’agit d’un champ qui pointe vers une ou plusieurs pièces-jointes (création d'un document) et dont la valeur est le chemin d'accès au fichier qui est stocké dans un ZIP à charger via le formulaire d’import.
  • Catégorie (suivant ID d’origine) : Il s’agit d’un champ qui pointe vers une ou plusieurs catégories et dont la valeur est un ID qui ne provient pas de JPlateform (à noter que cet ID est conservé dans un champ « Identifiant de la catégorie source » de la catégorie cible).
  • Catégorie (suivant ID JPlateform) : Il s’agit d’un champ qui pointe vers une ou plusieurs catégories et dont la valeur est un ID JPlateform.
  • Catégorie (Recherche par le nom) : Il s’agit d’un champ qui pointe vers une ou plusieurs catégories et dont la valeur est le nom d’une catégorie.
  • Catégorie suivant une arborescence (Recherche par le nom avec création si non trouvée) : Il s’agit d’un champ qui pointe vers une ou plusieurs catégories suivant une arborescence précise. Si l’arborescence n’existe pas dans votre application, elle sera automatiquement créée. Utilisez des « / » ou « \ » pour séparer chaque niveau d’arborescence (exemple de valeur : Catégorie niveau 1/catégorie niveau 2/catégorie niveau 3).
  • Catégorie suivant une arborescence (Recherche par le nom sans création si non trouvée) : Il s’agit d’un champ qui pointe vers une ou plusieurs catégories suivant une arborescence précise. Même si la catégorie n’existe pas dans votre application, elle ne sera pas créée. Utilisez des « / » ou « \ » pour séparer chaque niveau d’arborescence (exemple de valeur : Catégorie niveau 1/catégorie niveau 2/catégorie niveau 3).
  • Groupe (suivant ID d’origine) : Il s’agit d’un champ qui pointe vers un ou plusieurs groupes et dont la valeur est un ID qui ne provient pas de JPlateform (à noter que cet ID est conservé dans un champ « Identifiant du groupe source » du groupe cible).
  • Groupe (suivant ID JPlateform) : Il s’agit d’un champ qui pointe vers un ou plusieurs groupes et dont la valeur est un ID JPlateform.
  • Groupe (Recherche par le nom) : Il s’agit d’un champ qui pointe vers un ou plusieurs groupes et dont la valeur est le nom d’un groupe.
  • Membre (suivant ID d’origine) : Il s’agit d’un champ qui pointe vers un ou plusieurs membres et dont la valeur est un ID qui ne provient pas de JPlateform (à noter que cet ID est conservé dans un champ « Identifiant du membre source » de la fiche du membre cible).
  • Membre (Recherche par l’ID JPlateform) : Il s’agit d’un champ qui pointe vers un ou plusieurs membres et dont la valeur est un ID JPlateform.
  • Membre (Recherche par l’e-mail) : Il s’agit d’un champ qui pointe vers un ou plusieurs membres et dont la valeur est l’e-mail d’un membre.
  • Autre : Il s’agit de tous les autres types de donnée (texte et zone de texte, booléen, énuméré, date, etc…).

 

Import des contenus et état d’avancement

Une fois le contenu de mapping créé, l’import peut être lancé.

Pour cela, il faut vous rendre dans l’administration de l’espace, bloc « Configuration » et cliquer sur le lien « Importer des données » (lien accessible uniquement depuis le leader si vous travaillez sur un environnement à plusieurs réplicas) :

importCSvPlugin administration

 

L’interface d’import s’affiche dans une nouvelle page et se décompose en deux parties :

  • Formulaire d’import permettant de paramétrer le prochain import
  • L’état d’avancement de l’import une fois lancé

 

importCSvPlugin Formulaire Import 

 

Libellé du champ

Editeur

Commentaires

Adresse mail

E-mail

Nom JAVA : reportMail

Adresse mail sur laquelle est envoyé le rapport d’import.

Prend par défaut l’adresse mail de l’utilisateur.

Type de contenu à importer

Enuméré

Nom JAVA : contentType

Affiche tous les types actifs de l’espace de travail courant.

Permet de sélectionner le type de contenu à importer.

Contenu mapping

Enuméré

Nom JAVA : mappingContent

S’affiche à la sélection du champ « Type de contenu à importer ».

Affiche tous les Mapping de l’espace courant associés au type à importer.

Permet de sélectionner le contenu de mapping parmi ceux déjà créés.

Fichier CSV

Champ sélection fichier

Nom JAVA : csvFile

S’affiche à la sélection du champ « Contenu mapping ».

Permet de sélectionner le fichier csv contenant les contenus à importer.

L'encodage du fichier doit être en UTF-8 (sans BOM).

Fichier ZIP des pièces jointes

Champ sélection fichier

Nom JAVA : zipFile

S’affiche à la sélection du champ « Contenu mapping ».

Permet de sélectionner le fichier zip contenant les pièces jointes éventuelles liés aux contenus à importer.

Type de document à créer

Enuméré

Nom JAVA : documentType

Permet de préciser si les documents à importer doivent être créés en tant que DB document (stockage en base) ou Document (stockage dans le store).

Auteur par défaut

Lien sur « Membre »

Nom JAVA : importAuthor

S’affiche à la sélection du champ « Contenu mapping ».

Permet de préciser l’auteur des contenus à importer si aucune correspondance n'est trouvée.

 

Une fois l’import lancé, la page se rafraichit et affiche en temps réelle l’avancé de l’import.

Attention, un seul import peut être lancé à la fois (un message d’avertissement vous sera affiché si vous tentez d’en lancer un autre).

Si un problème technique survient, un retour arrière sur tous les types importés est effectué. Les créations de publication sont supprimées et les publications modifiées reprennent leur version initiale. L’utilisateur est informé via un message d’erreur dans le back office et depuis le fichier des logs d’imports envoyés par e-mail.

 

Réception des logs d’import et résolution des éventuels liens cassés

A la fin de l’import, les logs sont envoyés sur l’adresse e-mail précisée dans le formulaire d’import.

Les logs permettent d’obtenir les informations détaillées du déroulement de l’import et notamment d’obtenir plus de détail sur des éventuels problèmes intervenus (liens cassés, fichiers upload ou champs obligatoires manquant, etc.).

 

Extrait d’un fichier de logs :

importCSvPlugin logs

 

Pour gérer les liens cassés, le module intègre une fonction de résolution. Pour cela, il suffit de se rendre dans l’administration de l’espace et de cliquer sur le lien « Résoudre les liens cassés » dans le bloc « Configuration » :

importCSvPlugin administration résoudre les liens cassés 

 

Ceci vous amène dans la page de résolution des liens dans laquelle vous pouvez lancer la résolution en cliquant sur « Lancer la résolution des liens cassés » :

importCSvPlugin résolution des liens cassés 1 

 

Une fois la résolution terminée, un rapport de résolution est affiché contenant la liste éventuelle des liens cassés non résolus : importCSvPlugin résolution des liens cassés 2

 

Le lien de résolution des liens cassés reste affiché tant qu’il reste des liens cassés non résolus.

 

Informations techniques

Compatibilité JPlateform

Ce module est compatible sur les versions :

  • JPlateform 9 SP1
  • JPlateform 9 SP2 
  • JPlateform 9 SP3
  • JPlateform 9 SP4

 

Compatibilité JSync

Ce module est compatible jSync, il fonctionnera sans problème sur un environnement à plusieurs réplicas.

En revanche, l’accès au formulaire d’import ne s’effectue que depuis le nœud principal.

 

Compatibilité JDK

Ce module est compatible avec la version 1.7 de JDK (Java Development Kit). Si vous êtes sur la version 1.6 de JDK, contactez-nous.

 

Prérequis

Pour une meilleure compréhension et utilisation de ce module, il est conseillé d’avoir suivi les formations JPlateform suivantes :

  • Formation d’administrateur technique
  • Formation d’administrateur fonctionnel

 

Ce module ne dépend d’aucun autre module.

 

Paramétrage

Liste des propriétés

Editez le module pour paramétrer ou modifier ses propriétés :

Propriété

Nom technique

Description

Séparateur du fichier csv

jcmsplugin.importcsvplugin.csv.file.separator

Permet de préciser la valeur par défaut du séparateur proposé dans le contenu « Mapping Import CSV ».

Créer une catégorie Import dans l'espace de travail

jcmsplugin.importcsvplugin.import.create.import.cat.boolean

Tous les contenus importés seront associés à cette catégorie.

Cette option permet de créer une catégorie « Import » dans chaque espace concerné sur laquelle les contenus seront associés. Cela permet notamment de retrouver facilement l’ensemble des contenus importés sans impacter le rattachement de ces contenus à d’autres catégories éventuelles.

Importer la première ligne du fichier *.csv

jcmsplugin.importcsvplugin.import.first.csv.line.boolean

Permet d’indiquer si le fichier d’import contient une ligne d’en-têtes de colonne ou non.

Nom du répertoire des logs d'import

jcmsplugin.importcsvplugin.log.directory

Permet de personnaliser le nom du répertoire contenant les logs d’import.

Adresse mail par défaut de l'émetteur

jcmsplugin.importcsvplugin.mail.from

Permet de personnaliser l’adresse e-mail de l’émetteur des logs d’import.

Séparateur pour les champs multilingue

jcmsplugin.importcsvplugin.multilanguage.separator

Permet de préciser la valeur par défaut du séparateur des champs multilingue proposé dans le contenu « Mapping Import CSV ».

Séparateur pour les champs à valeur multiple

jcmsplugin.importcsvplugin.multivalue.separator

Permet de préciser la valeur par défaut du séparateur des champs à valeur multiple proposé dans le contenu « Mapping Import CSV ».

Taille maximum des fichiers à importer (en Ko)

jcmsplugin.importcsvplugin.upload.max.size

Permet de limiter le poids des fichiers à importer.

Activer l’affinement des logs

jcmsplugin.importcsvplugin.import.first.csv.line.boolean

Permet de modifier le niveau d’affinement des logs d’import.

 

Enregistrement des nouvelles propriétés

Les changements de valeur des propriétés sont pris en compte directement lors de l'enregistrement sans avoir besoin de redémarrer l'application.

 


FAQ

1. Quels types de publications le module permet-il d’importer ?

Il permet d’importer tous les types de publication : contenu, contenu utilisateur, portlet, formulaire.
Il permet également d'importer des catégories.

2. Pourquoi les imports génèrent-ils des liens cassés ?

Lors de l’import, les publications n’étant pas encore créées, les liens avec ces publications ne peuvent pas encore être mis en place. Le système génère donc des liens cassés qui peuvent être résolus en lançant un traitement spécifique qui va repasser sur l’ensemble des publications pour créer les liens. Ce traitement peut être exécuté après l’import depuis l’administration de l’espace, lien « Résoudre les liens cassés ».

3. Dans la liste des données, quelle est la différence entre ID d’origine et ID JPlateform ?

Cette information permet d’indiquer au système où aller chercher l’ID de l’objet en question, en fonction de la donnée de votre fichier d’import.
S’il s’agit de l’ID d’un objet JPlateform connu dans votre application, sélectionnez « ID JPlateform ».
S’il s’agit de l’ID d’une application source, sélectionnez « ID d’origine ».

4. Quelle est le type de donnée attendu derrière la valeur « Autre » ?

Il s’agit de tous les autres types de donnée non indiqués dans la liste.
Exemple : Texte et zone de texte, booléen, énuméré, date, etc…

Information

Version
  • 1.0
Stability
  • Stable
Compatibility
  • JCMS 9
Certified by Jalios
  • No
Price
  • Module payant
Support
  • Supporté par le revendeur
Author
  • WISEN
License
  • Propriétaire
Size
  • 1 KB
Updated
  • 3/14/17
Download
  • 22