Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Pleade Formulaire de Recherche » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
création
 
 
(5 versions intermédiaires par le même utilisateur non affichées)
Ligne 50 : Ligne 50 :
|-
|-
| {{attr|max-chars}} ||
| {{attr|max-chars}} ||
'''Optionnel'''. Dans les listes de valeurs, le nombre maximal de caractères à afficher en largeur, afin d'éviter des débordements (listes trop longues en largeur). Cette indication peut également être fournie dans la définition d'un critère de recherche.
''Optionnel''. Dans les listes de valeurs, le nombre maximal de caractères à afficher en largeur, afin d'éviter des débordements (listes trop longues en largeur). Cette indication peut également être fournie dans la définition d'un critère de recherche.
|-
|-
| {{attr|documents}} ||
| {{attr|documents}} ||
Ligne 56 : Ligne 56 :
|-
|-
| {{attr|auto-expand}} ||
| {{attr|auto-expand}} ||
'''Optionnel'''. Les résultats de recherche étant affichés dans l'ordre du cadre de classement, on peut
''Optionnel''. Les résultats de recherche étant affichés dans l'ordre du cadre de classement, on peut indiquer avec cet attribut comment les entrées du cadre de classement seront affichées, c'est-à-dire si elles seront automatiquement « ouvertes » ou non. Si cet attribut n'est pas renseigné, c'est le paramètre d'installation correspondant qui fait foi.
indiquer avec cet attribut comment les entrées du cadre de classement seront affichées, c'est-à-dire si
 
