ImportCsv » History » Version 9

Anonymous, 03/04/2009 05:42 PM

1 2 jmd
== Module d'importation CSV ==
2 1 jmd
3 1 jmd
4 2 jmd
* L'utilisateur dispose d'un fichier CSV au format X avec n champs
5 1 jmd
6 4 jmd
===  Cas d'utilisation ===
7 4 jmd
8 4 jmd
Ajouté par Remi.
9 4 jmd
10 9 jmd
Il semble intéressant de distinguer les différents cas d'utilisation de l'outil d'import
11 4 jmd
12 4 jmd
 * Migration depuis un autre gestionnaire de parc
13 4 jmd
14 4 jmd
Il s'agit de l'import le plus complet, puisque destiné à reprendre l'existant d'un autre outil.
15 4 jmd
16 4 jmd
 * Livraison fournisseur
17 4 jmd
18 4 jmd
Dans le cas ou le fournisseur accepte de fournir un bon de commande électronique, il s'agit donc de créer dans GLPI les machines qui sont stockées. Les informations seront complétées lors du déploiement (installation de l'OS et de l'agent d'inventaire).
19 4 jmd
20 4 jmd
Dans ce cas le fichier contiendra peu d'informations (essentiellement le N° de série)
21 4 jmd
22 4 jmd
Les informations financières (date de livraison, etc) "pourront" être renseignées de manière globale (valeur identique pour toutes les machines)
23 4 jmd
24 4 jmd
 * Enrichissement des données 
25 4 jmd
26 4 jmd
Il s'agit de compléter les données (ex données financières) pour des ordinateurs existant dans GLPI.
27 4 jmd
28 5 walid
Remarques de Walid :
29 6 walid
 * Il faut prévoir un mécanisme de gabarits. En effet, on a toujours importer des fichiers de même type (ordinateurs, imprimantes, etc). On doit donc pouvoir définir une fois pour toute la structure de l'import, afin que les administrateurs n'aient pas forcément à le faire (à chaque fois, ou pas du tout).
30 6 walid
 * il faut une notion de backend, pour pouvoir importer des données depuis d'autres formats que csv (même si dans un premier temps on ne fait que csv)
31 1 jmd
32 7 jmd
Remarques de Jmd en réponse à Walid : cela rejoint totalement ce que je proposais à savoir la possiblité de sauvegarder ses règles de mapping pour des actions récurrentes. CF étape 3.
33 7 jmd
34 6 walid
=== Etape 1 : choix du backend ===
35 1 jmd
36 6 walid
Indiquer que type de fichier on veut injecter (csv ou autre).
37 6 walid
38 6 walid
===  Etape 2 : Upload ===
39 6 walid
 
40 2 jmd
Téléchargement du fichier CSV et information sur la structure primaire du fichier (le fichier contient une entête ou pas).
41 2 jmd
42 6 walid
=== Etape 3 : Mapping ===
43 2 jmd
44 1 jmd
Il est proposé à l'utilisateur de choisir :
45 3 jmd
46 1 jmd
- Les éléments concernés : ordinateurs, contacts ...
47 3 jmd
48 1 jmd
- Le mapping entre les élements du fichier CSV et les champs destinataires
49 1 jmd
50 1 jmd
Le moteur parse le fichier afin de lister les champs.
51 1 jmd
52 1 jmd
On présente un tableau à l'utilisateur. 
53 1 jmd
54 1 jmd
| Mapping | Headers | Col1 | Col2 | ...
55 1 jmd
56 1 jmd
| Dropdown | Modele | xab   | zab
57 1 jmd
58 1 jmd
Le dropdown présente par défaut la valeur "pas de mapping" et est peuplé des champs émanant de la DB autorisés pour le mapping.
59 1 jmd
Prévoir la définition d'un tableau listant les champs autorisés (qui par ailleurs peuvent ne pas dépendre des mêmes tables ex : gest fi).
60 1 jmd
61 1 jmd
62 1 jmd
Il est indispensable de rendre obligatoire* la sélection de certains éléments pour le mapping : exemple le nom pour un contact, le nom pour une imprimanten numéro de série etc....
63 1 jmd
64 1 jmd
Ces champs obligatoire constituent les éléments discriminants pour gérér les doublons.
65 1 jmd
66 1 jmd
On peut prévoir la possibilité de sauvegarder ses règles de mapping pour des imports récurrents identiques. Dans ce cas, lors de cette étape il sera possible de choisir les règles de mapping déjà établies.
67 1 jmd
68 1 jmd
Exemple :
69 1 jmd
70 1 jmd
laserjet 126 -> name
71 1 jmd
72 1 jmd
laserjet 3030 -> model
73 1 jmd
74 1 jmd
132123121321132 -> serial
75 1 jmd
76 1 jmd
blblblalbalbal -> comments
77 1 jmd
78 1 jmd
16 -> ramSize
79 1 jmd
80 1 jmd
HP  -> Fabriquant
81 1 jmd
82 8 walid
=== Etape 4 : Informations à saisir ===
83 8 walid
Il faut pouvoir indiquer un certain nombres de champs que l'utilisateur doit rentrer manuellement lors de l'import. Par exemple lors de l'import d'un fichier d'ordinateurs, on doit pouvoir demander à l'utilisateur d'indiquer le fournisseur, la date de livraison ou toute autre information financière.
84 8 walid
85 8 walid
=== Etape 5 : Injection ===
86 1 jmd
87 1 jmd
Une fois le mapping fait, le moteur injecte les données en
88 1 jmd
parsant le fichier et en ignorant les champs qui n'ont pas été mappés.
89 1 jmd
90 1 jmd
Les doublons ne sont pas importés : comparaison entre l'élément importé et la DB à partir des éléments de mapping obligatoire.
91 1 jmd
92 1 jmd
On présente le nombre d'import et un tableau récapitulatif des éléments importés avecc la possibilité des les éditer ou des les effacer.
93 1 jmd
94 1 jmd
Il peut être intéressant de prévoir une annulation complète de l'importation.