7327bbd9495747d6411196a1f4ecf95def3d968d
[ldapsaisie.git] / doc / conf / LSobject / LSsearch.docbook
1 <sect2 id="config-LSobject-LSsearch">
2   <title>LSsearch</title>
3   <para>Cette section décrit la manière de paramétrer les recherches dans
4   l'annuaire pour un type d'&LSobject; donné.</para>
5
6 <para>La configuration des <emphasis>LSsearch</emphasis> se situe dans la 
7 configuration des &LSobjects;, dans la variable <varname>LSsearch</varname>
8 (<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSsearch']</emphasis>).
9 <programlisting>
10 <citetitle>Structure</citetitle>
11 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSsearch'] = array (
12   'attrs' => array(
13     'attr1',
14     'attr2',
15     ...
16     'attr3' => array(
17       'searchLSformat' => '[LSformat]',
18       'approxLSformat' => '[LSformat]',
19     ),
20     ...
21   ),
22   'params' => array(
23     // Paramètres de la recherche
24     'pattern' => '[string]',
25     'sizelimit' => [integer],
26     'recursive' => [boolean],
27     'approx' => [boolean],
28     'withoutCache' => [boolean],
29     // Paramètres de tri
30     'sortBy' => [displayName|subDn],
31     'sortDirection' => [ASC|DESC],
32     'sortlimit' => [integer],
33     // Paramètre d'affichage
34     'displayFormat' => [LSformat],
35     'nbObjectsByPage' => [integer],
36     'nbPageLinkByPage' => [integer]
37   ),
38   'predefinedFilters' => array(
39     'filter1' => 'label filter1',
40     'filter2' => 'label filter2'
41   ),
42   'extraDisplayedColumns' => array(
43     'col1' => array(
44       'label' => 'label column 1',
45       'LSformat' => '[LSformat]'
46     ),
47     'col2' => array(
48       'label' => 'label column 2',
49       'LSformat' => '[LSformat]',
50       'alternativeLSformats' => array (
51         '[LSformat 1]',
52         '[LSformat 2]'
53       )
54     )
55   )
56 );]]>
57 </programlisting>
58
59 <variablelist>
60 <title>Paramètres de configuration</title>
61
62 <varlistentry>
63   <term>attrs</term>
64   <listitem>
65     <para>Tableau listant les attributs pouvant être utilisés dans les filtres
66     de recherche LDAP employés par &LdapSaisie;. Lorsqu'un motif de recherche est
67     passé par l'utilisateur, &LdapSaisie; composera un filtre LDAP à partir de
68     cette liste.</para>
69     <para>Lors d'une recherche non-approximative, le filtre de recherche sera
70     composé (par défaut) de la manière suivante :
71     <programlisting>(|(attr1=*motif*)(attr2=*motif*)...)</programlisting></para>
72     <para>Lors d'une recherche approximative, le filtre de recherche sera
73     composé (par défaut) de la manière suivante :
74     <programlisting>(|(attr1=~motif)(attr2~=motif)...)</programlisting></para>
75     <para>Il est également possible de paramétrer la manière dont sera composé le filtre
76     de recherche attribut par attribut à l'aide des paramètres <emphasis>searchLSformat</emphasis>
77     et <emphasis>approxLSformat</emphasis>.</para>
78     <important><simpara>Ces filtres, une fois composés, sont insérés dans un autre,
79     filtrant en plus sur les <emphasis>ObjectClass</emphasis> du type
80     d'&LSobject; de la manière suivante :</simpara>
81     <programlisting><![CDATA[(& (&(objectclass=oc1)(objectclass=oc2)) (filtre) )]]></programlisting></important>
82
83     <variablelist>
84     <title>Paramètres des attributs</title>
85
86 <varlistentry>
87   <term>searchLSformat</term>
88   <listitem>
89     <para>Ce paramètre est un &LSformat; permettant de définir, attribut par attribut, comment le
90     filtre de recherche LDAP est composé à partir d'un motif de recherche et en cas de recherche
91     non-approximative.</para>
92     <para>Ce &LSformat; est composé à l'aide des éléments <emphasis>name</emphasis>, le nom de
93     l'attribut et <emphasis>pattern</emphasis>, le motif de recherche.
94     <programlisting>
95     <citetitle>Exemple</citetitle>
96 <![CDATA[(%{name}=%{pattern})]]>
97     </programlisting></para>
98     <important><simpara>Le filtre déduit doit obligatoirement commencer par <emphasis>(</emphasis> et
99     se terminer par <emphasis>)</emphasis>.</simpara></important>
100   </listitem>
101 </varlistentry>
102
103 <varlistentry>
104   <term>approxLSformat</term>
105   <listitem>
106     <para>Ce paramètre est un &LSformat; permettant de définir, attribut par attribut, comment le
107     filtre de recherche LDAP est composé à partir d'un motif de recherche et en cas de recherche
108     approximative.</para>
109     <para>Ce &LSformat; est composé à l'aide des éléments <emphasis>name</emphasis>, le nom de
110     l'attribut et <emphasis>pattern</emphasis>, le motif de recherche.
111     <programlisting>
112     <citetitle>Exemple</citetitle>
113 <![CDATA[(%{name}=~%{pattern})]]>
114     </programlisting></para>
115     <important><simpara>Le filtre déduit doit obligatoirement commencer par <emphasis>(</emphasis> et
116     se terminer par <emphasis>)</emphasis>.</simpara></important>
117   </listitem>
118 </varlistentry>
119
120     </variablelist>
121
122   </listitem>
123 </varlistentry>
124
125 <varlistentry>
126   <term>params</term>
127   <listitem>
128     <para>Tableau des paramètres par défaut d'une recherche. Ce tableau contient
129 les paramètres qui seront utilisés pour initialisé une recherche. Ces paramètres
130 pourront être redéfini par l'utilisateur ou par l'application en fonction du
131 contexte dans lequel cette recherche est effectuée.</para>
132     
133     <variablelist>
134     <title>Paramètres de configuration</title>
135     
136 <varlistentry>
137   <term>pattern</term>
138   <listitem>
139     <simpara>Mot clé de la recherche.</simpara>
140   </listitem>
141 </varlistentry>
142
143 <varlistentry>
144   <term>sizelimit</term>
145   <listitem>
146     <simpara>Entier determinant le nombre maximum d'objet pouvant être retournés dans
147     une recherche.</simpara>
148   </listitem>
149 </varlistentry>
150
151 <varlistentry>
152   <term>recursive</term>
153   <listitem>
154     <simpara>Booléen déterminant si la recherche récursive est activée.</simpara>
155   </listitem>
156 </varlistentry>
157
158 <varlistentry>
159   <term>approx</term>
160   <listitem>
161     <simpara>Booléen déterminant si la recherche approximative est activée.</simpara>
162   </listitem>
163 </varlistentry>
164
165 <varlistentry>
166   <term>withoutCache</term>
167   <listitem>
168     <simpara>Booléen déterminant si le cache de recherche doit être utilisé.</simpara>
169   </listitem>
170 </varlistentry>
171
172 <varlistentry>
173   <term>sortBy</term>
174   <listitem>
175     <simpara>Mot clé déterminant sur quel valeur/colonne le résultat de recherche
176     sera trié.</simpara>
177     <simpara>Valeurs possibles : <literal>displayName</literal>, <literal>subDn</literal> ou  <literal>NULL</literal>.</simpara>
178   </listitem>
179 </varlistentry>
180
181 <varlistentry>
182   <term>sortDirection</term>
183   <listitem>
184     <simpara>Mot clé déterminant le sens du trie du résultat de la recherche.</simpara>
185     <simpara>Valeurs possibles : <literal>ASC</literal>, <literal>DESC</literal> ou  <literal>NULL</literal>.</simpara>
186   </listitem>
187 </varlistentry>
188
189 <varlistentry>
190   <term>sortlimit</term>
191   <listitem>
192     <simpara>Entier determinant le nombre maximum d'objet pouvant être triés dans
193     le résultat d'une recherche.</simpara>
194   </listitem>
195 </varlistentry>
196
197 <varlistentry>
198   <term>displayFormat</term>
199   <listitem>
200     <simpara>&LSformat; d'affichage du nom de l'objet dans le résultat de la recherche.</simpara>
201   </listitem>
202 </varlistentry>
203
204 <varlistentry>
205   <term>nbObjectsByPage</term>
206   <listitem>
207     <simpara>Entier déterminant le nombre d'objet maximum affichés dans une page
208     de résultat de la recherche.</simpara>
209   </listitem>
210 </varlistentry>
211
212 <varlistentry>
213   <term>nbPageLinkByPage</term>
214   <listitem>
215     <simpara>Entier déterminant le nombre maximum de liens vers d'autres pages
216     affichés sous le résultat de la recherche.</simpara>
217     <simpara>Par défaut : <literal>10</literal></simpara>
218   </listitem>
219 </varlistentry>
220
221     </variablelist>
222     
223   </listitem>
224 </varlistentry>
225
226 <varlistentry>
227   <term>predefinedFilters</term>
228   <listitem>
229     <para>Tableau associatif contenant des filtres prédéfinis pour la recherche.
230     Les clés sont les filtres au format LDAP et les valeurs sont les labels associés.</para>
231   </listitem>
232 </varlistentry> 
233
234 <varlistentry>
235   <term>extraDisplayedColumns</term>
236   <listitem>
237     <para>Tableau associatif contenant des colonnes supplémentaires à afficher dans les
238     résultats de recherche. Les clés sont les identifiants des colonnes supplémentaires
239     et les valeurs sont leur configuration définie à partir des paramètres suivant :</para>
240
241     <variablelist>
242
243       <varlistentry>
244         <term>label</term>
245         <listitem>
246           <simpara>Le label de la colonne.</simpara>
247         </listitem>
248       </varlistentry>
249
250       <varlistentry>
251         <term>LSformat</term>
252         <listitem>
253           <simpara>Le &LSformat; d'affichage de la colonne. Ce format est composé à partir
254           des attributs des objets LDAP dans leur format brut.</simpara>
255         </listitem>
256       </varlistentry>
257
258       <varlistentry>
259         <term>alternativeLSformats</term>
260         <listitem>
261           <simpara>Tableau des &LSformats; alternatifs à utiliser si le résultat du format
262           principal est vide. Les formats définis dans cette liste sont essayés les uns
263           après les autres et le premier &LSformat; retournant une valeur non-vide est
264           utilisé.</simpara>
265         </listitem>
266       </varlistentry>
267
268     </variablelist>
269   </listitem>
270 </varlistentry>
271
272 </variablelist>
273 </para>
274
275 </sect2>