elles seront automatiquement « ouvertes » ou non. Si cet attribut n'est pas renseigné, c'est le
paramètre d'installation correspondant qui fait foi.
Cet attribut peut prendre différentes valeurs :
Cet attribut peut prendre différentes valeurs :
●
* {{value|_all}} : tous les niveaux seront automatique ouverts ;
_all : tous les niveaux seront automatique ouverts.
* {{value|n}} (un entier) : les entrées jusqu'au niveau indiqué seront automatiquement ouvertes ;
●
* {{value|docs:n}} (la mention « docs » suivie d'un nombre) :une entrée sera ouverte uniquement si elle contient au plus {{value|n}} documents résultats.
n (un nombre, par exemple 3) : les entrées jusqu'au niveau indiqué seront automatiquement
* {{value|units:n}} (la mention « units » suivie d'un nombre) : une entrée sera ouverte uniquement si elle contient au plus {{value|n}} unités de recherche résultats.
ouvertes.
|}
●
docs:n (la mention « docs » suivie d'un nombre) :une entrée sera ouverte uniquement si elle
contient au plus n documents résultats.
●
units:n (la mention « units » suivie d'un nombre) : une entrée sera ouverte uniquement si
elle contient au plus n unités de recherche résultats.
== Les critères de recherche ==
== Les critères de recherche ==
=== Principales caractéristiques communes ===
=== Principales caractéristiques communes ===
Chaque critère de recherche est exprimé par un élément key. Cet élément peut prendre de nombreux
Chaque critère de recherche est exprimé par un élément {{tag|key}}. Cet élément peut prendre de nombreux attributs mais également des sous-éléments. Ces attributs ou sous-éléments sont parfois communs à l'ensemble des critères, soit spécifiques à un type de critère.
attributs mais également des sous-éléments. Ces attributs ou sous-éléments sont parfois communs à
 
l'ensemble des critères, soit spécifiques à un type de critère.
Nous allons dans un premier explorer les principales caractéristiques communes à tous les types de critères. La structure générale de l'élément {{tag|key}} est la suivante :
Nous allons dans un premier explorer les principales caractéristiques communes à tous les types de critères.
<syntaxhighlight lang="xml">
La structure générale de l'élément key est la suivante :
<key
<key
id=""
id=""
type=""
type=""
field=""
field=""
fieldh=""
fieldh=""
connector=""
connector=""
format=""
format=""
max-chars=""
max-chars=""
terms-browse=""
terms-browse=""
help=""
help=""
>
>
...
...
</key>
</key>
</syntaxhighlight>
Les attributs et leur définition sont :
Les attributs et leur définition sont :
id
{| class="wikitable sortable"
'''Optionnel'''. L'identifiant unique du critère qui va permettre de pouvoir distinguer le critère d'un autre
|-
dans la mise en forme par feuille de style CSS.
! Attribut !! Description
type
|-
'''Obligatoire'''. Le type de critère ; ce qui va déterminer comment il sera affiché (zone de saisie, liste,
| {{attr|id}} ||
etc.) et aussi quels sont les autres attributs qui pourront lui être associés. Les valeurs possibles sont :
''Optionnel''. L'identifiant unique du critère qui va permettre de pouvoir distinguer le critère d'un autre dans la mise en forme par feuille de style CSS.
cdc, text, suggest, list, hidden, date, boolean.
|-
field
| {{attr|type}} ||
'''Obligatoire''' pour la plupart des types de critères. Le champ dans lequel s'effectue la recherche avec
'''Obligatoire'''. Le type de critère ; ce qui va déterminer comment il sera affiché (zone de saisie, liste, etc.) et aussi quels sont les autres attributs qui pourront lui être associés. Les valeurs possibles sont :
ce critère. Si l'attribut fieldh est spécifié, l'attribut field indique le champ utilisé lorsqu'un seul
{{value|cdc}}, {{value|text}}, {{value|suggest}}, {{value|list}}, {{value|hidden}}, {{value|date}} et {{value|boolean}}.
critère de recherche est renseigné par l'utilisateur.
|-
Pour connaître la liste des champs définis par défaut dans Pleade, se reporter au manuel Gestion de
| {{attr|field}} ||
contenu.
'''Obligatoire''' pour la plupart des types de critères. Le champ dans lequel s'effectue la recherche avec ce critère. Si l'attribut fieldh est spécifié, l'attribut field indique le champ utilisé lorsqu'un seul critère de recherche est renseigné par l'utilisateur.
fieldh
 
'''Optionnel''', mais fortement conseillé pour la plupart des types de critères. Le champ dupliqué dans
Pour connaître la liste des champs définis par défaut dans Pleade, se reporter au manuel Gestion de contenu.
lequel s'effectue la recherche si au moins deux critères de recherche sont renseignés par l'utilisateur.
|-
connector
| {{attr|fieldh}} ||
'''Optionnel'''. Des informations sur l'opérateur booléen entre ce critère et le précédent dans le formulaire.
''Optionnel'', mais fortement conseillé pour la plupart des types de critères. Le champ dupliqué dans lequel s'effectue la recherche si au moins deux critères de recherche sont renseignés par l'utilisateur.
|-
| {{attr|connector}} ||
''Optionnel''. Des informations sur l'opérateur booléen entre ce critère et le précédent dans le formulaire.
La valeur de cet attribut est un nombre :
La valeur de cet attribut est un nombre :
●
* 1 : l'opérateur est forcément le ET, il ne sera pas affiché. C'est également le comportement si
1 : l'opérateur est forcément le ET, il ne sera pas affiché. C'est également le comportement si
l'attribut connector n'est pas renseigné.
l'attribut connector n'est pas renseigné.
●
* 2 : l'opérateur est forcément le OU, il ne sera pas affiché.
2 : l'opérateur est forcément le OU, il ne sera pas affiché.
* 3 : l'opérateur peut être le ET ou le OU, et le choix sera laissé à l'utilisateur, par l'affichage
●
3 : l'opérateur peut être le ET ou le OU, et le choix sera laissé à l'utilisateur, par l'affichage
d'une liste déroulante à gauche du critère.
d'une liste déroulante à gauche du critère.
●
* 4 : l'opérateur est forcément le SAUF, il ne sera pas affiché.
4 : l'opérateur est forcément le SAUF, il ne sera pas affiché.
[[image:search-form-connector.png|center]]
format
|-
'''Optionnel'''. Le format accepté pour le critère, particulièrement utile pour les dates ou les zones de
| {{attr|format}} ||
texte, dans certains cas ; il déclenche la validation par javascript du critère à la soumission du
''Optionnel''. Le format accepté pour le critère, particulièrement utile pour les dates ou les zones de texte, dans certains cas ; il déclenche la validation par javascript du critère à la soumission du formulaire. Si l'utilisateur saisit une valeur non permise par le format, le formulaire ne sera pas validé et un message sera affiché.
formulaire. Si l'utilisateur saisit une valeur non permise par le format, le formulaire ne sera pas validé
 
et un message sera affiché. Le contenu de cet attribut doit être une expression régulière valide en
Le contenu de cet attribut doit être une expression régulière valide en Javascript.
Javascript.
|-
max-chars
| {{attr|max-chars}} ||
'''Optionnel'''. Dans les listes de valeurs, le nombre maximal de caractères à afficher en largeur, afin
''Optionnel''. Dans les listes de valeurs, le nombre maximal de caractères à afficher en largeur, afin d'éviter des débordements (listes trop longues en largeur). Cette indication peut également être fournie dans la définition d'un critère de recherche.
d'éviter des débordements (listes trop longues en largeur). Cette indication peut également être
 
fournie dans la définition d'un critère de recherche.
Si cet attribut n'est pas renseigné, c'est la valeur de l'attribut défini au niveau de l'élément form qui s'applique sauf dans le cas des dates, où la valeur est automatiquement fixée à quatre (recherche par année seulement).
Si cet attribut n'est pas renseigné, c'est la valeur de l'attribut défini au niveau de l'élément form qui
|-
s'applique sauf dans le cas des dates, où la valeur est automatiquement fixée à quatre (recherche par
| {{attr|help}} ||
année seulement).
''Optionnel''. Si sa valeur est {{value|true}}, un bouton d'aide est affiché à droite du critère.
help
[[image:search-form-help-bubble.png|center]]
'''Optionnel'''. Si sa valeur est true, un bouton d'aide est affiché à droite du critère.
Les critères peuvent prendre d'autres attributs, qui sont expliqués soit dans les explications sur les différents types de critères dans la section suivante soit dans les fonctions avancées un peu plus loin ([[#Fonctions avancées]]).
Les critères peuvent prendre d'autres attributs, qui sont expliqués soit dans les explications sur les différents
|}
types de critères dans la section suivante soit dans les fonctions avancées un peu plus loin ( === Fonctions ===
 
avancées).
=== Types de critères ===
=== Types de critères ===
Un formulaire de test reprenant les types de critères courants et des commentaires explicatifs est livré par
Un formulaire de test reprenant les types de critères courants et des commentaires explicatifs est livré par défaut. Il peut servir de modèle pour créer ou modifier un formulaire. Ce formulaire de test est visible à l'URL {{path|/search-forms.html?name=test}}.
défaut. Il peut servir de modèle pour créer ou modifier un formulaire. Ce formulaire de test est visible à
 
l'URL {{path|/search-forms.html?name=test}}.
==== Critère caché ({{value|hidden}}) ====
==== Critère caché (hidden) ====
Les critères cachés permettent d'ajouter systématiquement un critère de recherche de manière transparente pour l'utilisateur. On doit utiliser la valeur {{value|hidden}} pour l'attribut {{attr|type}}. Il supporte un attribut spécifique :
Les critères cachés permettent d'ajouter systématiquement un critère de recherche de manière transparente
{| class="wikitable sortable"
pour l'utilisateur. On doit utiliser la valeur hidden pour l'attribut type. Il supporte un attribut spécifique :
|-
value
! Attribut !! Description
'''Obligatoire''' pour utiliser ce critère. Il s'agit de la valeur que doit avoir le champ indiqué dans l'attribut
|-
field.
| {{attr|value}} ||
'''Obligatoire''' pour utiliser ce critère. Il s'agit de la valeur que doit avoir le champ indiqué dans l'attribut {{attr|field}}.
<syntaxhighlight lang="xml">
<key type="hidden" connector="2" field="unitid" value="2002W" />
<key type="hidden" connector="2" field="unitid" value="2002W" />
==== Cadre de classement (cdc) ====
</syntaxhighlight>
Ce critère se comporte de manière particulière : il permet d'afficher le cadre de classement à droite du
|}
formulaire, et l'utilisateur pourra choisir une ou plusieurs entrées du cadre de classement à l'aide de cases à
 
cocher.
==== Cadre de classement ({{value|cdc}}) ====
Ce critère se comporte de manière particulière : il permet d'afficher le cadre de classement à droite du formulaire, et l'utilisateur pourra choisir une ou plusieurs entrées du cadre de classement à l'aide de cases à cocher.
[[image:search-form-key-type-cdc.png|center]]
Il ne supporte aucun attribut spécifique.
Il ne supporte aucun attribut spécifique.
<syntaxhighlight lang="xml">
<key type="cdc"/>
<key type="cdc"/>
Pour un critère de ce type, les attributs field et fieldh ne sont pas utiles, car Pleade utilise toujours les
</syntaxhighlight>
mêmes champs de recherche. De même, l'attribut help n'a aucun impact.
Pour un critère de ce type, les attributs {{value|field}} et {{value|fieldh}} ne sont pas utiles, car Pleade utilise toujours les mêmes champs de recherche. De même, l'attribut {{value|help}} n'a aucun impact.
==== Zone de texte (text) ====
 
Ce critère se présente sous la forme d'une zone de texte où l'utilisateur peut saisir librement des mots,
==== Zone de texte ({{value|text}}) ====
expressions, etc. On l'utilise normalement pour des recherches sur des champs de type « mot ».
Ce critère se présente sous la forme d'une zone de texte où l'utilisateur peut saisir librement des mots, expressions, etc. On l'utilise normalement pour des recherches sur des champs de type « mot ».
Pour un tel critère, on peut ajouter des attributs afin de permettre à l'utilisateur de choisir un autre champ de
[[image:search-form-key-type-text.png|center]]
recherche, un champ « alternatif ». Cela est particulièrement utile pour proposer à l'utilisateur d'étendre la
Pour un tel critère, on peut ajouter des attributs afin de permettre à l'utilisateur de choisir un autre champ de recherche, un champ « alternatif ». Cela est particulièrement utile pour proposer à l'utilisateur d'étendre la recherche aux documents associés, comme le fait le formulaire par défaut de la distribution standard de Pleade.
recherche aux documents associés, comme le fait le formulaire par défaut de la distribution standard de
 
Pleade.
Quand est un champ alternatif est défini pour un critère, une boîte à cocher est affichée sous le critère offrant à l'utilisateur un choix.
Quand est un champ alternatif est défini pour un critère, une boîte à cocher est affichée sous le critère
<syntaxhighlight lang="xml">
offrant à l'utilisateur un choix.
<key
<key type="text" field="fulltext" fieldh="hfulltext" help="true" alternate-field="extfulltext"
type="text"
alternate-fieldh="hextfulltext" alternate-field-checked="false"/>
field="fulltext" fieldh="hfulltext"
Pour réaliser cela, il faut ajouter les attributs suivants à l'élément key :
help="true"
alternate-field
alternate-field="extfulltext" alternate-fieldh="hextfulltext" alternate-field-checked="false"
'''Obligatoire''' pour utiliser cette fonctionnalité. Le nom du champ à rechercher si l'utilisateur choisit cette
/>
option. Si l'attribut alternate-fieldh est également renseigné, ce champ sera utilisé uniquement
</syntaxhighlight>
s'il y a un seul critère de recherche.
Pour réaliser cela, il faut ajouter les attributs suivants à l'élément {{tag|key}} :
alternate-fieldh
{| class="wikitable sortable"
'''Optionnel''' mais fortement recommandé. Le nom du champ dupliqué alternatif à rechercher si
|-
l'utilisateur renseigne au moins deux critères de recherche.
! Attribut !! Description
alternate-field-checked
|-
'''Optionnel''', la valeur par défaut est false. Si la valeur est true, l'option pour le champ alternatif sera
| {{attr|alternate-field}} ||
déjà sélectionnée au moment d'afficher le formulaire.
'''Obligatoire''' pour utiliser cette fonctionnalité. Le nom du champ à rechercher si l'utilisateur choisit cette option. Si l'attribut {{attr|alternate-fieldh}} est également renseigné, ce champ sera utilisé uniquement s'il y a un seul critère de recherche.
À noter que les champs alternatifs sont supportés uniquement pour les critères de type texte dans
|-
Pleade.
| {{attr|alternate-fieldh}} ||
On peut également omettre l'attribut field et plutôt proposer à l'utilisateur de choisir un champ de
''Optionnel'' mais fortement recommandé. Le nom du champ dupliqué alternatif à rechercher si l'utilisateur renseigne au moins deux critères de recherche.
recherche parmi une liste.
|-
Pour ce faire, il faut donc ne pas renseigner l'attribut field mais plutôt des sous-éléments field tel que
| {{attr|alternate-field-checked}} ||
dans cet exemple :
'''Optionnel, défaut: {{value|false}}'''. Si la valeur est {{value|true}}, l'option pour le champ alternatif sera déjà sélectionnée au moment d'afficher le formulaire.
|}
 
{{notice|À noter que les champs alternatifs sont supportés uniquement pour les critères de type {{value|texte}} dans Pleade}}
 
On peut également omettre l'attribut {{attr|field}} et plutôt proposer à l'utilisateur de choisir un champ de recherche parmi une liste.
[[image:search-form-key-type-text-fields-list.png|center]]
Pour ce faire, il faut donc ne pas renseigner l'attribut field mais plutôt des sous-éléments field tel que dans cet exemple :
<syntaxhighlight lang="xml">
<key type="text" ...>
<key type="text" ...>
<field name="scopecontent"/>
<field name="scopecontent"/>
<field name="unittitle" default="true"/>
<field name="unittitle" default="true"/>
<field name="fulltext"/>
<field name="fulltext"/>
</key>
</key>
Dans cet exemple, trois champs seront proposés à l'utilisateur, avec une liste déroulante située à gauche de
</syntaxhighlight>
la zone de texte. La seconde valeur sera pré-sélectionnée, grâce à la présence de l'attribut default avec la
Dans cet exemple, trois champs seront proposés à l'utilisateur, avec une liste déroulante située à gauche de la zone de texte. La seconde valeur sera pré-sélectionnée, grâce à la présence de l'attribut {{attr|default}} avec la valeur {{value|true}}.
valeur true.
 
À noter que si vous utilisez cette possibilité de laisser à l'utilisateur le choix du champ, l'attribut fieldh n'est
{{notice|À noter que si vous utilisez cette possibilité de laisser à l'utilisateur le choix du champ, l'attribut {{attr|fieldh}} n'est pas utilisé et il n'est actuellement pas possible de faire l'équivalent}}
pas utilisé et il n'est actuellement pas possible de faire l'équivalent.
 
==== Listes (list) ====
==== Listes ({{value|list}}) ====
Les listes sont destinées à présenter à l'utilisateur une liste de choix. Il peut alors sélectionner une ou
Les listes sont destinées à présenter à l'utilisateur une liste de choix. Il peut alors sélectionner une ou plusieurs valeurs et effectuer une recherche sur ces valeurs. Les listes peuvent être présentées de différentes façons, et c'est la valeur de l'attribut {{attr|variant}} qui va le déterminer :
plusieurs valeurs et effectuer une recherche sur ces valeurs. Les listes peuvent être présentées de
{| class="wikitable sortable"
différentes façons, et c'est la valeur de l'attribut variant qui va le déterminer :
|-
combo
! Attribut !! Description
Une liste déroulante. Dans la liste, l'utilisateur ne peut sélectionner qu'une valeur, mais Pleade offre la
|-
possibilité d'ajouter d'autres valeurs.
| {{attr|combo}} ||
fixed
Une liste déroulante. Dans la liste, l'utilisateur ne peut sélectionner qu'une valeur, mais Pleade offre la possibilité d'ajouter d'autres valeurs.
Une liste à hauteur fixe, c'est-à-dire avec un nombre prédéfini de valeurs affichées. On peut
[[image:search-form-key-type-list-variant-combo.png|center]]
directement sélectionner plusieurs valeurs.
|-
checkbox
| {{attr|fixed}} ||
Des cases à cocher, donc chaque item de la liste est accompagné d'une case à cocher. On peut
Une liste à hauteur fixe, c'est-à-dire avec un nombre prédéfini de valeurs affichées. On peut directement sélectionner plusieurs valeurs.
sélectionner plusieurs valeurs.
[[image:search-form-key-type-list-variant-fixed.png|center]]
radio
|-
Des boutons radio, donc chaque item de la liste est accompagné d'un bouton radio. On ne peut
| {{attr|checkbox}} ||
sélectionner qu'une seule valeur.
Des cases à cocher, donc chaque item de la liste est accompagné d'une case à cocher. On peut sélectionner plusieurs valeurs.
En général, les valeurs de la liste seront automatiquement renseignées par Pleade à partir des valeurs que
[[image:search-form-key-type-list-variant-checkbox.png|center]]
l'on trouve dans le champ indiqué par l'attribut field.
 
On peut également pour les listes, contrôler l'opérateur intra-champ (voir {{path|4.4}}.{{path|3.2}} Choix de l'opérateur intra-
|-
champ)
| {{attr|radio}} ||
==== Suggestions (suggest) ====
Des boutons radio, donc chaque item de la liste est accompagné d'un bouton radio. On ne peut sélectionner qu'une seule valeur.
Les suggestions sont un cas particulier de liste : toutes les valeurs ne sont pas présentées directement à
[[image:search-form-key-type-list-variant-radio.png|center]]
l'utilisateur, celui-ci va plutôt saisir quelques lettres et la liste sera filtrée automatiquement avec des entrées
|}
qui contiennent ces lettres, sans tenir compte des accents et des majuscules/minuscules.
 
Pour avoir un tel critère, il s'agit d'utiliser l'attribut type avec une valeur suggest. Par défaut, l'utilisateur
En général, les valeurs de la liste seront automatiquement renseignées par Pleade à partir des valeurs que l'on trouve dans le champ indiqué par l'attribut {{attr|field}}.
peut sélectionner plusieurs valeurs, mais si l'on souhaite qu'il ne sélectionne qu'une seule valeur on peut
 
ajouter un attribut multiple="false".
{{remarque|On peut également contrôler l'opérateur intra-champ, voir la section [[#Choix de l'opérateur intra-champ]]}}
 
==== Suggestions ({{value|suggest}}) ====
Les suggestions sont un cas particulier de liste : toutes les valeurs ne sont pas présentées directement à l'utilisateur, celui-ci va plutôt saisir quelques lettres et la liste sera filtrée automatiquement avec des entrées qui contiennent ces lettres, sans tenir compte des accents et des majuscules/minuscules.
 
[[image:search-form-key-type-suggest.png|center]]
 
Pour avoir un tel critère, il s'agit d'utiliser l'attribut {{attr|type}} avec une valeur {{value|suggest}}. Par défaut, l'utilisateur peut sélectionner plusieurs valeurs, mais si l'on souhaite qu'il ne sélectionne qu'une seule valeur on peut ajouter un attribut {{attr|multiple}} et lui assigner la valeur {{value|false}} :
<syntaxhighlight lang="xml">
<key type="suggest" field="fgeogname" help="true" multiple="false"/>
<key type="suggest" field="fgeogname" help="true" multiple="false"/>
On peut également contrôler l'opérateur intra-champ (voir {{path|4.4}}.{{path|3.2}} Choix de l'opérateur intra-champ).
</syntaxhighlight>
==== Booléens (boolean) ====
 
