3.4 Paramétrage de la gestion des recherches
3.4.1 Introduction
Des recherches enregistrées sont accessibles depuis l'interface de recherche de ONEFAM.
De nouvelles recherches peuvent être créées depuis l'interface de "Gestion des recherches" disponible depuis le menu "Outils/Gérer mes recherches".
Seules les recherches partagées et les recherches utilisateur indiquées sont visibles depuis l'interface de recherche de ONEFAM.
3.4.1.1 La recherche partagée
La recherche (ou un rapport) est partagée lorsqu'elle est insérée dans le
dossier "racine" de la famille. Toute recherche visible et exécutable (droit
view
et execute
) présente dans ce dossier est affichée dans le sélecteur.
Note : Il est possible d'indiquer des recherches partagées qui recherche des documents autres que ceux de la famille du dossier "racine".
Pour ajouter ou enlever une recherche du dossier "racine", il est nécessaire de
posséder le droit modify
(modifier le contenu) sur ce dossier. Le dossier
"racine" est accessible depuis le document de la famille. La référence du
dossier "racine" est indiqué par la propriété dfldid
de la famille.
3.4.1.2 La recherche utilisateur
Les recherches portant sur la famille et dont le propriétaire (propriété
owner
) est l'utilisateur connecté sont affichées.
En plus de cette condition, il est nécessaire que dans le document "recherche", l'attribut "à utiliser dans les menus" vaille "oui".
Si la préférence "montrer les sous-familles" est cochée, alors les recherches portant sur les sous-familles sont aussi affichées.
3.4.2 Paramétrage des familles de création de recherche
Par défaut, seules des recherches de la famille "recherche détaillée"
(DSEARCH
) et de la famille "rapport" (REPORT
) peuvent être créées.
Le paramètre applicatif "ONEFAM_SEARCHMANAGERCONFIG
" permet de modifier la
liste des familles de recherches pouvant être créés.
Ce paramètre est une structure encodée en JSON
.
Par défaut, la valeur est :
[{"familyId":"DSEARCH","createLabel":"onefam:Create a detail search"}, {"familyId":"REPORT","createLabel":"onefam:Create a report"}]
Ce qui donne la structure suivante :
array( array( "familyId"=>"DSEARCH", "createLabel"=>N_("onefam:Create a detail search") ), array( "familyId"=>"REPORT", "createLabel"=>N_("onefam:Create a report") ) )
Ce paramétrage peut être initialisé lors de la déclaration d'une application dérivée de ONEFAM.
Extrait d'un fichier "MYAPP_init.php.in" (dérivant de ONEFAM) :
global $app_const; $app_const = array( "VERSION" => "@VERSION@-@RELEASE@", "ONEFAM_SEARCHMANAGERCONFIG" => json_encode( array( array( "familyId"=>"DSEARCH", "createLabel"=>"onefam:Create a detail search" ), array( "familyId"=>"MY_SEARCH", "createLabel"=>N_("my:Create a special search") ), array( "familyId"=>"REPORT", "createLabel"=>"onefam:Create a report" ) )) );
Dans l'exemple ci-dessus, la famille MY_SEARCH
est ajoutée entre les familles
DSEARCH
et REPORT
. L'ordre du tableau est l'ordre d'affichage.
Il est nécessaire d'indiquer les familles DSEARCH
et REPORT
pour les
conserver dans l'interface. Dans le cas contraire, elles n'apparaîtront plus.
L'index familyId
doit contenir un identifiant de famille (nom logique ou
identifiant numérique). Cette famille doit dériver de la famille SEARCH
,
DSEARCH
ou REPORT
.
L'index createLabel
est optionnel. S'il n'est pas indiqué le label "Création
<titre de famille>" sera affiché (suivant la locale).
Si le label est présent dans un catalogue de traduction, il sera affiché suivant la locale de l'utilisateur.