SPW-DIG / metawal-core-geonetwork

Metawal - Catalogue pour l'information géographique de Wallonie
http://metawal.wallonie.be
GNU General Public License v2.0
3 stars 1 forks source link

DB / Formats de distributions - Remplacement characterstring par des anchor #519

Closed stephyritz closed 4 years ago

stephyritz commented 4 years ago

En lien avec https://github.com/SPW-DIG/metawal-core-geonetwork/issues/493 dont j'isole l'un des aspects qui n'a pas été pris en charge dans le déploiement de la version 3.10.

Réalisation d'un xsl qui transforme la manière dont sont renseignés les formats de distribution. Charactrestring --> Anchor

Situation actuelle pour la majorité des fiches :

       <mrd:distributionFormat>
            <mrd:MD_Format>
               <mrd:formatSpecificationCitation>
                  <cit:CI_Citation>
                     <cit:title>
                        <gco:CharacterString>OGC:GeoPackage (.gpkg)</gco:CharacterString>
                     </cit:title>
                     <cit:date gco:nilReason="unknown"/>
                  </cit:CI_Citation>
               </mrd:formatSpecificationCitation>
            </mrd:MD_Format>
         </mrd:distributionFormat>

Situation souhaitée pour l'ensemble des fiches :

    <mrd:distributionFormat>
            <mrd:MD_Format>
               <mrd:formatSpecificationCitation>
                  <cit:CI_Citation>
                     <cit:title>
                        <gcx:Anchor xlink:href="https://www.iana.org/assignments/media-types/application/geopackage+sqlite3">OGC GeoPackage (.gpkg)</gcx:Anchor>
                     </cit:title>
                  </cit:CI_Citation>
               </mrd:formatSpecificationCitation>
            </mrd:MD_Format>
         </mrd:distributionFormat>

Attention, le modèle de transformation devra s’appliquer uniquement aux formats qui sont actuellement déclarés sous forme de characterstring (cf. problème de doublons rencontré lors du déploiement de mw-epsg-harmonisation.xsl).

fxprunayre commented 4 years ago

Avant de remplacer par une Anchor, il faut mettre à jour les valeurs possibles et ajouter si besoins les valeurs manquantes dans le thésaurus.

@stephyritz peux tu vérifier les correspondances suivantes (old = valeur dans les fiches actuelles, new = valeur existante dans le thésaurus à utiliser à la place). Il y a des questions : est-ce qu'on veut distinguer un GML classique d'un GML INSPIRE ? XLS différent XSLX ? TXT = CSV ?


    <entry old="GeoTIFF (.tif)" new="TIFF (.tif, .tiff)"/>
    <entry old="TIFF (.tif ou .tiff)" new="TIFF (.tif, .tiff)"/>
    <entry old="png" new="PNG (.png)"/>
    <entry old="ECW" new="ECW (.ecw)"/>
    <entry old="GML INSPIRE (.gml)" new="GML (.gml)"/>
    <entry old="KML (.kml ou .kmz)" new="KML (.kml)"/>
    <entry old="OGC:GeoPackage (.gpkg)" new="OGC GeoPackage (.gpkg)"/>
    <entry old="ESRI Personal Geodatabase (.mdb ou .accdb)" new="ESRI File Geodatabase (.fgdb)"/>
    <entry old="FGDBR (ESRI File Geodatabase Raster Dataset)" new="ESRI File Geodatabase (.fgdb)"/>
    <entry old="Ascii Grid" new="Ascii Grid (.asc ou .grd)"/>
    <entry old="DIMAP - JPEG2000 avec compression (.jp2)" new="JPEG2000 (.jp2, .jpg2, .j2k)"/>
    <entry old="Microsoft Excel (.xls ou .xlsx)" new="Microsoft Excel (.xlsx)"/>
    <entry old="ESRI Grid" new="Ascii Grid (.asc ou .grd)"/>
    <entry old="TXT (.txt)" new="Comma Separated Value (.csv)"/>
    <entry old="CSV (.csv)" new="Comma Separated Value (.csv)"/>
    <entry old="JPEG (.jpg ou .jpeg)" new=""/>
    <entry old="Application requérant une identification" new=""/>
    <entry old="S-57 (ENC) Hydrographic Data format" new=""/>
    <entry old="GPX (.gpx)" new=""/>
    <entry old="VHF" new=""/>
    <entry old="BSQ (band sequential image file)" new=""/>
    <entry old="-" new=""/>
    <entry old="Distribution en ligne uniquement" new=""/>
    <entry old="shp (ESRI shapefile)" new="ESRI Shapefile (.shp)"/>
    <entry old="RIS (Extensible Markup Language XML-RIS selon Directive 2005/44/CE)" new=""/>
    <entry old="*Autre format de distribution, cfr wiki*" new=""/>
    <entry old="JSON" new="JSON (.json)"/>