{{remarque|On peut également contrôler l'opérateur intra-champ, voir la section [[#Choix de l'opérateur intra-champ]]}}
 
==== Booléens ({{value|boolean}}) ====
Un critère booléen est un critère qui ne peut prendre que deux valeurs, vrai ou faux. Il se présente sous la
Un critère booléen est un critère qui ne peut prendre que deux valeurs, vrai ou faux. Il se présente sous la
forme d'une boîte à cocher. On utilise généralement ce critère pour filtrer la recherche sur un attribut
forme d'une boîte à cocher. On utilise généralement ce critère pour filtrer la recherche sur un attribut
particulier : par exemple, les documents illustrés, limiter la recherche aux articles, etc.
particulier : par exemple, les documents illustrés, limiter la recherche aux articles, etc.
[[image:search-form-key-type-boolean.png|center]]
Pour un tel critère, on peut ajouter les attributs particuliers suivants :
Pour un tel critère, on peut ajouter les attributs particuliers suivants :
value-on
{| class="wikitable sortable"
'''Obligatoire''' pour utiliser ce critère. Il s'agit de la valeur que doit avoir le champ indiqué dans l'attribut
|-
field.
! Attribut !! Description
default
|-
Si la valeur de cet attribut est on, la case sera cochée par défaut.
| {{attr|value-on}} ||
'''Obligatoire''' pour utiliser ce critère. Il s'agit de la valeur que doit avoir le champ indiqué dans l'attribut {{attr|field}}.
|-
| {{attr|default}} ||
Si la valeur de cet attribut est {{value|on}}, la case sera cochée par défaut.
|}
<syntaxhighlight lang="xml">
<key type="boolean" field="fgeogname" value-on="Afrique" default="on" connector="3" />
<key type="boolean" field="fgeogname" value-on="Afrique" default="on" connector="3" />
==== Dates (date) ====
</syntaxhighlight>
La recherche par dates est traitée de manière particulière dans Pleade et fait l'objet d'un type de critère bien
 
particulier. Il n'est pas nécessaire de préciser le champ de recherche car Pleade va toujours utiliser les
==== Dates ({{value|date}}) ====
mêmes champs associés aux dates extrêmes (bdate et edate). De plus, il n'est pas nécessaire d'utiliser le
La recherche par dates est traitée de manière particulière dans Pleade et fait l'objet d'un type de critère bien particulier. Il n'est pas nécessaire de préciser le champ de recherche car Pleade va toujours utiliser les mêmes champs associés aux dates extrêmes ({{value|bdate}} et {{value|edate}}). De plus, il n'est pas nécessaire d'utiliser le mécanisme des champs dupliqués et de l'attribut {{attr|fieldh}} car les dates sont déjà héritées par défaut dans Pleade.
mécanisme des champs dupliqués et de l'attribut fieldh car les dates sont déjà héritées par défaut dans
[[image:search-form-key-type-date.png|center]]
Pleade.
 
