Closed vbombaerts closed 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 ?
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
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.
Les chaînes de caractère ne sont pas traduites en français.
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.
Question : le traitement en batch induit-il une réindexation automatique des fiches ?
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
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
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é.
https://github.com/titellus/core-geonetwork/pull/135. A déployer et tester.
Pour moi la mise en page ça va
Les traductions en français sont à finaliser mais on n'a plus les clés de traduction, on a l'anglais.
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.
En valid : la modification à appliquer apparaît en double
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...
Remarque pour moi : Attention que ce type de modification en full text (texte "19115") pourrait modifier certaines balises, notamment les déclarations de namespace !
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 ?, ...)
et ensuite, si je veux basculer vers la page de recherche
En prod : 20 fiches OK 60 fiches OK 220 fiches KO - 504 Gateway Time-out après 10 minutes d'attente
Nécessité de développer un mode asynchrone pour gérer ce problème - #739
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 :