Pour tester:

curl 'http://localhost:8080/geonetwork/srv/api/0.1/processes/move-keyword-to-anchor? \
uuids=0a544b42-0b30-4c8e-85e7-38149b99eae0& \
appendFirst=false& \
thesaurusFileName=httpregistrymetawalcodelistmediatypes-media-types'
stephyritz commented 4 years ago

Merci pour l'analyse. On traîne quelques casseroles sur le sujet! Il est temps de faire appel à une codelist pour ce champs... Pour moi le matching est bon.

Pour les valeurs sans matching, on met "" et on requête ensuite sur cette valeur pour encoder un format de distribution au cas par cas ?

J'ai un doute sur le GPX. Est-ce qu'on ne va pas rajouter cette valeur au thésaurus ?! Je consulte mes collègues concernés à ce sujet et reviens avec une réponse.

fxprunayre commented 4 years ago

Pour les valeurs sans matching, on met "" et on requête ensuite sur cette valeur pour encoder un format de distribution au cas par cas ?

Si y'a pas de matching, on conserve la valeur présente sans Anchor.

stephyritz commented 4 years ago

Si y'a pas de matching, on conserve la valeur présente sans Anchor.

D'accord, faisons comme ça. Je n'ai pas eu de remarques des collègues donc c'est bon. Il faudra juste prévoir de garder sous forme de characterstring dans le schéma 'mw' pour ne pas perturber le bon fonctionnement du GP.

davinciagf commented 4 years ago

Testé sur http://metawal4.test.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/cac0276e-a75e-4830-afcc-6c82bb70fc63

stephyritz commented 4 years ago

A priori c'est tout bon. Aussi bien géré au niveau de l'output "mw". A donc appliquer pour toutes les fiches en test pour voir si OK dans tous les cas et si la relation avec Geoportail est toujours bonne.

stephyritz commented 4 years ago

Semble ne pas être bon en environnement de valid. Exemple : http://metawal4.valid.wallonie.be/geonetwork/srv/api/records/b353aac2-224c-42f7-89ca-61938ded23eb/formatters/xml?approved=true

Pas de remplacement des characterstring par les anchor pour les mdeiatype.

@davinciagf Est-ce que tu sais pourquoi ?

davinciagf commented 4 years ago

Non le log semblait coherent: {"errors":[],"infos":[],"uuid":"1315cd8e-7b09-4083-866f-15d53c123f6a","metadata":[10248,10249,...],"metadataErrors":{},"metadataInfos":{},"processId":"move-keyword-to-anchor","noProcessFoundCount":0,"numberOfRecordNotFound":0,"numberOfRecordsNotEditable":0,"numberOfNullRecords":0,"numberOfRecords":1033,"numberOfRecordsProcessed":1033,"numberOfRecordsWithErrors":0,"startIsoDateTime":"2020-05-15T16:29:30","totalTimeInSeconds":3024,"ellapsedTimeInSeconds":3024,"endIsoDateTime":"2020-05-15T17:19:54","running":false,"type":"XsltMetadataProcessingReport"}

davinciagf commented 4 years ago

Je pense que c'est le thesaurus qui pose problème. Si l'on regarde le thesaurus en valid, ce dernier ne dispose d'aucune valeur pour les différents éléments du thésaurus.

Proposition :

stephyritz commented 4 years ago

ok, j'ai supprimé le thesaurus et remplacé avec celui qui est en prod (il a évolué depuis celui qui est en test)

davinciagf commented 4 years ago

Je demande à Didier si il peut rejouer la mise à jour.

stephyritz commented 4 years ago

Toujours pas bon malgré le redéploiement de Didier. @davinciagf tu confirmes ? Est-on sûr que c'est le bon xslt qui est joué ? Parce que pour les keywords, un premier script a été joué lors de la dernière release avec un nom quasi-similaire.. Il y avait eu des incompréhensions à ce niveau. Est-ce que tu pourrais voir avec Didier quel est le xslt qui a été joué afin de s'assurer qu'il s'agit bien du même script présent en test ? Sinon, je ne comprends pas comment c'est possible...

davinciagf commented 4 years ago

Peux-tu retester? Cela bon de mon côté

stephyritz commented 4 years ago

Est-ce que tu m'envoyer un exemple stp ? J'ai l'impression que c'est toujours NOK d'après mes tests.

http://metawal4.valid.wallonie.be/geonetwork/srv/api/records/4d89bbf4-6861-420e-9943-2b8c3302a227/formatters/xml?approved=true

http://metawal4.valid.wallonie.be/geonetwork/srv/api/records/4d89bbf4-6861-420e-9943-2b8c3302a227/formatters/xml?approved=true

stephyritz commented 4 years ago

OK en valid aujourd'hui. L'emplacement du thesaurus était incorrect dans le xslt poussé dans cet environnement.