Donc pour effectuer une recherche par dates, on doit utiliser une syntaxe telle que celle-ci :
Donc pour effectuer une recherche par dates, on doit utiliser une syntaxe telle que celle-ci :
<syntaxhighlight lang="xml">
<key
<key
type="date"
type="date"
id="annee"
id="annee"
variant="exact interval"
variant="exact interval"
max-chars="4"
max-chars="4"
format="(\d)+"
format="(\d)+"
help="true"
help="true"
/>
/>
Les attributs type, format, max-chars et help ont déjà été évoqués, les autres attributs sont :
</syntaxhighlight>
id
Les attributs {{attr|type}}, {{attr|format}}, {{attr|max-chars}} et {{attr|help }}ont déjà été évoqués, les autres attributs sont :
{| class="wikitable sortable"
|-
! Attribut !! Description
|-
| {{attr|id}} ||
'''Obligatoire'''. L'identifiant du critère, utilisé pour le lier avec les clés i18n pour la génération des textes.
'''Obligatoire'''. L'identifiant du critère, utilisé pour le lier avec les clés i18n pour la génération des textes.
variant
|-
'''Obligatoire'''. Des précisions sur les zones de texte à saisir. Si cet attribut contient exact, une
| {{attr|variant}} ||
recherche d'une date exacte sera proposée. Si cet attribut contient interval, une recherche par
'''Obligatoire'''. Des précisions sur les zones de texte à saisir. Si cet attribut contient {{value|exact}}, une recherche d'une date exacte sera proposée. Si cet attribut contient {{value|interval}}, une recherche par intervalle sera proposée. On peut bien sûr obtenir les deux en indiquant les deux mots, séparés par une espace comme dans l'exemple ci-dessus.
intervalle sera proposée. On peut bien sûr obtenir les deux en indiquant les deux mots, séparés par
|}
une espace comme dans l'exemple ci-dessus.
 
=== Fonctions avancées ===
=== Fonctions avancées ===
==== Troncature implicite ====
==== Troncature implicite ====
Une troncature permet de faire une recherche sur une partie d'un mot. Par exemple, une troncature à droite
Une troncature permet de faire une recherche sur une partie d'un mot. Par exemple, une troncature à droite sur le mot « {{value|bois}} » s'écrit « {{value|bois*}} ». La recherche s'effectue alors sur tous les mots commençant par « {{value|bois}} ». L'astérisque étant un méta-caractère, la chaine subi une expansion par la droite.
sur le mot "bois" s'écrit "bois*". La recherche s'effectue alors sur tous les mots commençant par "bois".
 
Une troncature implicite peut être ajoutée aux éléments de formulaire de type text. Pour ajouter la
Une troncature implicite peut être ajoutée aux éléments de formulaire de type {{value|text}}. Pour ajouter la troncature automatiquement à la validation du formulaire, il suffit d'ajouter l'attribut {{attr|truncate}}.
troncature automatiquement à la validation du formulaire, il suffit d'ajouter l'attribut truncate.
{| class="wikitable sortable"
truncate
|-
Permet de déterminer où sera ajoutée la troncature implicite. Cet attribut peut prendre les valeurs
! Attribut !! Description
left, right ou both :
|-
| {{attr|truncate}} ||
Permet de déterminer où sera ajoutée la troncature implicite. Cet attribut peut prendre les valeurs {{value|left}}, {{value|right}} ou {{value|both}}, respectivement expansion par la gauche, la droite ou les deux côté.
|}
<syntaxhighlight lang="xml">
<key type="text" field="fulltext" truncate="left"/>
<key type="text" field="fulltext" truncate="left"/>
<key type="text" field="fulltext" truncate="right"/>
<key type="text" field="fulltext" truncate="right"/>
<key type="text" field="fulltext" truncate="both"/>
<key type="text" field="fulltext" truncate="both"/>
{{path|4.4}}.{{path|3.2}} Choix de l'opérateur intra-champ
</syntaxhighlight>
Par défaut, l'opérateur intra-champ pour tous les éléments de formulaire qui ne sont pas de type list ou
==== Choix de l'opérateur intra-champ ====
suggest, est l'opérateur AND. Pour les éléments de type list et suggest, l'opérateur intra-champ par
Par défaut, l'opérateur intra-champ pour tous les éléments de formulaire qui ne sont pas de type {{value|list}} ou
défaut est l'opérateur OR.
{{value|suggest}}, est le ''ET logique''. Pour les éléments de type {{value|list}} et {{value|suggest}}, l'opérateur intra-champ par défaut est le ''OU logique''.
 
Il est possible de changer ces valeurs par défaut au moyen de l'attribut op dans les éléments key.
Il est possible de changer ces valeurs par défaut au moyen de l'attribut op dans les éléments key.
op
{| class="wikitable sortable"
Cet attribut peut prendre les valeurs AND ou OR. Il permet de définir l'opérateur intra-champs.
|-
op-display
! Attribut !! Description
Permet de gérer l'affichage de ces opérateurs dans l'interface. Il peut prendre les valeurs true ou
|-
false. Dans le cas des éléments de formulaire de type list avec les attributs variant="fixed"
| {{attr|op}} ||
et selection="multiple", ainsi que pour les éléments de type suggest multiples, les opérateurs
Cet attribut peut prendre les valeurs {{value|AND}} ou {{value|OR}}. Il permet de définir l'opérateur intra-champs.
s'afficheront lorsqu'il y a plus de deux sélections.
|-
| {{attr|op-display}} ||
Permet de gérer l'affichage de ces opérateurs dans l'interface. Il peut prendre les valeurs {{value|true}} ou {{value|false}}.
 
Dans le cas des éléments de formulaire de type {{value|list}} avec les attributs {{attr|variant}}={{value|fixed}} et {{attr|selection}}={{value|multiple}}, ainsi que pour les éléments de type {{value|suggest}} multiples, les opérateurs s'afficheront lorsqu'il y a plus de deux sélections.
[[image:search-form-advanced-feature-operator.png|center]]
|}
 
Exemple :
Exemple :
<syntaxhighlight lang="xml">
<key type="suggest" field="fgeogname" style="background:#00CCFF" help="true" op-display="true"/>
<key type="suggest" field="fgeogname" style="background:#00CCFF" help="true" op-display="true"/>
<key type="suggest" field="fgeogname" style="background:coral" op-display="true" op="AND"/>
<key type="suggest" field="fgeogname" style="background:coral" op-display="true" op="AND"/>
<key type="list" variant="combo" rows="5"
<key type="list" variant="combo" rows="5"
selection="multiple" op-display="true"
selection="multiple" op-display="true"
display-field="fatitle" field="root-id">
display-field="fatitle" field="root-id"
<no-choice i18n-key="form-no-choice-choix"/>
>
<no-choice i18n-key="form-no-choice-choix"/>
</key>
</key>
</syntaxhighlight>
==== Accès au index ====
==== Accès au index ====
Pour chaque critère, il est possible d'ajouter un bouton permettant de parcourir dans un panneau, la liste des
Pour chaque critère, il est possible d'ajouter un bouton permettant de parcourir dans un panneau, la liste des termes indexés, associés au champ de la suggestion. Pour cela, il suffit d'ajouter :
termes indexés, associés au champ de la suggestion.
{| class="wikitable sortable"
Pour cela, il suffit d'ajouter :
|-
terms-browse
! Attribut !! Description
'''Optionnel'''. Permet d'activer l'aide à la recherche de type "navigation d'index" ; c'est-à-dire une icône
|-
| {{attr|terms-browse}} ||
''Optionnel''. Permet d'activer l'aide à la recherche de type « navigation d'index » ; c'est-à-dire une icône
placée à droite du critère qui déclenche l'affichage d'un panneau listant tous les termes indexés dans
placée à droite du critère qui déclenche l'affichage d'un panneau listant tous les termes indexés dans
un champ de recherche. Cet attribut peut avoir plusieurs valeurs :
un champ de recherche. Cet attribut peut avoir plusieurs valeurs :
* true ou 1 : cette aide est activée et l'index consulté est celui indiqué comme valeur de l'attribut
* {{value|true}} ou {{value|1}} : cette aide est activée et l'index consulté est celui indiqué comme valeur de l'attribut {{attr|field}} ;
field
* ''vide'', {{value|false}} ou {{value|0}} : cette aide n'est pas activée. Même chose si cet attribut est absent.
* vide ou false ou 0 : cette aide n'est pas activée. Même chose si cet attribut est absent.
* contient le nom d'un champ autre que celui indiqué comme valeur de l'attribut {{attr|field}} : cette aide est activée et l'index consulté est celui indiqué comme valeur d'attribut.
* contient le nom d'un champ autre que celui indiqué comme valeur de l'attribut field : cette aide est
|-
activée et l'index consulté est celui indiqué comme valeur d'attribut.
| {{attr|terms-browse-hpp}} ||
terms-browse-hpp
''Optionnel''. Cet attribut permet de préciser le nombre d'entrées par page proposées dans la fenêtre de consultation de l'index.
'''Optionnel'''. Cet attribut permet de préciser le nombre d'entrées par page proposées dans la fenêtre de
|}
consultation de l'index.
[[image:search-form-advanced-feature-nav-index.png|center]]
 
==== Accès à un thesaurus ====
==== Accès à un thesaurus ====
Cette partie ne concerne que les applications Pleade disposant du module Thesaurus.
{{notice|Cette partie ne concerne que les applications Pleade disposant du module Thesaurus}}
Pour chaque critère dont le champ de recherche est lié à un vocabulaire contrôlé, il est possible d'ajouter un
Pour chaque critère dont le champ de recherche est lié à un vocabulaire contrôlé, il est possible d'ajouter un bouton permettant de consulter ce vocabulaire s'il est géré par [[ThesX]].
bouton permettant de consulter ce vocabulaire s'il est géré par ThesX.
[[image:search-form-advanced-feature-thesaurus.png|center]]
 
