Doc : Fix compatibility with old version of Docbook DTD
[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
12 <important><para>Le moteur d'importation simule la validation d'un formulaire de
13 création du type d'&LSobject;. En conséquence :
14 <itemizedlist>
15   <listitem><simpara>seul les attributs présent dans le formulaire de création peuvent
16   être importés.</simpara></listitem>
17   <listitem><simpara>tous les attributs obligatoires présents dans le formulaire de
18   création doivent être fournis par le fichier source ou générer à partir des autres
19   attributs.</simpara></listitem>
20   <listitem><simpara>Les valeurs des attributs issus de l'importation seront vue comme
21   des valeurs retournées par le formulaire et non comme des valeurs des attribus LDAP
22   eux-même. Ainsi et par exemple, un attribut traité comme un booléen dans un formulaire
23   pourra prendre comme valeur par défaut <literal>yes</literal> ou <literal>no</literal>.
24   </simpara></listitem>
25 </itemizedlist>
26 </para></important>
27 <programlisting>
28 <citetitle>Structure</citetitle>
29 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['ioFormat'] = array (
30   '[ioFormat ID]' => array (
31     'label' => '[Label du type de fichier]',
32     'driver' => '[Pilote d'ioFormat utilisé]',
33     'driver_options' => array([Options du pilote d'ioFormat utilisé]),
34     'fields => array (
35       '[champ 1]' => '[attribut 1]',
36       '[champ 2]' => '[attribut 2]',
37       [...]
38     ),
39     'generated_fields' => array (
40       '[attribute 3]' => '[LSformat]',
41       '[attribute 4]' => '[LSformat]',
42       [...]
43     )
44   ),
45   [...]
46 );]]>
47 </programlisting>
48
49 <variablelist>
50 <title>Paramètres de configuration</title>
51
52 <varlistentry>
53   <term>label</term>
54   <listitem>
55     <simpara>Le label du format</simpara>
56   </listitem>
57 </varlistentry>
58
59 <varlistentry>
60   <term>driver</term>
61   <listitem>
62     <simpara>Le pilote a utilisé pour ce format. Le pilote permet de gérér la lecture
63     et l'écriture dans un type de fichier d'import/export. Pour plus d'information sur
64     les pilotes disponibles, <link linkend='config-LSobject-ioFormat-drivers'>Voir la
65     section concernée.</link></simpara>
66   </listitem>
67 </varlistentry>
68
69 <varlistentry>
70   <term>driver_options</term>
71   <listitem>
72     <simpara>Tableau associatif des options du pilote utilisé pour ce format. Pour
73     plus d'informations, consulter la documentation du pilote utilisé.</simpara>
74   </listitem>
75 </varlistentry>
76
77 <varlistentry>
78   <term>fields</term>
79   <listitem>
80     <simpara>Tableau associatif permettant d'associer un champ du fichier source (la clé)
81     avec attribut de l'objet LDAP (la valeur).</simpara>
82   </listitem>
83 </varlistentry>
84
85 <varlistentry>
86   <term>generated_fields</term>
87   <listitem>
88     <simpara>Tableau associatif permettant de définir des &LSformats; pour générer des valeurs
89     d'attributs automatiquement. Ce tableau contient en clé, le nom de l'attribut à généré,
90     et en valeur associée, le &LSformat; à utilisé. Ce &LSformat; est composé à l'aide des
91     valeurs des autres attributs de l'objet.</simpara>
92   </listitem>
93 </varlistentry>
94
95 </variablelist>
96 </para>
97
98 <sect3 id="config-LSobject-ioFormat-drivers">
99   <title>Pilote d'ioFormat</title>
100   <para>Cette section décrit la manière de configurer les pilotes d'ioFormat utilisés
101   lors des imports/exports d'&LSobjects;.</para>
102
103 <sect4 id="config-LSobject-ioFormat-drivers-CSV">
104     <title>Pilote de fichiers CSV</title>
105     <para>Ce pilote permet de gérer l'import/export de &LSobject; à partir d'un fichier
106     <literal>CSV</literal>. Ce pilote utilise la classe PEAR <application>
107     <ulink url='http://pear.php.net/package/File_CSV_DataSource'>File_CSV_DataSource
108     </ulink></application>. Par défaut, les paramètres de lecture et d'écriture des
109     fichiers sont : la virgule sert de délimiteur, le caractère <literal>"</literal> peut
110     être utilisé pour encadrer les valeurs des champs et la longueur maximale d'une ligne
111     est 999999. Ces paramètres peuvent être modifiés en configurant les options du pilote.
112 <programlisting>
113 <citetitle>Structure</citetitle>
114 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['ioFormat']['[ID ioFormat]']['driver_options'] = array (
115   'delimiter' => '[délimiteur]',
116   'length' => [longueur maximale d'une ligne],
117   'escape' => '[caratère d'encadrement]'
118 );]]>
119 </programlisting>
120
121 <variablelist>
122 <title>Paramètres de configuration</title>
123
124 <varlistentry>
125   <term>delimiter</term>
126   <listitem>
127     <simpara>Le caractère utilisé pour délimiter les champs (Par défault, une virgule).</simpara>
128   </listitem>
129 </varlistentry>
130
131 <varlistentry>
132   <term>length</term>
133   <listitem>
134     <simpara>La longueur maximale d'une ligne du fichier. Si zéro est spécifié, la longueur d'une
135     ligne ne sera pas limité, mais la lecture du fichier sera ralenti. (Par défaut : <literal>999999
136     </literal>)
137     </simpara>
138   </listitem>
139 </varlistentry>
140
141 <varlistentry>
142   <term>escape</term>
143   <listitem>
144     <simpara>Le caractère utilisé pour encadrer les valeurs des champs
145     (Par défault : <literal>"</literal>).</simpara>
146   </listitem>
147 </varlistentry>
148
149 </variablelist>
150
151 </para>
152
153 </sect4>
154
155 </sect3>
156
157 </sect2>