Add import feature
[ldapsaisie.git] / doc / conf / LSobject / ioFormat.docbook
1 <sect2 id="config-LSobject-ioFormat">
2   <title>ioFormat</title>
3   <para>Cette section décrit la manière de paramétrer les formats d'import/export
4   pour un type d'&LSobject; donné.</para>
5
6 <para>La configuration des <emphasis>ioFormats</emphasis> se situe dans la
7 configuration des &LSobjects;, dans la variable <varname>ioFormat</varname>
8 (<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['ioFormat']</emphasis>).
9 Cette variable est un tableau associatif dont la clé est l'identifiant du format et
10 dont la valeur associée est la configuration du format.
11 <programlisting>
12 <citetitle>Structure</citetitle>
13 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['ioFormat'] = array (
14   '[ioFormat ID]' => array (
15     'label' => '[Label du type de fichier]',
16     'driver' => '[Pilote d'ioFormat utilisé]',
17     'driver_options' => array([Options du pilote d'ioFormat utilisé]),
18     'fields => array (
19       '[champ 1]' => '[attribut 1]',
20       '[champ 2]' => '[attribut 2]',
21       [...]
22     ),
23     'generated_fields' => array (
24       '[attribute 3]' => '[LSformat]',
25       '[attribute 4]' => '[LSformat]',
26       [...]
27     )
28   ),
29   [...]
30 );]]>
31 </programlisting>
32
33 <variablelist>
34 <title>Paramètres de configuration</title>
35
36 <varlistentry>
37   <term>label</term>
38   <listitem>
39     <simpara>Le label du format</simpara>
40   </listitem>
41 </varlistentry>
42
43 <varlistentry>
44   <term>driver</term>
45   <listitem>
46     <simpara>Le pilote a utilisé pour ce format. Le pilote permet de gérér la lecture
47     et l'écriture dans un type de fichier d'import/export. Pour plus d'information sur
48     les pilotes disponibles, <link linkend='config-LSobject-ioFormat-drivers'>Voir la
49     section concernée.</link></simpara>
50   </listitem>
51 </varlistentry>
52
53 <varlistentry>
54   <term>driver_options</term>
55   <listitem>
56     <simpara>Tableau associatif des options du pilote utilisé pour ce format. Pour
57     plus d'informations, consulter la documentation du pilote utilisé.</simpara>
58   </listitem>
59 </varlistentry>
60
61 <varlistentry>
62   <term>fields</term>
63   <listitem>
64     <simpara>Tableau associatif permettant d'associer un champ du fichier source (la clé)
65     avec attribut de l'objet LDAP (la valeur).</simpara>
66   </listitem>
67 </varlistentry>
68
69 <varlistentry>
70   <term>generated_fields</term>
71   <listitem>
72     <simpara>Tableau associatif permettant de définir des &LSformats; pour générer des valeurs
73     d'attributs automatiquement. Ce tableau contient en clé, le nom de l'attribut à généré,
74     et en valeur associée, le &LSformat; à utilisé. Ce &LSformat; est composé à l'aide des
75     valeurs des autres attributs de l'objet.</simpara>
76   </listitem>
77 </varlistentry>
78
79 </variablelist>
80 </para>
81
82 <sect3 id="config-LSobject-ioFormat-drivers">
83   <title>Pilote d'ioFormat</title>
84   <para>Cette section décrit la manière de configurer les pilotes d'ioFormat utilisés
85   lors des imports/exports d'&LSobjects;.</para>
86
87 <sect4 id="config-LSobject-ioFormat-drivers-CSV">
88     <title>Pilote de fichiers CSV</title>
89     <para>Ce pilote permet de gérer l'import/export de &LSobject; à partir d'un fichier
90     <literal>CSV</literal>. Ce pilote utilise la classe PEAR <application>
91     <ulink url='http://pear.php.net/package/File_CSV_DataSource'>File_CSV_DataSource
92     </ulink></application>. Par défaut, les paramètres de lecture et d'écriture des
93     fichiers sont : la virgule sert de délimiteur, le caractère <literal>"</literal> peut
94     être utilisé pour encadrer les valeurs des champs et la longueur maximale d'une ligne
95     est 999999. Ces paramètres peuvent être modifiés en configurant les options du pilote.
96 <programlisting>
97 <citetitle>Structure</citetitle>
98 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['ioFormat']['[ID ioFormat]']['driver_options'] = array (
99   'delimiter' => '[délimiteur]',
100   'length' => [longueur maximale d'une ligne],
101   'escape' => '[caratère d'encadrement]'
102 );]]>
103 </programlisting>
104
105 <variablelist>
106 <title>Paramètres de configuration</title>
107
108 <varlistentry>
109   <term>delimiter</term>
110   <listitem>
111     <simpara>Le caractère utilisé pour délimiter les champs (Par défault, une virgule).</simpara>
112   </listitem>
113 </varlistentry>
114
115 <varlistentry>
116   <term>length</term>
117   <listitem>
118     <simpara>La longueur maximale d'une ligne du fichier. Si zéro est spécifié, la longueur d'une
119     ligne ne sera pas limité, mais la lecture du fichier sera ralenti. (Par défaut : <literal>999999
120     </literal>)
121     </simpara>
122   </listitem>
123 </varlistentry>
124
125 <varlistentry>
126   <term>escape</term>
127   <listitem>
128     <simpara>Le caractère utilisé pour encadrer les valeurs des champs
129     (Par défault : <literal>"</literal>).</simpara>
130   </listitem>
131 </varlistentry>
132
133 </variablelist>
134
135 </para>
136
137 </sect4>
138
139 </sect3>
140
141 </sect2>