Pour cela, il suffit d'ajouter :
Pour cela, il suffit d'ajouter :
thesx-browse
{| class="wikitable sortable"
'''Optionnel'''. Permet d'activer l'aide à la recherche de type « consultation de thesaurus » dans un
|-
! Attribut !! Description
|-
| {{attr|thesx-browse}} ||
''Optionnel''. Permet d'activer l'aide à la recherche de type « consultation de thesaurus » dans un
panneau ; c'est-à-dire une icône placée à droite du critère qui déclenche l'affichage d'un panneau
panneau ; c'est-à-dire une icône placée à droite du critère qui déclenche l'affichage d'un panneau
permettant de naviguer dans le thesaurus. Cet attribut peut avoir plusieurs valeurs :
permettant de naviguer dans le thesaurus. Cet attribut peut avoir plusieurs valeurs :
* true ou 1 : cette aide est activée et le thesaurus consulté est celui dont l'identifiant correspond à
* {{value|true}} ou {{value|1}} : cette aide est activée et le thesaurus consulté est celui dont l'identifiant correspond à celui indiqué comme valeur de l'attribut {{attr|thesx-id}} ;
celui indiqué comme valeur de l'attribut thesx-id
* ''vide'', {{value|false}} ou {{value|0}} : cette aide n'est pas activée. Même chose si cet attribut est absent.
* vide ou false ou 0 : cette aide n'est pas activée. Même chose si cet attribut est absent.
|-
thesx-id
| {{attr|thesx-id}} ||
'''Optionnel''' mais obligatoire si l'attribut thesx-browse active l'aide. Il s'agit de l'identifiant du thesaurus
''Optionnel'' mais obligatoire si l'attribut thesx-browse active l'aide. Il s'agit de l'identifiant du thesaurus géré par [[ThesX]] que l'on veut consulter.
géré par ThesX que l'on veut consulter.
|-
thesx-relations
| {{attr|thesx-relations}} ||
'''Optionnel'''. Cet attribut permet de préciser selon quel type de relations on veut étendre la recherche.
''Optionnel''. Cet attribut permet de préciser selon quel type de relations on veut étendre la recherche. Par défaut la recherche est étendue au terme sélectionné et à tous ses spécifiques (relation TS).
Par défaut la recherche est étendue au terme sélectionné et à tous ses spécifiques (relation TS).
|}
 
==== Filtre ====
==== Filtre ====
Il est possible à l'aide d'un critère ou plusieurs critères cachés de limiter la recherche à l'aide d'un formulaire
Il est possible à l'aide d'un critère ou plusieurs critères cachés de limiter la recherche à l'aide d'un formulaire de recherche à une rubrique (voir section suivante 5) Rubriques), à une liste d'instruments de recherche, à une valeur particulière pour un champ. Dans ce cas, si jamais le formulaire de recherche propose des listes ou des aides à la recherche comme un accès aux index, il faut que ces listes soient elles-aussi filtrées par les mêmes critères.
de recherche à une rubrique (voir section suivante 5) Rubriques), à une liste d'instruments de recherche, à
 
