Fonctionnalité #17809
closedContrô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.
Files
Updated by Emmanuel DILLARD over 3 years ago
- Status changed from A traiter to R&D - A étudier
- Target version set to 281
Updated by Cyril VAZQUEZ about 3 years ago
- Target version changed from 281 to Inscription Backlog
Updated by Cyril VAZQUEZ almost 3 years ago
- Target version changed from Inscription Backlog to 2.8
Updated by Cyril VAZQUEZ almost 3 years ago
- Target version changed from 2.8 to 2.8.2
Updated by Cyril VAZQUEZ almost 3 years ago
- Target version changed from 2.8.2 to 3.0
Updated by Cyril VAZQUEZ almost 3 years ago
- Status changed from R&D - A étudier to R&D - A planifier
Updated by Cyril VAZQUEZ almost 3 years ago
- Status changed from R&D - A planifier to 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 !!!
Updated by Charlotte Bataille almost 3 years ago
- File ecran1.png ecran1.png added
- File journal-succes.png added
- File journal-echec-timeout.png journal-echec-timeout.png added
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.
Updated by Charlotte Bataille almost 3 years ago
- File deleted (
journal-succes.png)
Updated by Charlotte Bataille almost 3 years ago
- File journal-succes.png journal-succes.png added
Updated by Charlotte Bataille almost 3 years ago
- Status changed from R&D - En cours to R&D - En test
Updated by Charlotte Bataille almost 3 years ago
- File journal-application.png journal-application.png added
Updated by Cyril VAZQUEZ over 2 years ago
- Target version changed from 3.0 to 2.9
Updated by Cyril VAZQUEZ over 2 years ago
- Status changed from R&D - En test to A revoir (S)
- Assignee changed from Cyril VAZQUEZ to Charlotte Bataille
Revoir timeout de traitement
Updated by Charlotte Bataille over 2 years ago
- Status changed from A revoir (S) to R&D - En test
Updated by Cyril VAZQUEZ about 2 years ago
- Status changed from R&D - En test to Clôturé