LSsearch : Added searchLSformat and approxLSformat parameter for searched attributes
[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 );]]>
43 </programlisting>
44
45 <variablelist>
46 <title>Paramètres de configuration</title>
47
48 <varlistentry>
49   <term>attrs</term>
50   <listitem>
51     <para>Tableau listant les attributs pouvant être utilisés dans les filtres
52     de recherche LDAP employés par &LdapSaisie;. Lorsqu'un motif de recherche est
53     passé par l'utilisateur, &LdapSaisie; composera un filtre LDAP à partir de
54     cette liste.</para>
55     <para>Lors d'une recherche non-approximative, le filtre de recherche sera
56     composé (par défaut) de la manière suivante :
57     <programlisting>(|(attr1=*motif*)(attr2=*motif*)...)</programlisting></para>
58     <para>Lors d'une recherche approximative, le filtre de recherche sera
59     composé (par défaut) de la manière suivante :
60     <programlisting>(|(attr1=~motif)(attr2~=motif)...)</programlisting></para>
61     <para>Il est également possible de paramétrer la manière dont sera composé le filtre
62     de recherche attribut par attribut à l'aide des paramètres <emphasis>searchLSformat</emphasis>
63     et <emphasis>approxLSformat</emphasis>.</para>
64     <important><simpara>Ces filtres, une fois composés, sont insérés dans un autre,
65     filtrant en plus sur les <emphasis>ObjectClass</emphasis> du type
66     d'&LSobject; de la manière suivante :</simpara>
67     <programlisting><![CDATA[(& (&(objectclass=oc1)(objectclass=oc2)) (filtre) )]]></programlisting></important>
68
69     <variablelist>
70     <title>Paramètres des attributs</title>
71
72 <varlistentry>
73   <term>searchLSformat</term>
74   <listitem>
75     <para>Ce paramètre est un &LSformat; permettant de définir, attribut par attribut, comment le
76     filtre de recherche LDAP est composé à partir d'un motif de recherche et en cas de recherche
77     non-approximative.</para>
78     <para>Ce &LSformat; est composé à l'aide des éléments <emphasis>name</emphasis>, le nom de
79     l'attribut et <emphasis>pattern</emphasis>, le motif de recherche.
80     <programlisting>
81     <citetitle>Exemple</citetitle>
82 <![CDATA[(%{name}=%{pattern})]]>
83     </programlisting></para>
84     <important><simpara>Le filtre déduit doit obligatoirement commencer par <emphasis>(</emphasis> et
85     se terminer par <emphasis>)</emphasis>.</simpara></important>
86   </listitem>
87 </varlistentry>
88
89 <varlistentry>
90   <term>approxLSformat</term>
91   <listitem>
92     <para>Ce paramètre est un &LSformat; permettant de définir, attribut par attribut, comment le
93     filtre de recherche LDAP est composé à partir d'un motif de recherche et en cas de recherche
94     approximative.</para>
95     <para>Ce &LSformat; est composé à l'aide des éléments <emphasis>name</emphasis>, le nom de
96     l'attribut et <emphasis>pattern</emphasis>, le motif de recherche.
97     <programlisting>
98     <citetitle>Exemple</citetitle>
99 <![CDATA[(%{name}=~%{pattern})]]>
100     </programlisting></para>
101     <important><simpara>Le filtre déduit doit obligatoirement commencer par <emphasis>(</emphasis> et
102     se terminer par <emphasis>)</emphasis>.</simpara></important>
103   </listitem>
104 </varlistentry>
105
106     </variablelist>
107
108   </listitem>
109 </varlistentry>
110
111 <varlistentry>
112   <term>params</term>
113   <listitem>
114     <para>Tableau des paramètres par défaut d'une recherche. Ce tableau contient
115 les paramètres qui seront utilisés pour initialisé une recherche. Ces paramètres
116 pourront être redéfini par l'utilisateur ou par l'application en fonction du
117 contexte dans lequel cette recherche est effectuée.</para>
118     
119     <variablelist>
120     <title>Paramètres de configuration</title>
121     
122 <varlistentry>
123   <term>pattern</term>
124   <listitem>
125     <simpara>Mot clé de la recherche.</simpara>
126   </listitem>
127 </varlistentry>
128
129 <varlistentry>
130   <term>sizelimit</term>
131   <listitem>
132     <simpara>Entier determinant le nombre maximum d'objet pouvant être retournés dans
133     une recherche.</simpara>
134   </listitem>
135 </varlistentry>
136
137 <varlistentry>
138   <term>recursive</term>
139   <listitem>
140     <simpara>Booléen déterminant si la recherche récursive est activée.</simpara>
141   </listitem>
142 </varlistentry>
143
144 <varlistentry>
145   <term>approx</term>
146   <listitem>
147     <simpara>Booléen déterminant si la recherche approximative est activée.</simpara>
148   </listitem>
149 </varlistentry>
150
151 <varlistentry>
152   <term>withoutCache</term>
153   <listitem>
154     <simpara>Booléen déterminant si le cache de recherche doit être utilisé.</simpara>
155   </listitem>
156 </varlistentry>
157
158 <varlistentry>
159   <term>sortBy</term>
160   <listitem>
161     <simpara>Mot clé déterminant sur quel valeur/colonne le résultat de recherche
162     sera trié.</simpara>
163     <simpara>Valeurs possibles : <literal>displayName</literal>, <literal>subDn</literal> ou  <literal>NULL</literal>.</simpara>
164   </listitem>
165 </varlistentry>
166
167 <varlistentry>
168   <term>sortDirection</term>
169   <listitem>
170     <simpara>Mot clé déterminant le sens du trie du résultat de la recherche.</simpara>
171     <simpara>Valeurs possibles : <literal>ASC</literal>, <literal>DESC</literal> ou  <literal>NULL</literal>.</simpara>
172   </listitem>
173 </varlistentry>
174
175 <varlistentry>
176   <term>sortlimit</term>
177   <listitem>
178     <simpara>Entier determinant le nombre maximum d'objet pouvant être triés dans
179     le résultat d'une recherche.</simpara>
180   </listitem>
181 </varlistentry>
182
183 <varlistentry>
184   <term>displayFormat</term>
185   <listitem>
186     <simpara>&LSformat; d'affichage du nom de l'objet dans le résultat de la recherche.</simpara>
187   </listitem>
188 </varlistentry>
189
190 <varlistentry>
191   <term>nbObjectsByPage</term>
192   <listitem>
193     <simpara>Entier déterminant le nombre d'objet maximum affichés dans une page
194     de résultat de la recherche.</simpara>
195   </listitem>
196 </varlistentry>
197
198 <varlistentry>
199   <term>nbPageLinkByPage</term>
200   <listitem>
201     <simpara>Entier déterminant le nombre maximum de liens vers d'autres pages
202     affichés sous le résultat de la recherche.</simpara>
203     <simpara>Par défaut : <literal>10</literal></simpara>
204   </listitem>
205 </varlistentry>
206
207     </variablelist>
208     
209   </listitem>
210 </varlistentry>
211
212 <varlistentry>
213   <term>predefinedFilters</term>
214   <listitem>
215     <para>Tableau associatif contenant des filtres prédéfinis pour la recherche.
216     Les clés sont les filtres au format LDAP et les valeurs sont les labels associés.</para>
217   </listitem>
218 </varlistentry> 
219
220 </variablelist>
221 </para>
222
223 </sect2>