ldapsaisie/doc/conf/LSobject/LSsearch.docbook

275 lines
8.9 KiB
Text

<sect2 id="config-LSobject-LSsearch">
<title>LSsearch</title>
<para>Cette section décrit la manière de paramétrer les recherches dans
l'annuaire pour un type d'&LSobject; donné.</para>
<para>La configuration des <emphasis>LSsearch</emphasis> se situe dans la
configuration des &LSobjects;, dans la variable <varname>LSsearch</varname>
(<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSsearch']</emphasis>).
<programlisting>
<citetitle>Structure</citetitle>
<![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSsearch'] = array (
'attrs' => array(
'attr1',
'attr2',
...
'attr3' => array(
'searchLSformat' => '[LSformat]',
'approxLSformat' => '[LSformat]',
),
...
),
'params' => array(
// Paramètres de la recherche
'pattern' => '[string]',
'sizelimit' => [integer],
'recursive' => [boolean],
'approx' => [boolean],
'withoutCache' => [boolean],
// Paramètres de tri
'sortBy' => [displayName|subDn],
'sortDirection' => [ASC|DESC],
'sortlimit' => [integer],
// Paramètre d'affichage
'displayFormat' => [LSformat],
'nbObjectsByPage' => [integer],
'nbPageLinkByPage' => [integer]
),
'predefinedFilters' => array(
'filter1' => 'label filter1',
'filter2' => 'label filter2'
),
'extraDisplayedColumns' => array(
'col1' => array(
'label' => 'label column 1',
'LSformat' => '[LSformat]'
),
'col2' => array(
'label' => 'label column 2',
'LSformat' => '[LSformat]',
'alternativeLSformats' => array (
'[LSformat 1]',
'[LSformat 2]'
)
)
)
);]]>
</programlisting>
<variablelist>
<title>Paramètres de configuration</title>
<varlistentry>
<term>attrs</term>
<listitem>
<para>Tableau listant les attributs pouvant être utilisés dans les filtres
de recherche LDAP employés par &LdapSaisie;. Lorsqu'un motif de recherche est
passé par l'utilisateur, &LdapSaisie; composera un filtre LDAP à partir de
cette liste.</para>
<para>Lors d'une recherche non-approximative, le filtre de recherche sera
composé (par défaut) de la manière suivante :
<programlisting>(|(attr1=*motif*)(attr2=*motif*)...)</programlisting></para>
<para>Lors d'une recherche approximative, le filtre de recherche sera
composé (par défaut) de la manière suivante :
<programlisting>(|(attr1=~motif)(attr2~=motif)...)</programlisting></para>
<para>Il est également possible de paramétrer la manière dont sera composé le filtre
de recherche attribut par attribut à l'aide des paramètres <emphasis>searchLSformat</emphasis>
et <emphasis>approxLSformat</emphasis>.</para>
<important><simpara>Ces filtres, une fois composés, sont insérés dans un autre,
filtrant en plus sur les <emphasis>ObjectClass</emphasis> du type
d'&LSobject; de la manière suivante :</simpara>
<programlisting><![CDATA[(& (&(objectclass=oc1)(objectclass=oc2)) (filtre) )]]></programlisting></important>
<variablelist>
<title>Paramètres des attributs</title>
<varlistentry>
<term>searchLSformat</term>
<listitem>
<para>Ce paramètre est un &LSformat; permettant de définir, attribut par attribut, comment le
filtre de recherche LDAP est composé à partir d'un motif de recherche et en cas de recherche
non-approximative.</para>
<para>Ce &LSformat; est composé à l'aide des éléments <emphasis>name</emphasis>, le nom de
l'attribut et <emphasis>pattern</emphasis>, le motif de recherche.
<programlisting>
<citetitle>Exemple</citetitle>
<![CDATA[(%{name}=%{pattern})]]>
</programlisting></para>
<important><simpara>Le filtre déduit doit obligatoirement commencer par <emphasis>(</emphasis> et
se terminer par <emphasis>)</emphasis>.</simpara></important>
</listitem>
</varlistentry>
<varlistentry>
<term>approxLSformat</term>
<listitem>
<para>Ce paramètre est un &LSformat; permettant de définir, attribut par attribut, comment le
filtre de recherche LDAP est composé à partir d'un motif de recherche et en cas de recherche
approximative.</para>
<para>Ce &LSformat; est composé à l'aide des éléments <emphasis>name</emphasis>, le nom de
l'attribut et <emphasis>pattern</emphasis>, le motif de recherche.
<programlisting>
<citetitle>Exemple</citetitle>
<![CDATA[(%{name}=~%{pattern})]]>
</programlisting></para>
<important><simpara>Le filtre déduit doit obligatoirement commencer par <emphasis>(</emphasis> et
se terminer par <emphasis>)</emphasis>.</simpara></important>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>params</term>
<listitem>
<para>Tableau des paramètres par défaut d'une recherche. Ce tableau contient
les paramètres qui seront utilisés pour initialisé une recherche. Ces paramètres
pourront être redéfini par l'utilisateur ou par l'application en fonction du
contexte dans lequel cette recherche est effectuée.</para>
<variablelist>
<title>Paramètres de configuration</title>
<varlistentry>
<term>pattern</term>
<listitem>
<simpara>Mot clé de la recherche.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>sizelimit</term>
<listitem>
<simpara>Entier determinant le nombre maximum d'objet pouvant être retournés dans
une recherche.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>recursive</term>
<listitem>
<simpara>Booléen déterminant si la recherche récursive est activée.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>approx</term>
<listitem>
<simpara>Booléen déterminant si la recherche approximative est activée.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>withoutCache</term>
<listitem>
<simpara>Booléen déterminant si le cache de recherche doit être utilisé.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>sortBy</term>
<listitem>
<simpara>Mot clé déterminant sur quel valeur/colonne le résultat de recherche
sera trié.</simpara>
<simpara>Valeurs possibles : <literal>displayName</literal>, <literal>subDn</literal> ou <literal>NULL</literal>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>sortDirection</term>
<listitem>
<simpara>Mot clé déterminant le sens du trie du résultat de la recherche.</simpara>
<simpara>Valeurs possibles : <literal>ASC</literal>, <literal>DESC</literal> ou <literal>NULL</literal>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>sortlimit</term>
<listitem>
<simpara>Entier determinant le nombre maximum d'objet pouvant être triés dans
le résultat d'une recherche.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>displayFormat</term>
<listitem>
<simpara>&LSformat; d'affichage du nom de l'objet dans le résultat de la recherche.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>nbObjectsByPage</term>
<listitem>
<simpara>Entier déterminant le nombre d'objet maximum affichés dans une page
de résultat de la recherche.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>nbPageLinkByPage</term>
<listitem>
<simpara>Entier déterminant le nombre maximum de liens vers d'autres pages
affichés sous le résultat de la recherche.</simpara>
<simpara>Par défaut : <literal>10</literal></simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>predefinedFilters</term>
<listitem>
<para>Tableau associatif contenant des filtres prédéfinis pour la recherche.
Les clés sont les filtres au format LDAP et les valeurs sont les labels associés.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>extraDisplayedColumns</term>
<listitem>
<para>Tableau associatif contenant des colonnes supplémentaires à afficher dans les
résultats de recherche. Les clés sont les identifiants des colonnes supplémentaires
et les valeurs sont leur configuration définie à partir des paramètres suivant :</para>
<variablelist>
<varlistentry>
<term>label</term>
<listitem>
<simpara>Le label de la colonne.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>LSformat</term>
<listitem>
<simpara>Le &LSformat; d'affichage de la colonne. Ce format est composé à partir
des attributs des objets LDAP dans leur format brut.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>alternativeLSformats</term>
<listitem>
<simpara>Tableau des &LSformats; alternatifs à utiliser si le résultat du format
principal est vide. Les formats définis dans cette liste sont essayés les uns
après les autres et le premier &LSformat; retournant une valeur non-vide est
utilisé.</simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>