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

Batch editing - rechercher/remplacer #666

Closed vbombaerts closed 2 years ago

vbombaerts commented 2 years ago

Parfois on a besoin de faire des changements en masse sur une sélection des fiches du catalogue et les options de l'édition en série ne suffisent pas. Est-il envisageable d'ajouter une option permettant de faire une opération d'édition en série qui soit l'équivalent d'un rechercher/remplacer dans le xml. Cela permettrait de remplacer des fragments de valeurs, ce qui à ma connaissance n'est pas possible avec du Xpath. Ca évite de passer par un changement en base.

Par exemple :

fxprunayre commented 2 years ago

Search & replace avec la base de données Cf. https://github.com/titellus/core-geonetwork/pull/55

On pourrait aussi ajouter un preview avec aussi un diff avant d'appliquer un process ?

image

fxprunayre commented 2 years ago

Search & replace à tester https://metawal4.test.wallonie.be/geonetwork/srv/eng/catalog.edit#/batchedit

A faire: ajouter la possibilité de copier/coller une config xpath

vbombaerts commented 2 years ago

La fonctionnalité est montée en prod sans testing préalable et lors de son utilisation j'ai eu 2 fois une indisponibilité de Metawal. Probablement quand on demande d'effectuer un search/replace sur une chaîne qui n'existe pas dans les fiches. A explorer plus avant en environnement de test.

vbombaerts commented 2 years ago

Les chaînes de caractère ne sont pas traduites en français.

image

vbombaerts commented 2 years ago

Serait-il possible dans le rapport de ne marquer comme modifiées (et de ne changer la date de modification) que les fiches qui ont été réellement modifiées ? Egalement, dans le rapport de traitement, en dessous de la ligne "traitées", ajouter une ligne "modifiées" et une ligne "non-modifiées" ou qqch du genre.

image

vbombaerts commented 2 years ago

Question : le traitement en batch induit-il une réindexation automatique des fiches ?

fxprunayre commented 2 years ago

Question : le traitement en batch induit-il une réindexation automatique des fiches ?

Normalement oui. Tu as repéré des cas où ce n'est pas le cas? C'est un paramètre de l'API par défaut true

image

fxprunayre commented 2 years ago

Serait-il possible dans le rapport de ne marquer comme modifiées (et de ne changer la date de modification) que les fiches qui ont été réellement modifiées ?

C'était dans les TODO https://github.com/titellus/core-geonetwork/pull/55/files#diff-b0e774db2ed16acaf4ddee05558b415842c9394e8b67ff1e7b32b827d36a04dfR113-R115

vbombaerts commented 2 years ago

Question : le traitement en batch induit-il une réindexation automatique des fiches ?

Normalement oui. Tu as repéré des cas où ce n'est pas le cas? C'est un paramètre de l'API par défaut true

Non. C'est juste que quand tu fais un rechercher/remplacer qui porte sur 100 fiches et que tu ne trouves la valeur que dans 5 fiches ça ne vaut pas la peine d'indexer les 95 autres. C'est en lien avec l'idée d'avoir plus de finesse sur les fiches qui ont réellement changé.

fxprunayre commented 2 years ago

https://github.com/titellus/core-geonetwork/pull/135. A déployer et tester.

vbombaerts commented 2 years ago
fxprunayre commented 2 years ago

Pour moi la mise en page ça va

image

Les traductions en français sont à finaliser mais on n'a plus les clés de traduction, on a l'anglais.

vbombaerts commented 2 years ago

En test, j'ai fait plusieurs modifs en batch parfois sur des grands ensembles de fiches (200 fiches, dont 150 à modifier). Tout tourne bien et rapidement. Aucun plantage comme c'était le cas en prod.

vbombaerts commented 2 years ago

En valid : la modification à appliquer apparaît en double image

J'ai lancé la modif en batch sur 20 fiches. Après 10 minutes, toujours pas de retour (pas de rapport et icône qui tourne à côté du bouton enregistrer) J'ai vérifié certaines fiches qui faisaient partie de la sélection et elles ont bien été modifiées (pas de vérif exhaustive). --> je ne sais pas si le process de modification se bloque suite à des conditions particulières ou s'il se déroule jusqu'au bout et que c'est la création du rapport qui bloque.

Quand le process est bloqué, l'application est indisponible : impossible d'ouvrir une fiche, d'afficher la page de recherche ou la console d'admin...

vbombaerts commented 2 years ago

Remarque pour moi : Attention que ce type de modification en full text (texte "19115") pourrait modifier certaines balises, notamment les déclarations de namespace !

fxprunayre commented 2 years ago

Quand le process est bloqué, l'application est indisponible : impossible d'ouvrir une fiche, d'afficher la page de recherche ou la console d'admin...

Ce pourrait être bien de regarder dans les outils dev du navigateur > Réseau et voir quel est le retour de la requête (http status, erreur ?, proxy ?, ...)

vbombaerts commented 2 years ago

image

vbombaerts commented 2 years ago

et ensuite, si je veux basculer vers la page de recherche image

vbombaerts commented 2 years ago

En prod : 20 fiches OK 60 fiches OK 220 fiches KO - 504 Gateway Time-out après 10 minutes d'attente

vbombaerts commented 2 years ago

Nécessité de développer un mode asynchrone pour gérer ce problème - #739