une valeur particulière pour un champ. Dans ce cas, si jamais le formulaire de recherche propose des listes
{{important|'''(est-ce toujours vrai en 2012 ?)''' Pour le moment, les filtres ne fonctionnent pas avec les critères de type suggestions}}
ou des aides à la recherche comme un accès aux index, il faut que ces listes soient elles-aussi filtrées par
{{notice|L'usage des filtres peut remplacer les rubriques}}
les mêmes critères.
 
Attention : Pour le moment, les filtres ne fonctionnent pas avec les critères de type Suggestions.
L'usage des filtres peut remplacer les rubriques.
Pour filtrer un critère de recherche, on doit utiliser une syntaxe telle que :
Pour filtrer un critère de recherche, on doit utiliser une syntaxe telle que :
<key type="list" ...>
<syntaxhighlight lang="xml">
<filters>
<key type="..." ...>
<filter field=""
<filters>
value=""/>
<filter field="" value=""/>
</filters>
</filters>
</key>
</key>
L'élément filters permet de définir un ensemble de filtre. Il contient des éléments filter : chaque filtre
</syntaxhighlight>
est exprimé par un élément filter. Cet élément peut prendre deux attributs :
L'élément {{tag|filters}} permet de définir un ensemble de filtre. Il contient des éléments {{tag|filter}} : chaque filtre
field
est exprimé par un élément {{tag|filter}}. Cet élément peut prendre deux attributs :
{| class="wikitable sortable"
|-
! Attribut !! Description
|-
| {{attr|field}} ||
'''Obligatoire'''. Le champ qui permet de filtrer le critère.
'''Obligatoire'''. Le champ qui permet de filtrer le critère.
Pour connaître la liste des champs définis par défaut dans Pleade, se reporter au manuel Gestion de
{{remarque|Pour connaître la liste des champs définis par défaut dans Pleade, se reporter à la [[Doc/Gestion de
contenu.
contenu|documentation Gestion de contenu]]}}
value
|-
| {{attr|value}} ||
'''Obligatoire'''. La valeur que doit avoir le champ pour le filtre.
'''Obligatoire'''. La valeur que doit avoir le champ pour le filtre.
|}
Voilà l'exemple d'un filtre sur un type de documents :
Voilà l'exemple d'un filtre sur un type de documents :
<syntaxhighlight lang="xml">
<filters>
<filters>
<filter field="fgenreform" value="dessins"/>
<filter field="fgenreform" value="dessins"/>
</filters>
</filters>
</syntaxhighlight>
==== Listes dépendantes ====
==== Listes dépendantes ====
Une liste peut dépendre d'une autre c'est-à-dire que son contenu peut changer en fonction de la valeur
Une liste peut dépendre d'une autre c'est-à-dire que son contenu peut changer en fonction de la valeur sélectionnée dans l'autre liste. Par exemple, dans un formulaire pour des documents d'état civil, on pourrait vouloir que la liste des types de registres se mette à jour en fonction de la commune sélectionnée.
sélectionnée dans l'autre liste. Par exemple, dans un formulaire pour des documents d'état civil, on pourrait
[[image:search-form-advanced-feature-dependant-list.png|center]]
vouloir que la liste des types de registres se mette à jour en fonction de la commune sélectionnée.
 
Pour obtenir ce fonctionnement, il faut utiliser l'attribut :
Pour obtenir ce fonctionnement, il faut utiliser l'attribut :
updateSelect
{| class="wikitable sortable"
Placé au niveau du critère de type liste source (celle dont la sélection d'une entrée va mettre à jour la
|-
liste cible ou liste dépendante), sa valeur doit être le nom du champ (attribut field) de la liste cible
! Attribut !! Description
(celle dont le contenu va changer).Dans notre exemple de formulaire d'état civil, sa valeur serait le
|-
nom du champ correspondant aux types de registres.
| {{attr|updateSelect}} ||
Placé au niveau du critère de type liste source (celle dont la sélection d'une entrée va mettre à jour la liste cible ou liste dépendante), sa valeur doit être le nom du champ (attribut {{attr|field}}) de la liste cible (celle dont le contenu va changer).Dans notre exemple de formulaire d'état civil, sa valeur serait le nom du champ correspondant aux types de registres.
|}
De plus, au chargement du formulaire, deux comportements sont possibles :
De plus, au chargement du formulaire, deux comportements sont possibles :
* le critère cible est rempli normalement, dans ce cas en général une indication invite l'utilisateur à
* le critère cible est rempli normalement, dans ce cas en général une indication invite l'utilisateur à choisir une entrée
choisir une entrée
* le critère cible est vide et ne contient qu'une indication invitant l'utilisateur à choisir une entrée dans la liste source.
* le critère cible est vide et ne contient qu'une indication invitant l'utilisateur à choisir une entrée dans
 
la liste source.
<syntaxhighlight lang="xml">
<key type="list" field="insee" updateSelect="type" variant="combo" [...]>
<key type="list" field="insee" updateSelect="type" variant="combo" [...]>
{champ source}
{champ source}
</key>
</key>
<key type="list" field="type" variant="combo" [...]>
<key type="list" field="type" variant="combo" [...]>
{champ cible)
{champ cible}
Solution 1 : au chargement de la page, le critère est "rempli" normalement,
<!--
son premier item invite l'utilisateur à sélectionner une valeur.
Solution 1 : au chargement de la page, le critère est "rempli" normalement,
<no-choice i18n-key="form-no-choice-choix"/>
son premier item invite l'utilisateur à sélectionner une valeur.
Solution 2 : au chargement de la page, le critère est vide et ne contient
-->
qu'une unique valeur : un message invitant l'utilisateur à
<no-choice i18n-key="form-no-choice-choix"/>
sélectionner une valeur dans le champ source.
<!--
<items>
Solution 2 : au chargement de la page, le critère est vide et ne contient
<item value="" i18n-key="form-no-choice-since-insee-choix" />
qu'une unique valeur : un message invitant l'utilisateur à
</items>
sélectionner une valeur dans le champ source.
-->
<items>
<item value="" i18n-key="form-no-choice-since-insee-choix" />
</items>
</key>
</key>
</syntaxhighlight>
==== Activation conditionnelle ====
L'activation d'un champ peu être rendu conditionnelle à la saisi de valeur dans un autre, c'est-à-dire que la saisi dans le champ « {{value|A}} » activera les champs {{value|A-a}}, {{value|A-b}} et {{value|A-c}}. Par exemple, on peut rendre l'activation des champs {{value|date}} conditionnel à la saisi d'un {{value|nom de commune}}.
Ce méchanisme s'applique sur tout type de champs. Les champs à activer sont identifiés par la valeur de leur attribut {{attr|field}}, {{attr|hfield}} ou {{attr|id}} (les dates non pas de {{attr|(h)field}}).
<syntaxhighlight lang="xml" highlight="3-8">
<form ...>
<key type="suggest" field="fsubject" help="true" terms-browse="true">
<activates id="fsubject">
<activateField>fulltext</activateField>
<activateField>fgeogname</activateField>
<activateDateField>fgeogname</activateDateField>
<activateDate>annee</activateDate>
</activates>
</key>
<key type="text" field="fulltext" ... />
<key type="suggest" field="fgeogname" ... />
<key type="date"  id="annee" ... />
</form>
</syntaxhighlight>
==== Styles ====
==== Styles ====
Dans chaque élément key il est possible de définir un attribut style dont la valeur doit être valide par
Dans chaque élément {{tag|key}} il est possible de définir un attribut style dont la valeur doit être valide par rapport au contenu du même attribut dans la norme XHTML, soit des règles CSS.
rapport au contenu du même attribut dans la norme XHTML, soit des règles CSS.
[[image:search-form-advanced-feature-css-style.png|center]]
style
 
{| class="wikitable sortable"
|-
! Attribut !! Description
|-
| {{attr|style}} ||
Permet de surcharger le style CSS de l'élément de formulaire.
Permet de surcharger le style CSS de l'élément de formulaire.
|}
<syntaxhighlight lang="xml">
<key type="text" style="width:10em;" field="fulltext"/>
<key type="text" style="width:10em;" field="fulltext"/>
</syntaxhighlight>
[[category:Pleade]]
[[category:Doc]]
[[category:Index]]
[[category:Filtre]]
[[category:Formulaire de recherche]]

Dernière version du 24 avril 2013 à 10:38

Dans une application Pleade, on peut proposer aux utilisateurs des formulaires de recherche, qui permettent d'exprimer une requête et de lancer la recherche. Dans un projet d'intégration Pleade, la préparation de ces formulaires de recherche est en général une activité importante.

On peut afficher dans Pleade un formulaire de recherche avec une URL qui utilise le nom du fichier de formulaire. Par exemple, pour afficher le formulaire défini dans le fichier cadastre.xconf, il faut utiliser l'URL {{{1}}}. Donc dans le paramètre name, on indique le nom du fichier du formulaire, mais sans son extension. Tous les fichiers de configuration de formulaires sont dans le répertoire module-eadeac/conf/search-forms/.

Le formulaire nommé ead-default.xconf est un cas particulier, il peut être appelé directement par l'URL search-forms.html, sans paramètre name. Il s'agit du formulaire par défaut de Pleade.

Dans l'interface d'administration des menus, un formulaire est présenté comprenant autant d'onglets que de formulaires configurés dans l'application, plus un permettant d'ajouter un nouveau formulaire. [image:administration-search-form.png]

Structure générale

[modifier | modifier le wikicode]

La structure générale du document XML qui décrit un formulaire est schématisée ainsi :

<form ...>
	<key.../>
	<key.../>
	...
</form>

Cette structure est donc très simple : un élément <form> qui matérialise le formulaire et ensuite une suite d'éléments <key> qui représentent chacun un critère de recherche.

On constate donc une caractéristique importante des formulaires Pleade : il s'agit nécessairement d'un formulaire de recherche « à plat », c'est-à-dire constitué d'une suite de critères, mais sans regroupement, sans sous-critères, etc.

Attributs du formulaire

[modifier | modifier le wikicode]

L'élément racine form dans le fichier de définition du formulaire peut prendre ces différents attributs :

<form
	action=""
	max-chars=""
	documents=""
	auto-expand=""
>
	...
</form>

La signification des différents attributs est :

Attribut Description
action

Obligatoire. L'URL qui doit être appelée par le formulaire lorsque l'utilisateur valide sa recherche. Pour l'instant, les seules valeurs supportées par Pleade doivent être de la forme *-results.html. La valeur par défaut est results.html. Les types d'affichage des résultats possibles sont :

  • results.html : défaut. affichage selon le cadre declassement ;
  • table-results.html : affichage sous forme de tableau ;
  • list-results.html : affichage en liste sans hiérarchie ;
  • mosaic-results.html : affichage sous forme d'apercu ;
  • custom-results.html : affichage personnalisable.
max-chars

Optionnel. Dans les listes de valeurs, le nombre maximal de caractères à afficher en largeur, afin d'éviter des débordements (listes trop longues en largeur). Cette indication peut également être fournie dans la définition d'un critère de recherche.

documents

Obligatoire. La base de documents à rechercher, dans une installation standard de Pleade, les valeurs possibles sont : ead, eac ou tout autre bases définies. Plusieurs valeurs peuvent être indiquées séparées par une espace.

auto-expand

Optionnel. Les résultats de recherche étant affichés dans l'ordre du cadre de classement, on peut indiquer avec cet attribut comment les entrées du cadre de classement seront affichées, c'est-à-dire si elles seront automatiquement « ouvertes » ou non. Si cet attribut n'est pas renseigné, c'est le paramètre d'installation correspondant qui fait foi.

Cet attribut peut prendre différentes valeurs :

  • _all : tous les niveaux seront automatique ouverts ;
  • n (un entier) : les entrées jusqu'au niveau indiqué seront automatiquement ouvertes ;
  • docs:n (la mention « docs » suivie d'un nombre) :une entrée sera ouverte uniquement si elle contient au plus n documents résultats.
  • units:n (la mention « units » suivie d'un nombre) : une entrée sera ouverte uniquement si elle contient au plus n unités de recherche résultats.

Les critères de recherche

[modifier | modifier le wikicode]

Principales caractéristiques communes

[modifier | modifier le wikicode]

Chaque critère de recherche est exprimé par un élément <key>. Cet élément peut prendre de nombreux attributs mais également des sous-éléments. Ces attributs ou sous-éléments sont parfois communs à l'ensemble des critères, soit spécifiques à un type de critère.

Nous allons dans un premier explorer les principales caractéristiques communes à tous les types de critères. La structure générale de l'élément <key> est la suivante :

<key
	id=""
	type=""
	field=""
	fieldh=""
	connector=""
	format=""
	max-chars=""
	terms-browse=""
	help=""
>
	...
</key>

Les attributs et leur définition sont :

Attribut Description
id

Optionnel. L'identifiant unique du critère qui va permettre de pouvoir distinguer le critère d'un autre dans la mise en forme par feuille de style CSS.

type

Obligatoire. Le type de critère ; ce qui va déterminer comment il sera affiché (zone de saisie, liste, etc.) et aussi quels sont les autres attributs qui pourront lui être associés. Les valeurs possibles sont : cdc, text, suggest, list, hidden, date et boolean.

field

Obligatoire pour la plupart des types de critères. Le champ dans lequel s'effectue la recherche avec ce critère. Si l'attribut fieldh est spécifié, l'attribut field indique le champ utilisé lorsqu'un seul critère de recherche est renseigné par l'utilisateur.

Pour connaître la liste des champs définis par défaut dans Pleade, se reporter au manuel Gestion de contenu.

fieldh

Optionnel, mais fortement conseillé pour la plupart des types de critères. Le champ dupliqué dans lequel s'effectue la recherche si au moins deux critères de recherche sont renseignés par l'utilisateur.

connector

Optionnel. Des informations sur l'opérateur booléen entre ce critère et le précédent dans le formulaire. La valeur de cet attribut est un nombre :

  • 1 : l'opérateur est forcément le ET, il ne sera pas affiché. C'est également le comportement si

l'attribut connector n'est pas renseigné.

  • 2 : l'opérateur est forcément le OU, il ne sera pas affiché.
  • 3 : l'opérateur peut être le ET ou le OU, et le choix sera laissé à l'utilisateur, par l'affichage

d'une liste déroulante à gauche du critère.

  • 4 : l'opérateur est forcément le SAUF, il ne sera pas affiché.
Fichier:Search-form-connector.png
format

Optionnel. Le format accepté pour le critère, particulièrement utile pour les dates ou les zones de texte, dans certains cas ; il déclenche la validation par javascript du critère à la soumission du formulaire. Si l'utilisateur saisit une valeur non permise par le format, le formulaire ne sera pas validé et un message sera affiché.

Le contenu de cet attribut doit être une expression régulière valide en Javascript.

max-chars

Optionnel. Dans les listes de valeurs, le nombre maximal de caractères à afficher en largeur, afin d'éviter des débordements (listes trop longues en largeur). Cette indication peut également être fournie dans la définition d'un critère de recherche.

Si cet attribut n'est pas renseigné, c'est la valeur de l'attribut défini au niveau de l'élément form qui s'applique sauf dans le cas des dates, où la valeur est automatiquement fixée à quatre (recherche par année seulement).

help

Optionnel. Si sa valeur est true, un bouton d'aide est affiché à droite du critère.

Fichier:Search-form-help-bubble.png

Les critères peuvent prendre d'autres attributs, qui sont expliqués soit dans les explications sur les différents types de critères dans la section suivante soit dans les fonctions avancées un peu plus loin (#Fonctions avancées).

Types de critères

[modifier | modifier le wikicode]

Un formulaire de test reprenant les types de critères courants et des commentaires explicatifs est livré par défaut. Il peut servir de modèle pour créer ou modifier un formulaire. Ce formulaire de test est visible à l'URL {{{1}}}.

Critère caché (hidden)

[modifier | modifier le wikicode]

Les critères cachés permettent d'ajouter systématiquement un critère de recherche de manière transparente pour l'utilisateur. On doit utiliser la valeur hidden pour l'attribut type. Il supporte un attribut spécifique :

Attribut Description
value

Obligatoire pour utiliser ce critère. Il s'agit de la valeur que doit avoir le champ indiqué dans l'attribut field.

<key type="hidden" connector="2" field="unitid" value="2002W" />

Cadre de classement (cdc)

[modifier | modifier le wikicode]

Ce critère se comporte de manière particulière : il permet d'afficher le cadre de classement à droite du formulaire, et l'utilisateur pourra choisir une ou plusieurs entrées du cadre de classement à l'aide de cases à cocher.

Fichier:Search-form-key-type-cdc.png

Il ne supporte aucun attribut spécifique.

<key type="cdc"/>

Pour un critère de ce type, les attributs field et fieldh ne sont pas utiles, car Pleade utilise toujours les mêmes champs de recherche. De même, l'attribut help n'a aucun impact.

Zone de texte (text)

[modifier | modifier le wikicode]

Ce critère se présente sous la forme d'une zone de texte où l'utilisateur peut saisir librement des mots, expressions, etc. On l'utilise normalement pour des recherches sur des champs de type « mot ».

Fichier:Search-form-key-type-text.png

Pour un tel critère, on peut ajouter des attributs afin de permettre à l'utilisateur de choisir un autre champ de recherche, un champ « alternatif ». Cela est particulièrement utile pour proposer à l'utilisateur d'étendre la recherche aux documents associés, comme le fait le formulaire par défaut de la distribution standard de Pleade.

Quand est un champ alternatif est défini pour un critère, une boîte à cocher est affichée sous le critère offrant à l'utilisateur un choix.

<key
	type="text"
	field="fulltext" fieldh="hfulltext"
	help="true"
	alternate-field="extfulltext" alternate-fieldh="hextfulltext" alternate-field-checked="false"
/>

Pour réaliser cela, il faut ajouter les attributs suivants à l'élément <key> :

Attribut Description
alternate-field

Obligatoire pour utiliser cette fonctionnalité. Le nom du champ à rechercher si l'utilisateur choisit cette option. Si l'attribut alternate-fieldh est également renseigné, ce champ sera utilisé uniquement s'il y a un seul critère de recherche.

alternate-fieldh

Optionnel mais fortement recommandé. Le nom du champ dupliqué alternatif à rechercher si l'utilisateur renseigne au moins deux critères de recherche.

alternate-field-checked

Optionnel, défaut: false. Si la valeur est true, l'option pour le champ alternatif sera déjà sélectionnée au moment d'afficher le formulaire.


Notice :
À noter que les champs alternatifs sont supportés uniquement pour les critères de type texte dans Pleade.

On peut également omettre l'attribut field et plutôt proposer à l'utilisateur de choisir un champ de recherche parmi une liste.

Fichier:Search-form-key-type-text-fields-list.png

Pour ce faire, il faut donc ne pas renseigner l'attribut field mais plutôt des sous-éléments field tel que dans cet exemple :

<key type="text" ...>
	<field name="scopecontent"/>
	<field name="unittitle" default="true"/>
	<field name="fulltext"/>
</key>

Dans cet exemple, trois champs seront proposés à l'utilisateur, avec une liste déroulante située à gauche de la zone de texte. La seconde valeur sera pré-sélectionnée, grâce à la présence de l'attribut default avec la valeur true.


Notice :
À noter que si vous utilisez cette possibilité de laisser à l'utilisateur le choix du champ, l'attribut fieldh n'est pas utilisé et il n'est actuellement pas possible de faire l'équivalent.

Les listes sont destinées à présenter à l'utilisateur une liste de choix. Il peut alors sélectionner une ou plusieurs valeurs et effectuer une recherche sur ces valeurs. Les listes peuvent être présentées de différentes façons, et c'est la valeur de l'attribut variant qui va le déterminer :

Attribut Description
combo

Une liste déroulante. Dans la liste, l'utilisateur ne peut sélectionner qu'une valeur, mais Pleade offre la possibilité d'ajouter d'autres valeurs.

Fichier:Search-form-key-type-list-variant-combo.png
fixed

Une liste à hauteur fixe, c'est-à-dire avec un nombre prédéfini de valeurs affichées. On peut directement sélectionner plusieurs valeurs.

Fichier:Search-form-key-type-list-variant-fixed.png
checkbox

Des cases à cocher, donc chaque item de la liste est accompagné d'une case à cocher. On peut sélectionner plusieurs valeurs.

Fichier:Search-form-key-type-list-variant-checkbox.png
radio

Des boutons radio, donc chaque item de la liste est accompagné d'un bouton radio. On ne peut sélectionner qu'une seule valeur.

Fichier:Search-form-key-type-list-variant-radio.png

En général, les valeurs de la liste seront automatiquement renseignées par Pleade à partir des valeurs que l'on trouve dans le champ indiqué par l'attribut field.


Remarques : On peut également contrôler l'opérateur intra-champ, voir la section #Choix de l'opérateur intra-champ.

Suggestions (suggest)

[modifier | modifier le wikicode]

Les suggestions sont un cas particulier de liste : toutes les valeurs ne sont pas présentées directement à l'utilisateur, celui-ci va plutôt saisir quelques lettres et la liste sera filtrée automatiquement avec des entrées qui contiennent ces lettres, sans tenir compte des accents et des majuscules/minuscules.

Fichier:Search-form-key-type-suggest.png

Pour avoir un tel critère, il s'agit d'utiliser l'attribut type avec une valeur suggest. Par défaut, l'utilisateur peut sélectionner plusieurs valeurs, mais si l'on souhaite qu'il ne sélectionne qu'une seule valeur on peut ajouter un attribut multiple et lui assigner la valeur false :

<key type="suggest" field="fgeogname" help="true" multiple="false"/>


Remarques : On peut également contrôler l'opérateur intra-champ, voir la section #Choix de l'opérateur intra-champ.

Booléens (boolean)

[modifier | modifier le wikicode]

Un critère booléen est un critère qui ne peut prendre que deux valeurs, vrai ou faux. Il se présente sous la forme d'une boîte à cocher. On utilise généralement ce critère pour filtrer la recherche sur un attribut particulier : par exemple, les documents illustrés, limiter la recherche aux articles, etc.

Fichier:Search-form-key-type-boolean.png

Pour un tel critère, on peut ajouter les attributs particuliers suivants :

Attribut Description
value-on

Obligatoire pour utiliser ce critère. Il s'agit de la valeur que doit avoir le champ indiqué dans l'attribut field.

default

Si la valeur de cet attribut est on, la case sera cochée par défaut.

<key type="boolean" field="fgeogname" value-on="Afrique" default="on" connector="3" />

La recherche par dates est traitée de manière particulière dans Pleade et fait l'objet d'un type de critère bien particulier. Il n'est pas nécessaire de préciser le champ de recherche car Pleade va toujours utiliser les mêmes champs associés aux dates extrêmes (bdate et edate). De plus, il n'est pas nécessaire d'utiliser le mécanisme des champs dupliqués et de l'attribut fieldh car les dates sont déjà héritées par défaut dans Pleade.

Fichier:Search-form-key-type-date.png

Donc pour effectuer une recherche par dates, on doit utiliser une syntaxe telle que celle-ci :

<key
	type="date"
	id="annee"
	variant="exact interval"
	max-chars="4"
	format="(\d)+"
	help="true"
/>

Les attributs type, format, max-chars et help ont déjà été évoqués, les autres attributs sont :

Attribut Description
id

Obligatoire. L'identifiant du critère, utilisé pour le lier avec les clés i18n pour la génération des textes.

variant

Obligatoire. Des précisions sur les zones de texte à saisir. Si cet attribut contient exact, une recherche d'une date exacte sera proposée. Si cet attribut contient interval, une recherche par intervalle sera proposée. On peut bien sûr obtenir les deux en indiquant les deux mots, séparés par une espace comme dans l'exemple ci-dessus.

Fonctions avancées

[modifier | modifier le wikicode]

Troncature implicite

[modifier | modifier le wikicode]

Une troncature permet de faire une recherche sur une partie d'un mot. Par exemple, une troncature à droite sur le mot « bois » s'écrit « bois* ». La recherche s'effectue alors sur tous les mots commençant par « bois ». L'astérisque étant un méta-caractère, la chaine subi une expansion par la droite.

Une troncature implicite peut être ajoutée aux éléments de formulaire de type text. Pour ajouter la troncature automatiquement à la validation du formulaire, il suffit d'ajouter l'attribut truncate.

Attribut Description
truncate

Permet de déterminer où sera ajoutée la troncature implicite. Cet attribut peut prendre les valeurs left, right ou both, respectivement expansion par la gauche, la droite ou les deux côté.

<key type="text" field="fulltext" truncate="left"/>
<key type="text" field="fulltext" truncate="right"/>
<key type="text" field="fulltext" truncate="both"/>

Choix de l'opérateur intra-champ

[modifier | modifier le wikicode]

Par défaut, l'opérateur intra-champ pour tous les éléments de formulaire qui ne sont pas de type list ou suggest, est le ET logique. Pour les éléments de type list et suggest, l'opérateur intra-champ par défaut est le OU logique.

Il est possible de changer ces valeurs par défaut au moyen de l'attribut op dans les éléments key.

Attribut Description
op

Cet attribut peut prendre les valeurs AND ou OR. Il permet de définir l'opérateur intra-champs.

op-display

Permet de gérer l'affichage de ces opérateurs dans l'interface. Il peut prendre les valeurs true ou false.

Dans le cas des éléments de formulaire de type list avec les attributs variant=fixed et selection=multiple, ainsi que pour les éléments de type suggest multiples, les opérateurs s'afficheront lorsqu'il y a plus de deux sélections.

Fichier:Search-form-advanced-feature-operator.png

Exemple :

<key type="suggest" field="fgeogname" style="background:#00CCFF" help="true" op-display="true"/>
<key type="suggest" field="fgeogname" style="background:coral" op-display="true" op="AND"/>
<key type="list" variant="combo" rows="5"
	selection="multiple" op-display="true"
	display-field="fatitle" field="root-id"
>
	<no-choice i18n-key="form-no-choice-choix"/>
</key>

Accès au index

[modifier | modifier le wikicode]

Pour chaque critère, il est possible d'ajouter un bouton permettant de parcourir dans un panneau, la liste des termes indexés, associés au champ de la suggestion. Pour cela, il suffit d'ajouter :

Attribut Description
terms-browse

Optionnel. Permet d'activer l'aide à la recherche de type « navigation d'index » ; c'est-à-dire une icône placée à droite du critère qui déclenche l'affichage d'un panneau listant tous les termes indexés dans un champ de recherche. Cet attribut peut avoir plusieurs valeurs :

  • true ou 1 : cette aide est activée et l'index consulté est celui indiqué comme valeur de l'attribut field ;
  • vide, false ou 0 : cette aide n'est pas activée. Même chose si cet attribut est absent.
  • contient le nom d'un champ autre que celui indiqué comme valeur de l'attribut field : cette aide est activée et l'index consulté est celui indiqué comme valeur d'attribut.
terms-browse-hpp

Optionnel. Cet attribut permet de préciser le nombre d'entrées par page proposées dans la fenêtre de consultation de l'index.

Fichier:Search-form-advanced-feature-nav-index.png

Accès à un thesaurus

[modifier | modifier le wikicode]
Notice :
Cette partie ne concerne que les applications Pleade disposant du module Thesaurus.

Pour chaque critère dont le champ de recherche est lié à un vocabulaire contrôlé, il est possible d'ajouter un bouton permettant de consulter ce vocabulaire s'il est géré par ThesX.

Fichier:Search-form-advanced-feature-thesaurus.png

Pour cela, il suffit d'ajouter :

Attribut Description
thesx-browse

Optionnel. Permet d'activer l'aide à la recherche de type « consultation de thesaurus » dans un panneau ; c'est-à-dire une icône placée à droite du critère qui déclenche l'affichage d'un panneau permettant de naviguer dans le thesaurus. Cet attribut peut avoir plusieurs valeurs :

  • true ou 1 : cette aide est activée et le thesaurus consulté est celui dont l'identifiant correspond à celui indiqué comme valeur de l'attribut thesx-id ;
  • vide, false ou 0 : cette aide n'est pas activée. Même chose si cet attribut est absent.
thesx-id

Optionnel mais obligatoire si l'attribut thesx-browse active l'aide. Il s'agit de l'identifiant du thesaurus géré par ThesX que l'on veut consulter.

thesx-relations

Optionnel. Cet attribut permet de préciser selon quel type de relations on veut étendre la recherche. Par défaut la recherche est étendue au terme sélectionné et à tous ses spécifiques (relation TS).

Il est possible à l'aide d'un critère ou plusieurs critères cachés de limiter la recherche à l'aide d'un formulaire de recherche à une rubrique (voir section suivante 5) Rubriques), à une liste d'instruments de recherche, à une valeur particulière pour un champ. Dans ce cas, si jamais le formulaire de recherche propose des listes ou des aides à la recherche comme un accès aux index, il faut que ces listes soient elles-aussi filtrées par les mêmes critères.


Important :
(est-ce toujours vrai en 2012 ?) Pour le moment, les filtres ne fonctionnent pas avec les critères de type suggestions.
Notice :
L'usage des filtres peut remplacer les rubriques.

Pour filtrer un critère de recherche, on doit utiliser une syntaxe telle que :

<key type="..." ...>
	<filters>
		<filter field="" value=""/>
	</filters>
</key>

L'élément <filters> permet de définir un ensemble de filtre. Il contient des éléments <filter> : chaque filtre est exprimé par un élément <filter>. Cet élément peut prendre deux attributs :

Attribut Description
field

Obligatoire. Le champ qui permet de filtrer le critère.

Remarques : Pour connaître la liste des champs définis par défaut dans Pleade, se reporter à la [[Doc/Gestion de contenu|documentation Gestion de contenu]].

value

Obligatoire. La valeur que doit avoir le champ pour le filtre.

Voilà l'exemple d'un filtre sur un type de documents :

<filters>
	<filter field="fgenreform" value="dessins"/>
</filters>

Listes dépendantes

[modifier | modifier le wikicode]

Une liste peut dépendre d'une autre c'est-à-dire que son contenu peut changer en fonction de la valeur sélectionnée dans l'autre liste. Par exemple, dans un formulaire pour des documents d'état civil, on pourrait vouloir que la liste des types de registres se mette à jour en fonction de la commune sélectionnée.

Fichier:Search-form-advanced-feature-dependant-list.png

Pour obtenir ce fonctionnement, il faut utiliser l'attribut :

Attribut Description
updateSelect

Placé au niveau du critère de type liste source (celle dont la sélection d'une entrée va mettre à jour la liste cible ou liste dépendante), sa valeur doit être le nom du champ (attribut field) de la liste cible (celle dont le contenu va changer).Dans notre exemple de formulaire d'état civil, sa valeur serait le nom du champ correspondant aux types de registres.

De plus, au chargement du formulaire, deux comportements sont possibles :

  • le critère cible est rempli normalement, dans ce cas en général une indication invite l'utilisateur à choisir une entrée
  • le critère cible est vide et ne contient qu'une indication invitant l'utilisateur à choisir une entrée dans la liste source.
<key type="list" field="insee" updateSelect="type" variant="combo" [...]>
	{champ source}
</key>
<key type="list" field="type" variant="combo" [...]>
	{champ cible}
	<!--
		Solution 1 : au chargement de la page, le critère est "rempli" normalement,
		son premier item invite l'utilisateur à sélectionner une valeur.
	-->
	<no-choice i18n-key="form-no-choice-choix"/>
	<!--
		Solution 2 : au chargement de la page, le critère est vide et ne contient
		qu'une unique valeur : un message invitant l'utilisateur à
		sélectionner une valeur dans le champ source.
	-->
	<items>
		<item value="" i18n-key="form-no-choice-since-insee-choix" />
	</items>
</key>

Activation conditionnelle

[modifier | modifier le wikicode]

L'activation d'un champ peu être rendu conditionnelle à la saisi de valeur dans un autre, c'est-à-dire que la saisi dans le champ « A » activera les champs A-a, A-b et A-c. Par exemple, on peut rendre l'activation des champs date conditionnel à la saisi d'un nom de commune.

Ce méchanisme s'applique sur tout type de champs. Les champs à activer sont identifiés par la valeur de leur attribut field, hfield ou id (les dates non pas de (h)field).

<form ...>
	<key type="suggest" field="fsubject" help="true" terms-browse="true">
		<activates id="fsubject">
			<activateField>fulltext</activateField>
			<activateField>fgeogname</activateField>
			<activateDateField>fgeogname</activateDateField>
			<activateDate>annee</activateDate>
		</activates>
	</key>
	<key type="text" field="fulltext" ... />
	<key type="suggest" field="fgeogname" ... />
	<key type="date"  id="annee" ... />
</form>

Dans chaque élément <key> il est possible de définir un attribut style dont la valeur doit être valide par rapport au contenu du même attribut dans la norme XHTML, soit des règles CSS.

Fichier:Search-form-advanced-feature-css-style.png
Attribut Description
style

Permet de surcharger le style CSS de l'élément de formulaire.

<key type="text" style="width:10em;" field="fulltext"/>