Ajouter ou personnaliser un profil
Ajouter ou personnaliser un profil
Cette rubrique explique comment l’application Web du géoportail prend en charge ses profils de métadonnées par défaut et comment la configurer pour qu’elle prenne en charge des profils de métadonnées supplémentaires. Nous allons d’abord décrire comment un document de métadonnées détectable est créé et publié sur le géoportail. Ensuite, nous indiquerons la procédure détaillée de personnalisation du profil.
Création d’un document de métadonnées détectable
Avant de personnaliser les fichiers de structure du géoportail pour créer un profil personnalisé, il est important de comprendre ce qui se passe en arrière-plan pour créer un document de métadonnées détectable. La plupart des fichiers utilisés pour définir les profils de métadonnées et la façon dont ils sont indexés pour la recherche se trouvent dans le dossier \\geoportal\WEB-INF\classes\gpt\metadata de l’application Web du géoportail. Les fichiers qui appartiennent à un profil donné se trouvent dans des sous-dossiers, organisés selon le nom du profil qu’ils prennent en charge (par exemple, les fichiers qui définissent les profils de type ISO se trouvent dans le sous-dossier iso, les fichiers qui définissent le profil fgdc se trouvent dans le sous-dossier fgdc, etc.). Les étapes et le graphique ci-dessous donnent un aperçu de la façon dont ces fichiers fonctionnent avec le workflow des utilisateurs pour créer un document de métadonnées.
- Un éditeur se connecte au géoportail, clique sur l’onglet Administration dans l’interface du géoportail, clique sur le lien Ajouter de la page Gérer les ressources, puis sélectionne le bouton radio Utiliser l'éditeur dédié pour créer manuellement les métadonnées.
- La page Créer des métadonnées se charge, lit les profils de métadonnées disponibles à partir du fichier schemas.xml et les affiche pour que l’éditeur puisse choisir.
- L’éditeur choisit un des profils dans la liste.
- Le géoportail charge le formulaire de l’éditeur de métadonnées qui correspond au profil. Les champs du formulaire sont définis par le fichier definition.xml de ce profil. Le fichier defintion.xml lit les valeurs de chaîne du fichier gpt.properties.
- L’éditeur saisit des informations sur la ressource qu’il décrit dans le formulaire, puis clique sur le bouton Enregistrer qui se trouve en bas.
- Lors de l’enregistrement, le géoportail vérifie que tous les paramètres désignés comme obligatoire dans le fichier definition.xml ont été renseignés dans le formulaire. Si le fichier definition.xml comporte une référence xsd, le géoportail vérifie également que les informations répondent aux exigences de la structure xsd. Si le document réussit ces validations, le géoportail écrit le contenu des métadonnées dans un document XML de métadonnées à l’aide d’un modèle. Le modèle est issu du fichier template.xml de ce profil. Le document XML de métadonnées est stocké dans le catalogue du géoportail local.
- Lorsqu’un administrateur approuve la ressource, le géoportail indexe le contenu du document XML de métadonnées afin qu’il puisse faire l’objet d’une recherche à l’aide de l’index Lucene. Le géoportail utilise le fichier indexables.xml de ce profil pour définir les éléments qui doivent être indexés et le fichier property-meanings.xml pour définir la façon dont ils doivent être indexés.
- Lorsque des utilisateurs recherchent du contenu de métadonnées approuvé dans le géoportail, ce dernier fait appel à l’index Lucene pour rechercher les termes de recherche indexés dans le document XML de métadonnées. Les documents correspondants sont extraits du catalogue du géoportail.
Nom de fichier | Description | Emplacement |
---|---|---|
sample-schema.xml | Définit les termes et la structure du fichier definition.xml. Astuce : utilisez ce fichier comme référence lorsque vous créez ou modifiez un fichier definition.xml. | \\geoportal\WEB-INF\classes\gpt\metadata |
schemas.xml | Définit la liste des profils disponibles que l’éditeur peut choisir sur la page Créer des métadonnées. Il n’existe qu’un seul fichier schemas.xml, qui renferme des références à chaque norme disponible. | \\geoportal\WEB-INF\classes\gpt\metadata |
*template.xml | Un fichier XML de métadonnées qui suit la structure de la norme, mais qui n’est pas renseigné par des valeurs. Il s’agit d’un modèle que le géoportail va remplir avec les informations entrées par l’utilisateur dans le formulaire en ligne. | \\geoportal\WEB-INF\classes\gpt\metadata\<profil> |
*definition.xml | Définit les éléments et leur apparence dans le formulaire en ligne, et indique au géoportail comment associer les informations du formulaire au document de métadonnées du modèle. Ce fichier définit également les règles de validation du profil, et va déterminer les informations qui s’afficheront pour l’enregistrement dans les résultats de recherche lorsque l’utilisateur clique sur Détails. | \\geoportal\WEB-INF\classes\gpt\metadata\<profil> |
gpt.properties | Définit les valeurs clés d’étiquette pour l’interface utilisateur de l’éditeur de métadonnées et les valeurs écrites dans le document de métadonnées en sortie. | \\geoportal\WEB-INF\classes\gpt\resources |
*indexables.xml | Associe l’élément property-meanings à appliquer à certains éléments de métadonnées à l’élément XPath dans lequel se trouve l’élément. | \\geoportal\WEB-INF\classes\gpt\metadata\<profil> |
property-meanings.xml | Définit l’élément property-meanings utilisé pour indexer les éléments de métadonnées identifiés par le fichier *indexables.xml afin qu’ils puissent être détectés par la recherche du géoportail. | \\geoportal\WEB-INF\classes\gpt\metadata |
* Les fichiers template.xml, definition.xml et indexables.xml sont dotés d’un préfixe visant à les identifier en fonction de leur profil spécifique. Par exemple, le préfixe "dc" accompagne les fichiers du profil Dublin Core, qui se trouvent dans le dossier "dc" du répertoire \\geoportal\WEB-INF\classes\gpt\metadata, tels que dc-definition.xml, dc-template.xml et dc-indexables.xml.
Vous noterez que certaines références au fichier definition.xml dans le fichier schemas.xml ne sont pas associées à un fichier template.xml. Par exemple, dans schemas.xml on trouve une référence au fichier opensearch-definition.xml, dans le répertoire \\gpt\metadata\other. Si vous ouvrez le fichier opensearch-definition.xml dans un éditeur de texte, vous remarquez qu’il ne comporte aucune référence à un fichier template.xml. Il en va de même pour le fichier georss-definition.xml, qui se trouve dans le même répertoire. Ces fichiers servent à générer des métadonnées lorsque la méthode de publication Enregistrer la ressource sur le réseau est choisie. Au lieu d’un fichier template.xml, une transformation xslt est appliquée. Dans les cas opensearch et georss, la transformation par défaut s’effectue vers Dublin Core, à l’aide des transformations opensearch-toDC.xslt ou georss-toDC.xslt. Une transformation similaire est appliquée lorsque des documents OGC GetCapabilities sont transformés en métadonnées détectables pour les afficher dans l’interface Web du géoportail. Les transformations correspondant aux documents OGC GetCapabilities se trouvent dans le répertoire \\gpt\metadata\ogc.
Les transformations permettent de transformer des ressources en structure XML, et pas seulement en métadonnées formelles, telles que ISO, FGDC ou Dublin Core.
Procédure détaillée de personnalisation du profil
La procédure de personnalisation du géoportail visant à prendre en charge un nouveau profil est divisée en différentes sections correspondant aux étapes suivantes.
- Elaborer un plan pour votre profil
- Copier les fichiers requis
- Mettre à jour le fichier template.xml
- Mettre à jour le fichier definition.xml
- Mettre à jour gpt.properties
- Définir le mode d’indexation des éléments pour la recherche
- Mettre à jour schemas.xml
- Finaliser le profil
Elaborer un plan pour votre profil
Avant de créer un profil personnalisé, il est important de définir clairement ce qui distinguera votre nouveau profil de ceux pris en charge par défaut avec le composant Geoportal Server. Vous devez identifier le profil par défaut qui ressemble le plus à votre personnalisation et l’utiliser comme profil de base à modifier. Il est primordial que vous indiquiez quels nouveaux éléments de métadonnées vous ajoutez au profil, quels éléments vous supprimez du profil et toute autre modification que vous souhaitez apporter.
Après avoir élaboré et documenté un plan pour le profil, vous devez définir les règles d’obligation pour les éléments de métadonnées pris en charge. Les règles d’obligation identifient ce qui est obligatoire pour que la ressource soit publiée dans votre géoportail. Si un éditeur tente de publier des métadonnées qui ne contiennent pas d’informations pour une valeur obligatoire, le document n’est pas validé et ne peut pas être publié. Créez un document répertoriant les éléments qui seront obligatoires, les éléments qui seront facultatifs et ceux qui seront facultatifs sous certaines conditions (facultatifs sauf si la section est activée, par exemple, un nom de fichier graphique peut devenir obligatoire lorsque la section de parcours des graphiques est activée, mais facultative si elle n’est pas activée).
Une fois que vous avez identifié les éléments pris en charge par votre profil et les règles d’obligation de ces éléments, il est important de déterminer les éléments XPath du XML des métadonnées pour tous les nouveaux éléments à ajouter. Si vous utilisez une norme existante comme référence, consultez la documentation de la norme pour en obtenir les éléments XPath. Si vous définissez votre propre norme, qui ne repose pas sur une norme existante, vous devez choisir une convention XPath répondant à vos besoins.
Après avoir vérifié les XPath des éléments de métadonnées, vous devez concevoir l’interface de l’éditeur de métadonnées correspondant à votre profil. Cette conception sera implémentée par votre fichier definition.xml. Au cours de cette étape, choisissez comment regrouper les éléments à inclure, les sections qui apparaîtront, ainsi que leur ordre d’affichage, et les zones déroulantes, les cases à cocher, les boutons radio ou les champs de texte à utiliser. Il est important de considérer le profil que vous avez identifié comme celui qui ressemble le plus à votre profil idéal. Connectez-vous au géoportail en tant qu’éditeur, puis accédez à la page de l’éditeur de métadonnées du profil. Notez les éléments de conception qui sont satisfaisants et fonctionnels sur la page, et notez à quel endroit l’ordre des sections ou des éléments devra être actualisé, modifié ou supprimé de votre profil. Ce formulaire servira à définir l’apparence de la page Détails pour les ressources détectées à partir de la page de recherche du géoportail.
Copier les fichiers requis
Maintenant que le plan de votre profil est élaboré, vous devez créer les fichiers qui le prennent en charge. Commencez par accéder au dossier \\geoportal\WEB-INF\classes\gpt\metadata\ et ouvrez le sous-dossier contenant les fichiers template.xml, definition.xml et indexables.xml qui ressemblent le plus à ce que vous souhaitez pour votre profil personnalisé. Copiez ces trois fichiers et collez-les dans le même répertoire, ou créez un nouveau répertoire portant le nom de votre profil personnalisé. Renommez les fichiers copiés en ajoutant un préfixe qui distingue votre profil des autres présents dans le géoportail.
Mettre à jour le fichier template.xml
Le fichier template.xml représente le squelette du document de métadonnées, qui est renseigné à l’aide des informations que l’éditeur entre dans le formulaire en ligne. Votre fichier template.xml ressemble à un document XML de métadonnées en sortie, mais ses balises ne sont pas renseignées. De manière générale, la plupart des éléments de votre fichier template.xml sont vides, sauf si les règles de validation de l’espace de noms requièrent des valeurs de texte pour être présentes. Vous trouverez ci-dessous un exemple de code extrait d’un fichier template.xml dans lequel l’élément doit être renseigné pour l’élément codeList CI_RoleCode.
<role>
<CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="custodian"/>
</role>
Mettre à jour le fichier definition.xml
Le fichier definition.xml permet de définir l’apparence du formulaire de création des métadonnées pour votre profil, les règles de validation des métadonnées publiées conformes à votre profil, la page Détails des résultats de recherche des ressources, et il associe les informations saisies par l’éditeur dans le formulaire de création des métadonnées au fichier template.xml afin de créer un document de métadonnées en sortie. Pour mettre à jour le fichier definition.xml, ouvrez votre fichier definition.xml dans un éditeur de texte ou XML. Ouvrez également le fichier sample-schema.xml du dossier \\geoportal\WEB-INF\classes\gpt\ metadata. Examinez attentivement le fichier sample-schema.xml, car il souligne les attributs à affecter aux paramètres dans votre fichier definition.xml. Mettez maintenant à jour votre fichier definition.xml en supprimant les paramètres associés aux éléments que vous avez supprimés de votre fichier template.xml et en ajoutant les paramètres qui correspondent aux éléments que vous avez ajoutés à votre fichier template.xml. Remarquez que des sections sont définies dans le fichier definition.xml. Réorganisez les sections pour qu’elles correspondent au plan que vous avez élaboré précédemment pour votre interface de l’éditeur de métadonnées. D’autres parties du fichier definition.xml nécessitant une adaptation sont abordées ci-dessous.
Règles d’obligation : référence aux règles d’obligation que vous avez rédigées antérieurement, qui définissent les éléments devant être obligatoires et ceux qui sont facultatifs ou facultatifs sous certaines conditions. Définissez les règles d’obligation des paramètres à l’aide de l’attribut <validation required=""/> pour chaque paramètre.
Attribut templateFile : en haut du fichier definition.xml se trouve la balise <schema>. Au sein de cette balise, un attribut templateFile est présent. Mettez à jour cet attribut pour faire référence au nom et au chemin d’accès du fichier template.xml de votre profil.
Règles d’interrogation : en haut du fichier definition.xml se trouve une autre balise importante, la balise <interrogation>. Les informations que contient cette balise permettent de savoir si un document de métadonnées est conforme à ce profil. Il est primordial que l’attribut count de cette balise puisse identifier de manière unique les enregistrements conformes à votre profil. Il serait imprudent de définir une interrogation qui prend en compte la présence d’éléments de métadonnées communs, tels que title ou abstract, car de nombreux profils de métadonnées utilisent les mêmes éléments XPath pour les éléments de métadonnées. Les interrogations les mieux appropriées incluent un élément XPath qui est obligatoire conformément aux règles d’obligation de votre profil, mais qui n’est pas présent dans d’autres profils de métadonnées. Par exemple, la norme ISO pour les services (ISO 19119) utilise ce qui suit comme interrogation, car il est peu probable que d’autres profils comportent les éléments de métadonnées srv:SV_ServiceIdentification :
<interrogation count="count(/gmd:MD_Metadata/gmd:identificationInfo/srv:SV_ServiceIdentification)"/>
Astuces pour les utilisateurs qui remplissent le formulaire : vous pouvez être amené à fournir des descriptions pour les champs en entrée qui apparaissent dans l’interface de l’éditeur de métadonnées de votre profil. Ces descriptions (astuces) permettent aux utilisateurs de savoir quelles informations doivent être saisies dans ce champ du formulaire. Elles sont définies dans l’attribut hintMode de la balise <input> au sein de <parameter>. Le texte de l’astuce est référencé par un bean dans le fichier gpt.properties et dans un attribut hintResourceKey pour la saisie du paramètre. Trois méthodes différentes, décrites ci-dessous, permettent de définir les astuces. Remarque : dans cet exemple, le type d’entrée est text, mais les astuces peuvent être fournies pour n’importe quel type d’entrée.
- inline : affiche l’astuce sous forme de texte à droite du champ en entrée. Exemple : <input type="text" hintResourceKey="catalog.general.sample.hint1" hintMode="inline"/>
- tip : affiche l’astuce sous forme de texte qui apparaît lorsque l’utilisateur place le pointeur de la souris sur le champ en entrée. Exemple : <input type="text" hintResourceKey="catalog.general.sample.hint2" hintMode="tip"/>
- toggle : affiche une icône (nommée "hint.gif" dans le répertoire \\geoportal\catalog\images) à droite du champ en entrée. Lorsque l’utilisateur clique sur l’icône, le texte de l’astuce apparaît. Le texte de l’astuce disparaît lorsque l’utilisateur clique une deuxième fois sur l’icône. Exemple : <input type="text" hintResourceKey="catalog.general.sample.hint3" hintMode="toggle"/>
Mettre à jour gpt.properties
Le fichier definition.xml utilise les valeurs clés du fichier gpt.properties pour référencer les étiquettes qui apparaissent dans l’interface de l’éditeur de métadonnées et la page Détails. Le stockage des valeurs dans gpt.properties permet d’effectuer le suivi des étiquettes et facilite la traduction du géoportail dans d’autres langues. En outre, gpt.properties permet aux utilisateurs de gérer tous les changements textuels de l’interface utilisateur dans un fichier, au lieu de rechercher dans tous les fichiers de l’application Web du géoportail une chaîne spécifique à mettre à jour.
Ouvrez le fichier gpt.properties du répertoire \\geoportal\WEB-INF\classes\gpt\resources. La structure du fichier suit une syntaxe bean-value, décrite dans Aspect et convivialité de l’interface utilisateur. Vous devez ajouter les nouvelles étiquettes que vous avez identifiées lors de la mise à jour du fichier definition.xml pour les référencer dans gpt.properties. Aucune convention d’attribution de noms particulière n’est exigée pour les clés et les valeurs dans gpt.properties, mais chaque clé doit être unique et commencer par le mot catalog. Remarque : faire commencer le nom de votre bean par le mot catalog est primordial. Si vous ne le faites pas, le texte de la chaîne associée n’apparaît pas dans l’interface utilisateur du géoportail. Il est recommandé de réutiliser les clés existantes si cela est possible.
Définir le mode d’indexation des éléments pour la recherche
Lorsqu’un utilisateur définit des critères de recherche dans la page de recherche du géoportail, ce dernier fait appel à l’index Lucene pour associer les critères de recherche aux documents de métadonnées répondant à ces critères. L’index se définit en indiquant au géoportail dans quels éléments de métadonnées rechercher certaines informations. Pour votre profil, vous souhaitez indexer certains éléments de métadonnées pour la recherche. Le fichier indexables.xml est utilisé avec le fichier property-meanings pour établir un lien entre les éléments de métadonnées de votre fichier definition.xml et la façon dont ils doivent être indexés. Le fichier indexables.xml est appelé lorsqu’un document de métadonnées a été approuvé comme pouvant faire l’objet d’une recherche par un administrateur du géoportail. Vous pouvez être amené à mettre à jour le fichier indexables.xmlde votre profil pour indexer les nouveaux éléments que vous avez ajoutés. Reportez-vous à la rubrique Informations sur l’indexation Lucene dans le géoportail pour savoir comment le géoportail indexe les termes et comment personnaliser les attributs de signification.
Mettre à jour schemas.xml
Lorsque le bouton radio Utiliser l'éditeur dédié pour créer manuellement les métadonnées est sélectionné sur la page Ajouter, la page Créer des métadonnées se charge et présente les profils de métadonnées disponibles parmi lesquels un éditeur peut choisir. Cette liste provient du fichier schemas.xml. Le géoportail utilise également le fichier schemas.xml pour déterminer le profil auquel l’enregistrement de métadonnées téléchargé est conforme. Le géoportail interroge l’enregistrement téléchargé conformément aux règles d’interrogation de chaque profil répertorié dans le fichier schemas.xml, selon leur ordre d’apparence dans la liste. Lorsque les règles d’interrogation correspondent au document téléchargé, le géoportail arrête l’interrogation et valide l’enregistrement en fonction des règles de validation définies dans le fichier schemas.xml du profil. Vous voyez ainsi que l’ordre des profils répertoriés dans le fichier schemas.xml est très important. Si une règle d’interrogation plus générale est définie dans un des profils de métadonnées, vous pouvez répertorier ce profil après avoir indiqué un profil défini plus spécifiquement. Par exemple, la règle d’interrogation pour un profil ISO 19115 par défaut est <interrogation count="count(/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification)"/>. Tous les documents de métadonnées téléchargés ayant une métadonnée au niveau de l’élément MD_DataIdentification sera classifié comme ISO 19115. Les documents de métadonnées INSPIRE contiennent cet élément, de même que les documents Profil nord-américain. Par conséquent, le profil ISO 19115 doit être répertorié après INSPIRE et Profil nord-américain dans le fichier schemas.xml, de façon à ce que les documents de métadonnées INSPIRE ou Profil nord-américain puissent être identifiés par les règles d’interrogation INSPIRE ou Profil nord-américain uniques avant d’être interrogées en tant que document ISO 19115 plus général.
Vous devez mettre à jour le fichier schemas.xml pour prendre en charge le nouveau profil. Supprimez ou commentez dans le fichier schemas.xml les profils que vous ne souhaitez pas prendre en charge, en sachant que les documents de métadonnées qui sont conformes à ces profils ne pourront pas être publiés une fois téléchargés sur votre géoportail. Ajoutez maintenant une ligne au fichier schemas.xml qui dirige vers le fichier definition.xml de votre profil. Décidez de l’endroit où vous ajoutez la ligne pour votre profil pris en charge en fonction des règles d’interrogation des autres profils pris en charge dans votre géoportail.
Remarque : vous noterez que certaines références au fichier definition.xml dans le fichier schemas.xml ne sont pas associées à un fichier template.xml. Par exemple, dans schemas.xml on trouve une référence au fichier opensearch-definition.xml, dans le répertoire \\gpt\metadata\other. Si vous ouvrez le fichier opensearch-definition.xml dans un éditeur de texte, vous remarquez qu’il ne comporte aucune référence à un fichier template.xml. Il en va de même pour le fichier georss-definition.xml, qui se trouve dans le même répertoire. Ces fichiers servent à générer des métadonnées lorsque la méthode de publication Enregistrer la ressource sur le réseau est choisie. Au lieu d’un fichier template.xml, une transformation xslt est appliquée. Dans ces cas, la transformation par défaut s’effectue vers Dublin Core, à l’aide du fichier opensearch-toDC.xslt ou georss-toDC.xslt. Une transformation similaire est appliquée lorsque des documents OGC GetCapabilities sont transformés en métadonnées détectables pour les afficher dans l’interface Web du géoportail. Les transformations correspondant aux documents OGC GetCapabilities se trouvent dans le répertoire \\gpt\metadata\ogc.
Les transformations permettent de transformer des ressources en structure XML, et pas seulement en métadonnées formelles, telles que ISO, FGDC ou Dublin Core.
Finaliser le profil
Une fois que vous avez mis à jour les fichiers template.xml, definition.xml, gpt.properties, indexables.xml et schemas.xml, n’oubliez pas de tous les enregistrer. Redémarrez ensuite l’application Web du géoportail et lancez une nouvelle instance de votre géoportail. Vous devrez certainement réaliser plusieurs essais pour affiner les modifications que vous avez apportées. Une fois les derniers ajustements et essais terminés, votre norme personnalisée doit être mise à la disposition des éditeurs pour qu’ils puissent créer des métadonnées conformes aux spécifications de votre organisation.