ImportCsv » History » Version 10

Anonymous, 03/04/2009 05:42 PM

1 1 jmd
2 10 jmd
h2. Module d'importation CSV
3 1 jmd
4 10 jmd
5 10 jmd
6 1 jmd
* L'utilisateur dispose d'un fichier CSV au format X avec n champs
7 1 jmd
8 1 jmd
9 10 jmd
h3.  Cas d'utilisation
10 10 jmd
11 10 jmd
12 4 jmd
Ajouté par Remi.
13 1 jmd
14 4 jmd
Il semble intéressant de distinguer les différents cas d'utilisation de l'outil d'import
15 4 jmd
16 10 jmd
* Migration depuis un autre gestionnaire de parc
17 4 jmd
18 4 jmd
Il s'agit de l'import le plus complet, puisque destiné à reprendre l'existant d'un autre outil.
19 4 jmd
20 10 jmd
* Livraison fournisseur
21 4 jmd
22 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).
23 1 jmd
24 4 jmd
Dans ce cas le fichier contiendra peu d'informations (essentiellement le N° de série)
25 4 jmd
26 1 jmd
Les informations financières (date de livraison, etc) "pourront" être renseignées de manière globale (valeur identique pour toutes les machines)
27 1 jmd
28 10 jmd
* Enrichissement des données 
29 4 jmd
30 5 walid
Il s'agit de compléter les données (ex données financières) pour des ordinateurs existant dans GLPI.
31 1 jmd
32 1 jmd
Remarques de Walid :
33 10 jmd
* 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).
34 10 jmd
* 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)
35 1 jmd
36 1 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.
37 1 jmd
38 1 jmd
39 10 jmd
h3. Etape 1 : choix du backend
40 10 jmd
41 10 jmd
42 1 jmd
Indiquer que type de fichier on veut injecter (csv ou autre).
43 1 jmd
44 10 jmd
45 10 jmd
h3.  Etape 2 : Upload
46 10 jmd
47 6 walid
 
48 6 walid
Téléchargement du fichier CSV et information sur la structure primaire du fichier (le fichier contient une entête ou pas).
49 6 walid
50 2 jmd
51 10 jmd
h3. Etape 3 : Mapping
52 10 jmd
53 10 jmd
54 1 jmd
Il est proposé à l'utilisateur de choisir :
55 3 jmd
56 1 jmd
- Les éléments concernés : ordinateurs, contacts ...
57 3 jmd
58 1 jmd
- Le mapping entre les élements du fichier CSV et les champs destinataires
59 1 jmd
60 1 jmd
Le moteur parse le fichier afin de lister les champs.
61 1 jmd
62 1 jmd
On présente un tableau à l'utilisateur. 
63 1 jmd
64 1 jmd
| Mapping | Headers | Col1 | Col2 | ...
65 1 jmd
66 1 jmd
| Dropdown | Modele | xab   | zab
67 1 jmd
68 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.
69 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).
70 1 jmd
71 1 jmd
72 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....
73 1 jmd
74 1 jmd
Ces champs obligatoire constituent les éléments discriminants pour gérér les doublons.
75 1 jmd
76 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.
77 1 jmd
78 1 jmd
Exemple :
79 1 jmd
80 1 jmd
laserjet 126 -> name
81 1 jmd
82 1 jmd
laserjet 3030 -> model
83 1 jmd
84 1 jmd
132123121321132 -> serial
85 1 jmd
86 1 jmd
blblblalbalbal -> comments
87 1 jmd
88 1 jmd
16 -> ramSize
89 1 jmd
90 1 jmd
HP  -> Fabriquant
91 1 jmd
92 10 jmd
93 10 jmd
h3. Etape 4 : Informations à saisir
94 10 jmd
95 1 jmd
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.
96 8 walid
97 10 jmd
98 10 jmd
h3. Etape 5 : Injection
99 10 jmd
100 1 jmd
101 1 jmd
Une fois le mapping fait, le moteur injecte les données en
102 1 jmd
parsant le fichier et en ignorant les champs qui n'ont pas été mappés.
103 1 jmd
104 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.
105 1 jmd
106 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.
107 1 jmd
108 1 jmd
Il peut être intéressant de prévoir une annulation complète de l'importation.