Closed stephyritz closed 5 years ago
François, tu trouveras en attaché le même fichier exemple xml conforme en classe 1. Avec les modifications qui sont indiquées en commentaire. Avec le travail que tu as aussi fait de ton côté (conformité en classe 2), je pense que nous pouvons déjà assurer une bonne base de travail pour l'adaptation aux TG2. Est-ce que tu penses que cela serait possible d'apporter les changements en DB et sur l'interface de Metawal afin de mettre l'ensemble des fiches taguées INSPIRE à niveau pour la fin août ?
Déployer et tester la procédure.
En 3.8 - Erreur référencée sur http://metawal4.test.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/ffc45d44-1cc2-4924-bb8c-214096eb9058
En effet, reste le problème cité par Arnaud dans la déclaration des conditions d'accès et d'utilisation. Je vais regarder cela lundi matin. Il faudrait qu'on reparte de l'exemple que j'ai uploadé plus tôt dans la discussion et qui est conforme de ce point de vue. J'aurais aimé déclarer de la même manière les fiches INSPIRE et les autres. Mais pour cela il faut trouver les bonne balises où on pourrait stocker les informations CGA/CGU et les anchor liés à la conformité INSPIRE (Public Access et Condition Apply and Use). J'essaie de me pencher sur le sujet lundi matin et de faire une proposition de structure XML. Ensuite, nous verrons ensemble si ça vous semble bon et comment on fait pour que l'interface puisse traduire au mieux les balises xml utilisées.
Pour les conditions d'accès et d'utilisation, je pense qu'il faut déclarer de la façon suivante pour que cela soit conforme et le plus clair possible :
<gmd:resourceConstraints>
<gmd:MD_LegalConstraints>
<gmd:accessConstraints>
<gmd:MD_RestrictionCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_RestrictionCode" codeListValue="otherRestrictions" />
</gmd:accessConstraints>
<gmd:otherConstraints>
<gmx:Anchor xlink:href="http://inspire.ec.europa.eu/metadata-codelist/LimitationsOnPublicAccess/noLimitations">No limitations to public access</gmx:Anchor>
</gmd:otherConstraints>
</gmd:MD_LegalConstraints>
</gmd:resourceConstraints>
<gmd:resourceConstraints>
<gmd:MD_LegalConstraints>
<gmd:useLimitation>
<gco:CharacterString>Conditions d'accès et d'utilisation</gco:CharacterString>
</gmd:useLimitation>
<gmd:useConstraints>
<gmd:MD_RestrictionCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_RestrictionCode" codeListValue="otherRestrictions" />
</gmd:useConstraints>
<gmd:otherConstraints>
<gco:CharacterString>ACCÈS :
Les conditions générales d'accès s’appliquent (http://geoportail.wallonie.be/files/documents/ConditionsSPW/DataSPW-CGA.pdf)
UTILISATION :
Les conditions générales d'utilisation s'appliquent (http://geoportail.wallonie.be/files/documents/ConditionsSPW/DataSPW-CGU.pdf)
</gco:CharacterString>
</gmd:otherConstraints>
</gmd:MD_LegalConstraints>
</gmd:resourceConstraints>
Du coup on met ça dans toutes les fiches ? ou selon des conditions ?
Il y a encore un problème concernant le texte règlementaire cité dans les balises qui concernent la conformité (
Si tu nous donnes le texte actuel à remplacer ça nous permet de le faire en base de donnée directement. Tu peux nous indiquer une fiche ?
Voici un exemple de fiche conforme selon ce que je viens de mentionner PS_N2000_metadata-iso19139_TEST_GOOD.zip
Je joindrai cela à la requête SQL de migration vers la 3.8.1
Texte à remplacer : "Commission RÈGLEMENT (UE) N o 1089/2010 DE LA COMMISSION du 23 novembre 2010 portant modalités d'application de la directive 2007/2/CE du Parlement européen et du Conseil en ce qui concerne l'interopérabilité des séries et des services de données géographiques". En fait c'est la suppression de "Commission", je ne sais pas pourquoi c'était là ça.
Pour les conditions, je suis d'avis d'utiliser cette manière de déclarer pour toutes les fiches concernées par INSPIRE (keyword = Reporting INSPIRE). Mais c'est un peu brutal parce que, même si en théorie cela ne devrait pas être le cas, certaines fiches ont des conditions plus restrictives. Je vous dis dès que j'ai pris une décision à ce sujet.
Pour le changement du texte :
Texte à remplacer : "Commission RÈGLEMENT (UE) N o 1089/2010 DE LA COMMISSION du 23 novembre 2010 portant modalités d'application de la directive 2007/2/CE du Parlement européen et du Conseil en ce qui concerne l'interopérabilité des séries et des services de données géographiques". En fait c'est la suppression de "Commission", je ne sais pas pourquoi c'était là ça.
Non réalisé. Pour cause de problème d'accent ? @davinciagf ? Je ne comprends pas très bien pourquoi. Existe-t-il une solution ? Alternative ? Prévoir changement DB assez rapidement ou alors faire un count sur cette valeur pour voir combien de fiches sont concernées (ce n'est pas généralisée) et je procéderai alors manuellement éventuellement.
Concernant les conditions d'accès et d'utilisation des fiches concernées par INSPIRE, je vous propose de jeter un œil à ce document word dans lequel j'ai essayé de mettre par écrit mon analyse :
CA_CU_metawal4_INSPIRETG2.docx
Il me semble que le plus simple serait de faire deux blocs de gmd:resourceConstraints/gmd:MD_LegalConstraints :
Dans notre cas, cela impliquerait une réorganisation de cette partie du xml dans la majorité de nos fiches. J'ai décrit dans le document ci-dessus mes propositions sous forme de commentaires. Nous pouvons en discuter également au téléphone pour que cela soit plus facile. L'avantage c'est qu'il s'agit principalement de déplacer les balises, d'en supprimer et de rajouter certaines parties. A priori, il n'y aurait pas de changements conditionnés par des valeurs. Est-ce que nous pouvons construire des requêtes SQL capables de faire ce boulot de manière généralisée ?
Nous allons nous concentrer sur les datasets et series dans un premier temps. Je pense que cela sera beaucoup plus simple et homogène pour les services, nous le ferons ensuite.
Suite à notre discussion : la présence de deux balises "otherconstraints" satisfait tout de même au test de conformité, y compris dans les cas où nous utilisons une ancre --> http://staging-inspire-validator.eu-west-1.elasticbeanstalk.com/etf-webapp/v2/TestRuns/EID2236d332-d7cc-4305-b9e7-5b1d2a8d7de2.html
Donc proposition de mettre Conditions Générales d'Accès et Conditions Générales d'Utilisation dans deux balises "otherconstraint" différentes validée. D'autant plus que c'est très cohérent avec l'interface de saisie et le système de codelist mis en place dans la 3.8.0.
Pour analyser en base ce qu'il y a :
WITH ns AS (
select ARRAY[ARRAY['xlink', 'http://www.w3.org/1999/xlink'],
ARRAY['mdb', 'http://standards.iso.org/iso/19115/-3/mdb/2.0'],
ARRAY['cit', 'http://standards.iso.org/iso/19115/-3/cit/2.0'],
ARRAY['mri', 'http://standards.iso.org/iso/19115/-3/mri/1.0'],
ARRAY['mco', 'http://standards.iso.org/iso/19115/-3/mco/1.0'],
ARRAY['xsi', 'http://www.w3.org/2001/XMLSchema-instance'],
ARRAY['gco', 'http://standards.iso.org/iso/19115/-3/gco/1.0']] AS n
)
SELECT distinct(unnest(xpath('//mdb:identificationInfo/*/mri:citation/*/cit:title/*/text()',
XMLPARSE(DOCUMENT data), n)))::text AS node,
unnest(xpath('//mco:uselimitation/*/text()',
XMLPARSE(DOCUMENT data), n))::text AS uselimitation,
unnest(xpath('//mco:otherConstraints/*/text()',
XMLPARSE(DOCUMENT data), n))::text AS otherConstraints,
unnest(xpath('count(//mco:otherConstraints/*[contains(text(), ''DataSPW-CPA-TypeA1'')]) > 0',
XMLPARSE(DOCUMENT data), n))::text AS A1,
unnest(xpath('count(//mco:otherConstraints/*[contains(text(), ''DataSPW-CPA-TypeD1'')]) > 0',
XMLPARSE(DOCUMENT data), n))::text AS D1
FROM metadata, ns
WHERE data LIKE '%%'
-- WHERE data LIKE '%Reporting INSPIRE%'
J'attends un dump de la prod pour voir plus en détail.
Ok, j'ai testé la requête sur pgadmin mais j'ai un tableau vide en retour.
J'ai manqué un truc ?
Je n'ai malheureusement pas les permissions pour faire le dump. J'ai dû faire un ticket DTIC pour cela. J'ai bon espoir que cela soit fait cette après-midi. Je vous envoie le fichier de backup dès que je l'ai.
J'ai manqué un truc ?
Je vois pas. On a bien des fiches en "iso19115-3.2018"
SELECT distinct(schemaid) FROM metadata;
Devrait retourner "iso19115-3.2018"
On tente un truc simple d'abord:
WITH ns AS (
select ARRAY[ARRAY['xlink', 'http://www.w3.org/1999/xlink'],
ARRAY['mdb', 'http://standards.iso.org/iso/19115/-3/mdb/2.0'],
ARRAY['cit', 'http://standards.iso.org/iso/19115/-3/cit/2.0'],
ARRAY['mri', 'http://standards.iso.org/iso/19115/-3/mri/1.0'],
ARRAY['mco', 'http://standards.iso.org/iso/19115/-3/mco/1.0'],
ARRAY['xsi', 'http://www.w3.org/2001/XMLSchema-instance'],
ARRAY['gco', 'http://standards.iso.org/iso/19115/-3/gco/1.0']] AS n
)
SELECT distinct(unnest(xpath('//mdb:identificationInfo/*/mri:citation/*/cit:title/*/text()',
XMLPARSE(DOCUMENT data), n)))::text AS node
FROM metadata, ns
WHERE data LIKE '%%'
Cette requête va bien --> 1002 rows avec effectivement le titre des MD
D'ailleurs il faut que nous nous méfions du WHERE data LIKE '%Reporting INSPIRE%" car ce filtre inclut les fiches pour lesquelles le mot clé 'Reporting INSPIRENO' est utilisé (apparemment utilisé dans Metawal si une fiche est analysée et jugée non concernée par INSPIRE).
Je crois que pour être sûr, il vaut mieux qu'on utilise quelque chose du genre
WHERE data LIKE '%
Modif faite comme discuté : on aura donc CGU+CGA+(optionel) Type D1 ou A1.
Dans nos discussions nous nous sommes beaucoup basés sur les datasets, plus complexes. Mais il y a aussi le cas des services (41 fiches). Pour celles-ci, la situation semble nettement plus simple car le contenu me paraît homogène à vue d’œil et le résultat vers lequel nous souhaitons aller est simple et unique.
Exemple de situation actuelle (http://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/be109cca-44fe-4687-a965-4dbacca99006) :
Situation souhaitée, dans la logique de ce dont nous avons discuté :
exemple_condition_acces_utilisation_service_be109cca-44fe-4687-a965-4dbacca99006.txt
Dites mois si ça vous paraît correct. Si oui, est-ce possible à mettre en œuvre également au cours du déploiement prochain ?
@stephyritz plutot avec une Anchor non ?
<mco:otherConstraints>
<gcx:Anchor xlink:href="https://geoportail.wallonie.be/files/documents/ConditionsSPW/LicServicesSPW.pdf">Les conditions d'utilisation du service sont régies par les Conditions d’accès et d’utilisation des services web géographiques de visualisation du Service public de Wallonie.</gcx:Anchor>
</mco:otherConstraints>
</mri:resourceConstraints>
Oui, tout à fait.
Ok tout est bon en environnement de test. Les modifications seront visibles en prod après ajout des deux xslt (mw-constraints-cleanup et tolISO19139) et application du script updateConstraints.sh. Actions prévues avant déploiement du WAR (28/11) afin de solutionner ces problèmes d'ordres génériques qui pourraient "cacher" des problèmes plus spécifiques. Si c'est le cas, nous pourrons encore réagir à ces soucis lors du déploiement du WAR le 28/11 (dernière release possible avant le reporting INSPIRE).
Amélioration de la transcription 19115-3 vers 19139
Certaines URL de différentes codelist devraient être mises à jour en ISO19139. Les éléments posant problème lors du test via l'outil de validation de la CE sont mis en évidence dans ce GoogleDoc.
Je joins également à ce ticket le fichier XML Template qui est full conforme sur le Common Requirements. Les modifications sont mises en évidence car les anciennes valeurs sont toujours présentes sous forme de commentaires.
Actions à réaliser Modification dans le fichier de mapping 115-3 vers 139
exemple_md_PS_190710.zip