Fonctionnalité #17809
ferméContrôle d'exhaustivité
Description
En tant que SA, je veux vérifier le présence de l'intégralité des ressources numériques sur les supports afin de détecter quotidiennement les éventuelles altérations ou suppression.
Le contrôle d'intégrité utilise un stratégie de décomposition du fonds dans le temps et d'échantillonnage, il n'est donc pas réalisé sur l'ensemble du fonds quotidiennement ce qui serait impossible.
Le besoin est de contrôler quotidiennement que toutes les données prévues sont bien présentes sur les supports, par des moyens simples :
- la taille totale par rapport à la taille totale versée moins la taille totale détruite (stats, voir https://forge.maarch.org/issues/#10493)
- la présence de chaque fichier à la bonne taille à l'adresse indiquée
Un découpage pourra être réalisé par service producteur ou organisme, par profil, etc, mais l'objectif est que le processus valide l'exhaustivité du fonds quotidiennement donc il doit être rapide et performant, même sur des fonds de taille importante.
Fichiers
Mis à jour par Emmanuel DILLARD il y a plus de 3 ans
- Statut changé de A traiter à R&D - A étudier
- Version cible mis à 281
Mis à jour par Cyril VAZQUEZ il y a environ 3 ans
- Version cible changé de 281 à Inscription Backlog
Mis à jour par Cyril VAZQUEZ il y a presque 3 ans
- Version cible changé de Inscription Backlog à 2.8
Mis à jour par Cyril VAZQUEZ il y a presque 3 ans
- Statut changé de R&D - A étudier à R&D - A planifier
Mis à jour par Cyril VAZQUEZ il y a presque 3 ans
- Statut changé de R&D - A planifier à R&D - En cours
A faire:
Evénément global recordsManagement/completenessCheck
- rattacher sur archive "system"
- inscrire date de création et dernier resId
- inscrire nombre testé et nombre d'erreurs
Processus en cas de ressource non trouvée
(- inscrire événement recordsManagement/integrityCheck avec résultat faux sur archiveId de la ressource ?)
- marquer l'adresse avec integrityCheckResult = false
Livrer une nouvelle tâche planifiée
- config pour mise à disponibilité
- data sql pour planification par défaut
- attention aux retours de la fonction pour obtenir un rapport simplifié pour la tâche (voir événement global cf contrôle d'intégrité)
Vérifier traduction pour l'écran de recherche des événements du cycle de vie
Brancher la fonction de listage des adresses de ressource en erreur (flawedAddresses) et le contrôle d'intégrité depuis l'écran
- modifier les données de base pour rôle "Archiviste"
- menu ? Stockage -> Contenus stockés invalides (intégrité ou présence)
- tester avec restauration du fichier et contrôle lancé depuis l'écran : ligne disparaît, nouvel événement pour l'archive
Documenter !!!
Mis à jour par Charlotte Bataille il y a presque 3 ans
- Fichier ecran1.png ecran1.png ajouté
- Fichier journal-succes.png ajouté
- Fichier journal-echec-timeout.png journal-echec-timeout.png ajouté
Branche à tester : feat/17809_completeness_test
Profil : archiviste
Pré-requis
- Attribuez le privilège Administration technique > Gérer le stockage
- Exécutez le script *data/maarchRM/sql/pgsql/*migrationV2.8_V3.sql
Route à tester
GET /digitalResource/digitalResource/completeness?[Parameters]
[Parameters]
- samplingFrequency (integer) : fréquence de contrôle en jours
- timeout (integer) : délai maximal de contrôle en secondes
Exemple
http://maarchrm/digitalResource/digitalResource/completeness?samplingFrequency=70&timeout=60
Retour (code HTTP 200)
La requête ne retourne pas d'informations et un événement de type Contrôle d'exhaustivité des ressources est généré dans le journal du cycle de vie de l'archive. (cf. fichier joint journal-succes.png pour le détail de l'événement généré)
Cas d'erreur
En cas d'erreur de dépassement de délai de contrôle, le détail de l'événement généré comprend le délai ainsi qu'un message d'erreur. (cf. fichier joint journal-echec.png pour le détail de l'événement généré)
Si une ressource est invalide, l'attribut integrityCheckResult de son adresse est à false et elle est visible dans l'écran Contenus stockés invalides.
Planificateur
Le contrôle d'exhaustivité peut aussi être exécuté depuis le planificateur de tâches. Dans ce cas, un événement est généré dans le journal de l'application. (cf. fichier joint journal-application.png pour le détail de l'événement généré)
Ecran à tester
http://maarchrm/flawedAddresses
accessible depuis le menu Gestion du stockage > Contenus stockés invalides
Retour attendu
(cf. fichier joint ecran1.png)
L'écran liste les différentes ressources numériques pour lesquelles le contrôle d'intégrité ou d'exhaustivité a échoué.
Pour chaque ressource, il est possible d'effectuer de nouveau un contrôle d'intégrité afin de rétablir sa validité.
Pour ce faire, cliquez sur le bouton Vérifier l'intégrité à droite d'une adresse.
Un message d'erreur s'affiche si la ressource n'est pas rétablie.
Sinon, la ressource disparaît de l'écran et un événement de type Validation d'intégrité est généré dans le journal du cycle de vie de l'archive.
Mis à jour par Charlotte Bataille il y a presque 3 ans
- Fichier
journal-succes.pngsupprimé
Mis à jour par Charlotte Bataille il y a presque 3 ans
- Fichier journal-succes.png journal-succes.png ajouté
Mis à jour par Charlotte Bataille il y a presque 3 ans
- Statut changé de R&D - En cours à R&D - En test
Mis à jour par Charlotte Bataille il y a presque 3 ans
- Fichier journal-application.png journal-application.png ajouté
Mis à jour par Cyril VAZQUEZ il y a plus de 2 ans
- Statut changé de R&D - En test à A revoir (S)
- Assigné à changé de Cyril VAZQUEZ à Charlotte Bataille
Revoir timeout de traitement
Mis à jour par Charlotte Bataille il y a plus de 2 ans
- Statut changé de A revoir (S) à R&D - En test
Mis à jour par Cyril VAZQUEZ il y a environ 2 ans
- Statut changé de R&D - En test à Clôturé