Entrée de Registre Resource
Indiquez une ressource (une chaîne) qui pointe vers un document (local ou web) ou un moteur de recherche à partir d'un module.
La fonction Ressources peut être utilisée depuis l'intérieur d'un enregistrement afin de :
- Ouvrir / Afficher un document (pas forcément un document HTML).
- Chercher sur Internet en utilisant les détails d'un enregistrement (génération dynamique de recherches d'URL).
Une Ressource est une chaîne de caractères, généralement une URL, générée depuis une entrée de Registre et pointant vers un document ou un moteur de recherche. Le document peut aussi être un document en local (un fichier MS Word par exemple) ou un document disponible sur le réseau.
L'utilisation la plus courante des Ressources consiste à extraire des données de l'enregistrement en cours, à les insérer dans une URL et à envoyer cette dernière à un moteur de recherche. Par exemple, une institution d’Histoire naturelle souhaite extraire le genre et l'espèce d'un enregistrement et effectuer une recherche GBIF (Global Biodiversity Information Facility, Système mondial d'informations sur la biodiversité) en utilisant ces informations. L'entrée de Registre Resources permet de générer des URL de manière dynamique en fonction des données trouvées dans l'enregistrement actuel.
La fonction Ressources se trouve dans l'onglet Outils du ruban :
Les valeurs du sous-menu (ex. Recherche Google) sont définies dans la base de Registre.
Pour ajouter une valeur au sous-menu, il est nécessaire de créer une entrée de Registre qui définit :
- L'étiquette à afficher dans le sous-menu (titre).
- La Ressource à afficher lorsque l'entrée est sélectionnée.
Utilisation
Cette entrée de Registre est attribuée aux utilisateurs et aux groupes :
Clé | Utilisateur | Utilisateur | Groupe | Groupe | Groupe | Groupe |
---|---|---|---|---|---|---|
Clé 1 | User
|
User
|
Group
|
Group
|
Group
|
Group
|
Clé 2 | utilisateur | utilisateur | groupe | groupe | Default
|
Default
|
Clé 3 | Table
|
Table
|
Table
|
Table
|
Table
|
Table
|
Clé 4 | table | Default
|
table | Default
|
table | Default
|
Clé 5 | Resource
|
|||||
Clé 6 | titre | |||||
Valeur | ressource |
User
|
utilisateur | Table
|
table | Resource
|
titre | ressource |
User
|
utilisateur | Table
|
Default
|
Resource
|
titre | ressource |
Group
|
groupe | Table
|
table | Resource
|
titre | ressource |
Group
|
groupe | Table
|
Default
|
Resource
|
titre | ressource |
Group
|
Default
|
Table
|
table | Resource
|
titre | ressource |
Group
|
Default
|
Table
|
Default
|
Resource
|
titre | ressource |
où :
titre |
est le nom d'une ressource affichée à l'option Ressources dans l'onglet Outils du ruban. Lorsque le même titre est défini pour une Ressource, l'entrée en haut dans la liste prend le pas sur une entrée qui est plus basse. Donc, dans cet exemple :
lorsque tous les utilisateurs, y compris fred, sélectionnent Ressources, le sous-menu Ressources affiche deux entrées : Recherche Google et Recherche GBIF. Cependant, lorsque fred sélectionne Ressources>Recherche Google, la ressource affichée sera ressource1, tandis que tous les autres utilisateurs verront ressource2. Les Ressources apparaissent dans l'ordre alphabétique des titres. |
|||||||||||||||||||||
ressource |
définit le chemin d'accès à la ressource à afficher ou à récupérer. En général, ce chemin prend la forme d'une URL, mais tout autre localisateur de document (par exemple, un chemin de fichier) peut être utilisé. Afin de permettre aux données de l'enregistrement en cours d'être incorporées dans un chemin de ressources, un parser XML est utilisé. En d'autres termes, vous définissez comment le chemin du document doit être construit dans le XML. Le XML utilisé ne comprend que six balises, mais est assez flexible pour créer un chemin de document. Voici un aperçu complet de l’utilisation des six balises pour définir ressource. Un aperçu détaillé des six balises et de leurs attributs est disponible dans Référence XML. Comment définir ressource
Prenez cet exemple simple. L'entrée ressource suivante affichera la page d'accueil du GBIF si elle est sélectionnée : <resource> <location> <text>http://www.gbif.org/</text> </location> </resource> Comment spécifier l’esperluette (&) ?
Lors de l'utilisation du caractère esperluette (&) dans une définition de Ressource, il doit être spécifié comme :
Par exemple :
<resource>
La première chose à remarquer est que l'ensemble de l'entrée est incluse dans les balises <resource></resource>. Les balises <location> incluent les balises <text> qui génèrent un chemin d'accès unique au document. Un certain nombre de balises <location> peuvent apparaître dans une paire de balises <resource></resource>. <location>
Chaque Tag <location> génère un chemin d'accès. Au moment du traitement, chaque section <location> est évaluée, l'une après l'autre, jusqu'à ce qu'un chemin d'accès non-vide soit trouvé. Si le traitement est terminé et qu'aucun chemin non-vide n'est retourné, le titre de la Ressource est retiré du sous-menu Ressources. <text>
La balise <text> définit le texte utilisé pour construire un chemin de document. Dans l'exemple ci-dessus, le résultat de l'exécution du XML serait L'exemple ci-dessus, bien qu'utile, est un peu restrictif. Idéalement, nous voulons inclure les données de l'enregistrement en cours. La balise <value> permet d'extraire des données et de les ajouter au chemin d'un document. L'exemple ci-dessous ajoute la valeur de la colonne IdeGenus comme terme de recherche pour Google : <resource> <location> <text>http://www.google.com/search?hl=en&q=</text> <value column="IdeGenus" format="url"/> </location> </resource> <value>
La balise <value> récupère les données de l’attribut colonne spécifié (dans ce cas IdeGenus) et les extrait comme partie du chemin du document. L'attribut format indique que les données doivent être encodées selon les règles d’encodage des URL (voir http://www.rfc-editor.org/rfc/rfc1738.txt pour plus de détails sur l’encodage des URL). En effet, l’encodage garantit que les données peuvent être envoyées via une URL. Ainsi, si la colonne IdeGenus contient Panthère, le résultat pour la ressource ci-dessus sera http://www.google.com/search?hl=en&q=Panthère, ce qui lancera une recherche Google pour le terme Panthère, et affichera les résultats :
Les tags <value> et <text> peuvent être combinés pour construire des chemins d'accès complexes. Par exemple, nous voulons inclure le Genre (IdeGenus) et l'Espèce (IdeSpecies) dans la recherche Google. Pour faire apparaître les termes l'un à côté de l'autre, ils doivent être entourés de doubles guillemets (encodé %22 en URL) avec un espace entre chaque terme (encodé + en URL). La ressource suivante peut être utilisée : <resource> <location> <text>http://www.google.com/search?hl=en&q=%22</text> <value column="IdeGenus" format="url" /> <text>+</text> <value column="IdeSpecies" format="url" /> <text>%22</text> </location> </resource> Si nous avons comme genre Panthera et comme espèce leo, le chemin généré sera : http://www.google.com/search?hl=en&q=%22Panthera+leo%22 qui initiera une recherche Google et donnera l'affichage suivant :
Un chemin d'accès très complexe peut être construit en utilisant les quatre tags discutés ci-dessus. <if>
La cinquième balise, <if>, est une balise conditionnelle qui permet de contrôler si un chemin de document doit être calculé. Dans l'exemple ci-dessus, nous ne voulons effectuer la recherche Google que si les champs Genre et Espèce contiennent des valeurs. La balise <if> permet de tester un champ pour qu'il soit rempli/vide ou pour une valeur donnée. Si la balise a pour valeur true, alors les balises internes sont évaluées, sinon elles sont ignorées. Dans cet exemple, un chemin d'accès est produit seulement si les champs Genre et Espèce contiennent des valeurs : <resource> <location> <if column="IdeGenus" filled="yes"> <if column="IdeSpecies" filled="yes"> <text>http://www.google.com/search?hl=en&q=%22</text> <value column="IdeGenus" format="url"/> <text>+</text> <value column="IdeSpecies" format="url"/> <text>%22</text> </if> </if> </location> </resource> La balise <if> prend le nom d’une colonne pour identifier le champ à tester. L'attribut filled peut être défini sur yes ou no pour indiquer si le champ doit être rempli ou vide (respectivement). Ainsi, la balise <if column="IdeGenus" filled="yes"> est vraie si IdeGenus a une valeur. Si le champ est rempli, le traitement se poursuit avec les balises internes (dans ce cas, une autre balise <if> ), sinon tout ce qi est inclus jusqu'à la balise de fermeture </if> est ignoré. Dans l'exemple ci-dessus, les balises <text> et <value> ne sont traitées que si les champs Genre et Espèces contiennent une valeur, sinon un chemin d'accès au document est généré. Si le chemin d'accès au document est vide, la ressource est supprimée du sous-menu Ressources (vous pouvez afficher la ressource de manière permanente en définissant l'attribut visible de la balise <resource> sur "yes", c'est-à-dire <resource visible="yes">). <title>
La dernière balise, <title>, permet de modifier le titre du menu. Vous pouvez notamment vouloir inclure des données dans la légende. La balise <title> peut inclure les balises <text>, <if> et <value>. Tout résultat généré par les balises <text> et <value>, lorsqu'elles sont incluses dans une balise <title>, remplaceront le texte titre défini dans le registre. L'exemple suivant développe l'exemple précédent en ajoutant les valeurs Genre et Espèce à la légende de menu affichée : <resource> <location> <if column="IdeGenus" filled="yes"> <if column="IdeSpecies" filled="yes"> <text>http://www.google.com/search?hl=en&q=%22</text> <value column="IdeGenus" format="url"/> <text>+</text> <value column="IdeSpecies" format="url"/> <text>%22</text> <title> <text>Lookup Google for "</text> <value column="IdeGenus"/> <text> </text> <value column="IdeSpecies"/> <text>"</text> </title> </if> </if> </location> </resource> Exemple
Il est possible de construire des chemins de document avancés avec une combinaison des six balises. Plusieurs balises L'exemple ci-dessous utilise les possibilités évoquées pour générer une URL Google (parmi trois) selon que les champs Genre et / ou Espèce sont remplis ou non : <resource> <location> <if column="IdeGenus" filled="yes"> <if column="IdeSpecies" filled="yes"> <text>http://www.google.com/search?hl=en&q=%22</text> <value column="IdeGenus" format="url" /> <text>+</text> <value column="IdeSpecies" format="url" /> <text>%22</text> </if> </if> </location> <location> <if column="IdeGenus" filled="yes"> <text>http://www.google.com/search?hl=en&q=</text> <value column="IdeGenus" format="url" /> </if> </location> <location> <if column="IdeSpecies" filled="yes"> <text>http://www.google.com/search?hl=en&q=</text> <value column="IdeSpecies" format="url" /> </if> </location> </resource> La première section <location> est utilisée si le genre et l'espèce sont fournies, la seconde section <location> si seulement le genre est fourni et la troisième si seulement une espèce est fournie. S'il n'y a ni genre ni espèce, le résultat est un chemin d'accès vide et la Ressource est désactivée. |
Exemples
Dans cet exemple, le Thésaurus d'Art et d'Architecture Getty est utilisé pour consulter les termes insérés pendant la création ou l'édition d'un enregistrement. Dans le but d'utiliser la ressource, l'utilisateur doit saisir une valeur dans le premier champ de la colonne SubSubject_tab. Le format URL utilisé par Getty est :
http://www.getty.edu/vow/AATServlet?find=term&page=1¬e=
Afin d'utiliser l'URL, nous devons ajouter le terme à partir des données. La ressource XML suivante peut être utilisée :
<resource visible="yes">
<location>
<if column="SubSubject_tab" filled="yes">
<text>http://www.getty.edu/vow/AATServlet?find=</text>
<value column="SubSubject_tab" format="url" />
<text>&page=1&note=</text>
</if>
</location>
</resource>
L'entrée de Registre complète sera :
Clé | Paramètre |
---|---|
Clé 1 | Group
|
Clé 2 | Default
|
Clé 3 | Table
|
Clé 4 | ecatalogue
|
Clé 5 | Resource
|
Clé 6 | Lookup AAT (Getty)
|
Valeur | <resource><location><if column="SubSubject_tab" filled="yes"> <text>http://www.getty.edu/vow/AATServlet?find=</text> <value column="SubSubject_tab" format="url" /> <text>&page=1&note=</text></if></location></resource> |
Cette fois une recherche Google sur une œuvre d'art est exécutée. Les champs Titre (TitMainTitle) et Créateur (CreCreatorName) sont utilisés pour la recherche.
Le format de l'URL pour Google est :
http://www.google.com/search?hl=en&q=terms
où terms est une série de valeurs individuelles séparées par des caractères « + ». Si un terme est composé de multiples mots, il doit être entouré par des doubles guillemets. Dans cet exemple, le Titre est supposé avoir une valeur, mais les Créateurs sont optionnels. La ressource XML suivante peut être utilisée :
<resource>
<location>
<if column="TitMainTitle" filled="yes">
<text>http://www.google.com/search?hl=en&q=%22</text>
<value column="TitMainTitle" format="url" />
<text>%22</text>
<if column="CreCreatorName" filled="yes">
<text>&q=%22</text>
<value column="CreCreatorName" rows="all" separator=" " format="url"/>
<text>%22</text>
</if>
</if>
</location>
</resource>
Notons que %22
est utilisé pour encoder des doubles guillemets en URL. L'entrée de Registre complète sera :
Clé | Paramètre |
---|---|
Clé 1 | Group
|
Clé 2 | Default
|
Clé 3 | Table
|
Clé 4 | ecatalogue
|
Clé 5 | Resource
|
Clé 6 | Search Google for work
|
Valeur | <resource><location><if column="TitMainTitle" filled="yes"> <text>http://www.google.com/search?hl=en&q=%22</text> <value column="TitMainTitle" format="url" /> <text>%22</text> <if column="CreCreatorName" filled="yes"><text>&q=%22</text><value column="CreCreatorName" rows="all" separator=" " format="url"/><text>%22</text></if></if></location></resource> |
GBIF (Global Biodiversity Information Facility) est un portail d'informations taxonomiques (parmi d'autres choses). Dans cet exemple, le Genre (IdeGenus), l'Espèce (IdeSpecies) et la Sous-espèce (IdeSubspecies) sont utilisés pour interroger ce portail. Si l'une de ces données est disponible, la recherche est possible.
Le format de l'URL pour GBIF est :
http://www.gbif.net/portal/ecat_search.jsp?countryKey=0&nextTask=ecat_search.jsp?countryKey=0&nextTask=ecat_search.jsp&search=terms
où terms est un nom taxonomique (genre, espèce, sous-espèce). La ressource XML suivante peut être utilisée :
<resource>
<location>
<if column="IdeGenus" filled="yes">
<text>http://www.gbif.net/portal/ecat_search.jsp?countryKey=0&nextTask=ecat_search.jsp&search=</text>
<value column="IdeGenus" format="url" />
<if column="IdeSpecies" filled="yes">
<text>+</text>
<value column="IdeSpecies" format="url"/>
</if>
<if column="IdeSubspecies" filled="yes">
<text>+</text>
<value column="IdeSubspecies" format="url"/>
</if>
</if>
</location>
<location>
<if column="IdeSpecies" filled="yes">
<text>http://www.gbif.net/portal/ecat_search.jsp?countryKey=0&nextTask=ecat_search.jsp&search=</text>
<value column="IdeSpecies" format="url" />
<value column="IdeSpecies" format="url" />
<if column="IdeSubspecies" filled="yes">
<text>+</text>
<value column="IdeSubspecies" format="url"/>
</if>
</if>
</location>
<location>
<if column="IdeSubspecies" filled="yes">
<text>http://www.gbif.net/portal/ecat_search.jsp?countryKey=0&nextTask=ecat_search.jsp&search=</text>
<value column="IdeSubspecies" format="url" />
</if>
</location>
</resource>
L'entrée de Registre complète sera :
Clé | Paramètre |
---|---|
Clé 1 | Group
|
Clé 2 | Default
|
Clé 3 | Table
|
Clé 4 | ecatalogue
|
Clé 5 | Resource
|
Clé 6 | Search GBIF
|
Valeur | <resource><location><if column="IdeGenus" filled="yes"><text>http://www.gbif.net/portal/ecat_search.jsp?countryKey=0&nextTask=ecat_search.jsp&search=</text><value column="IdeGenus" format="url" /><if column="IdeSpecies" filled="yes"><text>+</text><value column="IdeSpecies" format="url"/></if><if column="IdeSubspecies" filled="yes"><text>+</text><value column="IdeSubspecies" format="url"/></if></if></location><location><if column="IdeSpecies" filled="yes"> <text>http://www.gbif.net/portal/ecat_search.jsp?countryKey=0&nextTask=ecat_search.jsp&search=</text><value column="IdeSpecies" format="url" /> <if column="IdeSubspecies" filled="yes"><text>+</text><value column="IdeSubspecies" format="url"/></if> </if></location><location><if column="IdeSubspecies" filled="yes"><text>http://www.gbif.net/portal/ecat_search.jsp?countryKey=0&nextTask=ecat_search.jsp&search=</text><value column="IdeSubspecies" format="url" /> </if></location></resource>
|