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

Incohérence dans les dates d'édition des fiches #821

Closed vbombaerts closed 1 year ago

vbombaerts commented 1 year ago

Sur certaines fiches, la date de dernière révision n'est pas mise à jour alors que la fiche a été éditée.

Exemple : https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/cbd93a53-87d1-4f1a-8a7a-751bfc982325/formatters/xsl-view?root=div&view=advanced

Date de révision indiquée dans la fiche : 09/03/2023 (correspond au datestamp dans l'index) Date de révision indiquée dans le rapport sur les fiches modifiées : 05/04/2023 (correspond au changedate dans l'index) Une des conséquence est que le GP ne synchronise plus cette fiche (date de révision de la fiche inchangée)

Il s'agit d'une fiche qui est modifiée par une procédure automatique FME. J'ai demandé plus d'infos sur la procédure de mise à jour FME.

Je relie ce bug à la modification de config faite dans #812

vbombaerts commented 1 year ago

La procédure FME télécharge toute la fiche en XML, fait des modifications sur la date de mise à jour de la donnée (ne touche pas à la date de mise à jour de la fiche), puis recharge le tout dans Metawal.

vbombaerts commented 1 year ago

J'ai re-coché la case qu'on avait décoché dans le #812 mais ça n'a rien changé. La procédure FME a modifié la date de révision de la ressource, mais on n'a pas de trace d'édition de la fiche pour cette modification.

image

fxprunayre commented 1 year ago
vbombaerts commented 1 year ago

Voici une série de fiches que j'ai éditées à la main juste après notre réunion pour mettre à jour la date de révision de la fiche. Je les ai juste ouvertes en édition et enregistrées. Pas d'édition effective. Je ne sais pas si elle ont été réindexées ou pas. On peut voir la différence entre la changedate et le dateStamp.

https://metawal.wallonie.be/geonetwork/dashboards/app/discover#/view/a3ffc970-d8f5-11ed-a803-4b32c1640b25

image

vbombaerts commented 1 year ago

Voici ce qui est effectué par FME pour l'édition de la date de révision de la donnée

  1. Nous téléchargeons la fiche xml a. GET b. https://metawal.wallonie.be/geonetwork/srv/api/records/d594f5a3-34ac-4cc2-a357-aae5d5263f35/formatters/xml

  2. Dans le xml reçu, nous mettons à jour la date de révision

  3. Nous repostons la fiche xml mise à jour dans la transaction csw : a. POST b. https://metawal.wallonie.be/geonetwork/srv/fre/csw-publication c. <?xml version="1.0" encoding="UTF-8"?>

       @Value(_response_updated)
fxprunayre commented 1 year ago

Testant le même scénario à la main

On récupére le datestamp du XML ici
https://github.com/geonetwork/core-geonetwork/blob/main/csw-server/src/main/java/org/fao/geonet/component/csw/Transaction.java#L351 On le sauve en base ici https://github.com/geonetwork/core-geonetwork/blob/main/core/src/main/java/org/fao/geonet/kernel/XmlSerializer.java#L251-L255 Il n'y a pas eu de changement récent a priori.

Tout ça me semble normal et je ne vois pas ce qui aurait pu changer depuis. A priori, il n'y a pas de raison que GeoNetwork modifie la date de la fiche reçue lors de la transaction. Ca semble plutôt de la responsabilité de celui qui l'envoie - dans la spec OGC je vois rien qui dirait le contraire. On modifie le job FME ?

vbombaerts commented 1 year ago

On modifie le job FME ?

oui, ça me parait logique que ce soit le job FME qui force la date de modification de la fiche. On part sur l'API ou on reste sur le CSW-T ?

Par contre sur la différence entre le dateStamp et la changeDate si on ouvre en édition et qu'on referme sans modif, tu as une idée ?

fxprunayre commented 1 year ago

On part sur l'API ou on reste sur le CSW-T ?

CSW-T fonctionne bien. On peut rester comme ça.

Par contre sur la différence entre le dateStamp et la changeDate si on ouvre en édition et qu'on referme sans modif, tu as une idée ?

Je viens de tester edit + cancel et j'ai les bonnes dates:

Avant
    "indexingDate": "2023-04-17T07:21:49.264Z",
    "dateStamp": "2022-10-03T07:35:15.880Z",
    "changeDate": "2022-10-03T07:35:15.88Z",
    "createDate": "2023-04-14T13:32:39.362Z",

Après  
    "indexingDate": "2023-04-17T07:24:51.392Z",
    "dateStamp": "2022-10-03T07:35:15.880Z",
    "changeDate": "2022-10-03T07:35:15.88Z",
    "createDate": "2023-04-14T13:32:39.362Z",

En consultant le doc dans ES: http://localhost:9200/gn-records/_doc/d594f5a3-34ac-4cc2-a357-aae5d5263f35

Pourrait éventuellement y'avoir un pb s'il ne pouvait pas récupérer le dateStamp de la fiche au début de la session d'édition mais a priori ca ne se produit pas. @vbombaerts tu pourrais retester et si tu observes le pb, indiquer l'UUID de la fiche?

fxprunayre commented 1 year ago

Vérifier si les transactions CSW sont historisées.

Je confirme que les transactions CSW ne sont pas historisées. @vbombaerts on ajoute ?

vbombaerts commented 1 year ago

Voici les fiches&_a=(columns:!(revisionDateForResource,changeDate,dateStamp,indexingDate,sc_metadataLink),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,field:revisionDateForResource,index:gn-records,key:revisionDateForResource,negate:!f,params:(gte:now-7d%2Fd,lt:now%2Fd),type:range),query:(range:(revisionDateForResource:(gte:now-7d%2Fd,lt:now%2Fd)))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:gn-records,key:isPublishedToAll,negate:!f,params:(query:true),type:phrase),query:(match_phrase:(isPublishedToAll:true)))),grid:(),hideChart:!f,index:gn-records,interval:auto,query:(language:kuery,query:''),sort:!(!(revisionDateForResource,desc)))) ouvertes en édition et directement refermées ce matin. La changeDate est OK mais pas le dateStamp.

Donc l'opération n'est pas edit + cancel mais open edit session + save and close.

vbombaerts commented 1 year ago

Vérifier si les transactions CSW sont historisées.

Je confirme que les transactions CSW ne sont pas historisées. @vbombaerts on ajoute ?

oui

fxprunayre commented 1 year ago

Donc l'opération n'est pas edit + cancel mais open edit session + save and close.

Donc c'est normal, si on "save and close", le dateStamp est mis à jour (sauf si "minor edit" est sélectionné normalement).

vbombaerts commented 1 year ago

Donc l'opération n'est pas edit + cancel mais open edit session + save and close.

Donc c'est normal, si on "save and close", le dateStamp est mis à jour (sauf si "minor edit" est sélectionné normalement).

Sauf que le dateStamp n'est pas mis à jour. Uniquement le changeDate.

vbombaerts commented 1 year ago

<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

revisionDateForResource | changeDate | dateStamp | indexingDate | sc_metadataLink -- | -- | -- | -- | -- Apr 18, 2023 @ 00:00:00.000 | Apr 18, 2023 @ 09:59:08.980 | Apr 12, 2023 @ 09:13:18.411 | Apr 18, 2023 @ 09:59:09.860 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/cbd93a53-87d1-4f1a-8a7a-751bfc982325 Apr 18, 2023 @ 00:00:00.000 | Apr 18, 2023 @ 09:59:06.822 | Apr 12, 2023 @ 09:13:15.835 | Apr 18, 2023 @ 09:59:07.751 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/2998bccd-dae4-49fb-b6a5-867e6c37680f Apr 18, 2023 @ 00:00:00.000 | Apr 18, 2023 @ 09:59:04.559 | Apr 12, 2023 @ 09:50:21.231 | Apr 18, 2023 @ 09:59:05.625 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/91721175-5f01-410c-8c78-37c1d1893ba2 Apr 18, 2023 @ 00:00:00.000 | Apr 18, 2023 @ 09:59:02.559 | Apr 12, 2023 @ 09:55:03.546 | Apr 18, 2023 @ 11:51:07.638 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/c34743fa-7c50-4bfe-b587-e1253ff68eae Apr 17, 2023 @ 00:00:00.000 | Apr 17, 2023 @ 08:28:26.192 | Apr 5, 2023 @ 10:30:23.047 | Apr 17, 2023 @ 08:28:27.428 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/e08bd187-c2e0-4c55-b262-226e0b27e486 Apr 17, 2023 @ 00:00:00.000 | Apr 17, 2023 @ 08:30:06.121 | Apr 5, 2023 @ 10:30:44.310 | Apr 17, 2023 @ 08:30:07.604 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/f1ed4a9c-2d3f-4982-b3f8-42b4512d47f3 Apr 17, 2023 @ 00:00:00.000 | Apr 17, 2023 @ 08:30:17.106 | Apr 12, 2023 @ 09:56:19.765 | Apr 17, 2023 @ 14:45:48.225 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/88f5f3ce-98f5-4ab3-b226-ad8a9692a339 Apr 17, 2023 @ 00:00:00.000 | Apr 17, 2023 @ 08:30:10.828 | Apr 12, 2023 @ 09:14:19.314 | Apr 18, 2023 @ 10:57:41.967 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/ff71a317-fc05-4d0d-b30b-58a1740eb314 Apr 17, 2023 @ 00:00:00.000 | Apr 17, 2023 @ 08:30:08.772 | Apr 5, 2023 @ 10:30:57.269 | Apr 18, 2023 @ 10:57:47.794 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/7db130d2-25b1-4a7f-b427-6b2463ae6633 Apr 16, 2023 @ 00:00:00.000 | Apr 17, 2023 @ 08:30:19.233 | Apr 12, 2023 @ 10:00:08.851 | Apr 18, 2023 @ 07:02:08.205 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/ec2dc406-d28b-43db-a414-6f3da090b38b Apr 15, 2023 @ 00:00:00.000 | Apr 17, 2023 @ 10:59:51.047 | Apr 17, 2023 @ 10:57:33.128 | Apr 18, 2023 @ 11:16:20.866 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/6d5020a8-aaae-41c7-b9e2-d3648594ec11 Apr 15, 2023 @ 00:00:00.000 | Apr 17, 2023 @ 08:30:24.448 | Apr 12, 2023 @ 10:00:42.146 | Apr 18, 2023 @ 12:13:30.790 | https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/b795de68-726c-4bdf-a62a-a42686aa5b6f

fxprunayre commented 1 year ago

Ok j'ai compris (https://github.com/geonetwork/core-geonetwork/pull/7012). A déployer en test.

Je confirme que les transactions CSW ne sont pas historisées. @vbombaerts on ajoute ?

J'ai créé un ticket dédié https://github.com/SPW-DIG/metawal-core-geonetwork/issues/828