4. Modèle de données

4.1. Introduction

4.1.1. Avertissement

Ce document fait état du travail en cours. Il est susceptible de changer de manière conséquente au fur et à mesure de l’avancée des développements.

4.1.2. Objectif du document

Ce document a pour objectif de présenter la structure générale des collections utilisées dans la solution logicielle Vitam. Il est destiné principalement aux développeurs, afin de leur présenter l’organisation des données dans la solution logicielle Vitam, ainsi qu’à tous les autres acteurs du programme pour leur permettre de connaître ce qui existe en l’état actuel.

Il explicite chaque champ, précise la relation avec les sources (par exemple bordereau de transfert conforme au standard SEDA v.2.2, référentiel Pronom, etc.) et la structuration JSON stockée dans la base de données MongoDB. Ce document est structuré de façon à suivre l’ordre des bases et collections dans Mongo.

Pour chacun des champs, cette documentation apporte :

  • une liste des valeurs licites,

  • la sémantique ou syntaxe du champ,

  • la codification en JSON.

Il décrit aussi parfois une utilisation particulière faite à une itération donnée. Cette indication différant de la cible finale, le numéro de l’itération de cet usage est mentionné.

4.1.3. Création des index

Les différents index sont créés par ansible, plate-forme logicielle libre. Les fichiers à renseigner pour rajouter un nouvel index sont stockés dans le répertoire deployment/ansible-vitam/roles/mongo_configure/templates/init-{nom-base}-database.js.j2

4.1.4. Généralités

4.1.4.1. Collections et bases

Les bases Mongo sont organisées en bases et collections.

Les bases contiennent différentes collections. Les collections peuvent être rapprochées du concept de tables en SQL.

4.1.4.2. Cardinalité

La cardinalité présentée pour chacun des champs correspond aux exigences de la base de données Mongo.

Certains champs ayant une cardinalité 1-1 sont directement renseignés par la solution logicielle Vitam et sont donc obligatoirement présents dans la base de données, mais ne le sont pas forcément dans les données envoyées.

4.1.4.3. Nommage des champs

Les champs des fichiers JSON présents dans les collections peuvent être nommés de deux manières :

  • « champ » : un champ sans underscore est modifiable via les API,

  • « _champ » : un champ commençant par un underscore n’est pas

    modifiable via les API. Une fois renseigné dans la solution logicielle Vitam par le bordereau de transfert ou la solution logicielle Vitam, il ne pourra plus être modifié depuis l’extérieur.

4.1.4.4. Identifiants

Il existe plusieurs types d’identifiants :

  • GUID : identifiant unique de 36 caractères généré par la solution logicielle Vitam,

  • PUID : identifiant des formats dans le référentiel Pronom,

  • PID : identifiant de processus Unix.

4.1.4.5. Dates

Toutes les dates décrites dans ce document sont au format ISO 8601.

Exemple : « 2017-11-02T13:50:28.922 ».

4.1.4.6. Limite de caractères acceptés dans les champs

Mongo est un type de base de données dite « schemaless », soit sans schéma. Ainsi, les champs contenus dans les collections décrites dans ce document sont, sauf mention contraire, sans limite de caractères.

4.1.4.7. Type d’indexation dans ElasticSearch

Les champs peuvent être indexés de deux façons différentes dans ElasticSearch :

  • les champs analysés : les informations contenues dans ces champs

    peuvent être retrouvées par une recherche full-text. Par exemple, les champs Description, Name.

  • les champs non analysés : les informations contenues dans ces

    champs peuvent être retrouvées par une recherche exacte uniquement. Par exemple, les champs Identifier ou OriginatingAgency.

4.2. Base Identity

La base Identity contient les collections relatives aux certificats applicatifs et personnels utilisés par la solution logicielle Vitam.

4.2.1. Collection Certificate

4.2.1.1. Utilisation de la collection Certificate

La collection Certificate permet de référencer et décrire unitairement les certificats utilisés par les contextes applicatifs.

4.2.1.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    "_id": "aeaaaaaaaahkcaqqaa4v4alj7kxofsqaaaaq",
    "SubjectDN": "CN=ihm-demo, O=vitam, L=paris, ST=idf, C=fr",
    "ContextId": "CT-000001",
    "SerialNumber": 302,
    "Certificate": "Q2VydGlmaWNhdGU6CiAgICBEYXRhOgogICAgICAgIFZlcnNpb246IDMgKDB4MikKICA
 
    [...]
 
    kbE4KM08yV1dIRlJMWnpQRWZ4eXlxMm1TbVdsaUUvUzZUbzJVVEswamxobStpbThPa29mZmlLbXlodVpWS3
    S0tRU5EIENFUlRJRklDQVRFLS0tLS0=",

    "IssuerDN": "CN=ca_intermediate_client-external, OU=authorities,O=vitam, L=paris, ST=idf, C=fr",
    "Status": "VALID",
    "ExpirationDate": "2025-01-02T11:35:35.000"
}

4.2.1.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant unique du certificat applicatif.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« SubjectDN » : identifiant unique (Distinguished Name) du certificat applicatif.

  • Il s’agit d’une chaîne de caractères

  • Cardinalité : 1-1

« ContextId » : identifiant signifiant (Identifier) du contexte utilisant le certificat applicatif.

  • Il s’agit d’une chaîne de caractères correspondant à l’identifiant

    signifiant d’un contexte applicatif.

  • Cardinalité : 1-1

« SerialNumber » : numéro de série du certificat applicatif.

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

« Certificate » : certificat.

  • Il s’agit d’une chaîne de caractères correspondant au binaire du

    certificat suivant la norme X509.

  • Cardinalité : 1-1

« IssuerDN » : identifiant unique (Distinguished Name) de l’autorité de certification.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Status » : statut du certificat.

  • Peut être « VALID » si le certificat est valide, « REVOKED » s’il

    est révoqué ou « EXPIRED » s’il est expiré.

  • Cardinalité : 1-1

« ExpirationDate » : date d’expiration du certificat.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3

    digits de millisecondes]

    Exemple : « 2016-08-17T08:26:04.227 »

  • Cardinalité : 1-1

4.2.2. Collection PersonalCertificate

4.2.2.1. Utilisation de la collection PersonalCertificate

La collection PersonalCertificate permet de référencer et décrire unitairement les certificats personnels utilisés pour l’authentification de personae.

4.2.2.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
 "_id": "aeaaaaaaaahkcaqqaabxealjtiuxsziaaaaq",
 "SubjectDN": "O=VITAM, L=Paris, C=FR",
 "SerialNumber": 2,
 "Certificate": "MIIFRjCCAy6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADAtMQswCQYDVQQGEwJGU[...]jzODUpSkBvDiaA==",
 "IssuerDN": "O=VITAM, L=Paris, C=FR",
 "Status": "VALID",
 "Hash": "6088f19bc7d328f301168c064d6fda93a6c4ced9d5c56810c4f70e21e77d841d"
 "ExpirationDate": "2025-01-02T11:35:35.000"
}

4.2.2.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant unique du certificat personnel.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« SubjectDN » : identifiant unique (Distinguished Name) du certificat personnel.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« SerialNumber » : numéro de série du certificat.

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

« Certificate » : certificat.

  • Le certificat est au format DER encodé en Base64.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« IssuerDN » : identifiant unique (Distinguished Name) de l’autorité de certification.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Status » : statut du certificat.

  • Peut être « VALID » si le certificat est valide, « REVOKED » s’il

    est révoqué ou « EXPIRED » s’il est expiré.

  • Cardinalité : 1-1

« Hash » : empreinte du certificat.

  • le hash utilise l’algorithme SHA256.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« ExpirationDate » : date d’expiration du certificat.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes]

    Exemple : « 2016-08-17T08:26:04.227 »

  • Cardinalité : 1-1

4.3. Base Logbook

La base Logbook contient les collections relatives aux journaux d’opérations et de cycles de vie des unités archivistiques et des groupes d’objets de la solution logicielle Vitam. Une collection technique Offset liée à la reconstruction existe également.

L’ensemble des champs est peuplé automatiquement par la solution logicielle Vitam.

4.3.1. Collection LogbookOperation

4.3.1.1. Utilisation de la collection LogbookOperation

La collection LogbookOperation comporte toutes les informations de traitement liées aux opérations effectuées dans la solution logicielle Vitam, chaque opération faisant l’objet d’un enregistrement distinct.

Ces opérations sont :

  • Audit

  • Données de base

  • Élimination

  • Entrée

  • Export DIP

  • Mise à jour des unités archivistiques

  • Préservation

  • Sécurisation

  • Vérification

  • Sauvegarde des écritures

  • Réorganisation d’arborescence

  • Journalisation externe (enregistrement d’opérations extérieures dans la solution logicielle Vitam)

Les valeurs correspondant à ces opérations dans les journaux sont détaillées dans l’annexe 3

4.3.1.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection LogbookOperation

Extrait d’un enregistrement JSON correspondant à une opération d’entrée terminée avec succès.

{
    "_id": "aeeaaaaabchgzebuaafzaalj4nng5paaaaaq",
    "evId": "aeeaaaaabchgzebuaafzaalj4nng5paaaaaq",
    "evParentId": null,
    "evType": "PROCESS_SIP_UNITARY",
    "evDateTime": "2019-04-03T13:19:08.671",
    "evDetData": "{\n \"EvDetailReq\" : \"2 images de lac\",\n \"EvDateTimeReq\" : \"2016-10-18T14:52:27\",\n \"ArchivalAgreement\" : \"IC-000001\",\n \"ServiceLevel\" : null\n}",
    "evIdProc": "aeeaaaaabchgzebuaafzaalj4nng5paaaaaq",
    "evTypeProc": "INGEST",
    "outcome": "STARTED",
    "outDetail": "PROCESS_SIP_UNITARY.STARTED",
    "outMessg": "Début du processus d'entrée du SIP : aeeaaaaabchgzebuaafzaalj4nng5paaaaaq",
    "agId": "{\"Name\":\"vitam-env-int-external-01.vitam-env\",\"Role\":\"ingest-external\",\"ServerId\":1047302196,\"SiteId\":1,\"GlobalPlatformId\":241995828}",
    "agIdApp": "CT-000001",
    "agIdPers": null,
    "evIdAppSession": "MyApplicationId-ChangeIt",
    "evIdReq": "aeeaaaaabchgzebuaafzaalj4nng5paaaaaq",
    "agIdExt": "{\"originatingAgency\":\"Identifier4\",\"TransferringAgency\":\"Identifier5\",\"ArchivalAgency\":\"Identifier4\"}",
    "rightsStatementIdentifier": "{\"ArchivalAgreement\":\"IC-000001\"}",
    "obId": "aeeaaaaabchgzebuaafzaalj4nng5paaaaaq",
    "obIdReq": null,
    "obIdIn": "2 images de lac",
    "events": [
        {
            "evId": "aedqaaaabchgzebuaafzaalj4nng67yaaaaq",
            "evParentId": null,
 	    "evType": "STP_SANITY_CHECK_SIP.STARTED",
            "evDateTime": "2019-04-03T13:19:08.671",
            "evDetData": null,
            "evIdProc": "aeeaaaaabchgzebuaafzaalj4nng5paaaaaq",
            "evTypeProc": "INGEST",
            "outcome": "OK",
            "outDetail": "STP_SANITY_CHECK_SIP.STARTED.OK",
            "outMessg": "Succès du début du processus des contrôles préalables à l'entrée",
            "agId": "{\"Name\":\"vitam-env-int-external-01.vitam-env\",\"Role\":\"ingest-external\",\"ServerId\":1047302196,\"SiteId\":1,\"GlobalPlatformId\":241995828}",
            "agIdPers": null,
            "evIdReq": "aeeaaaaabchgzebuaafzaalj4nng5paaaaaq",
            "obId": "aeeaaaaabchgzebuaafzaalj4nng5paaaaaq"
        },
        {
            "evId": "aedqaaaaachfbdnsab3bmalecitge5iaaaaq",
            "evParentId": null,
            "evType": "STP_SANITY_CHECK_SIP",
            "evDateTime": "2018-06-18T09:07:42.879",
            "evDetData": null,
            "evIdProc": "aeeaaaaaachfbdnsab3bmalecitgbwqaaaaq",
            "evTypeProc": "INGEST",
            "outcome": "OK",
            "outDetail": "STP_SANITY_CHECK_SIP.OK",
            "outMessg": "Succès du processus des contrôles préalables à l'entrée",
            "agId": "{\"Name\":\"vitam-env-itrec-external-01.vitam-env\",\"Role\":\"ingest-external\",\"ServerId\":1045466546,\"SiteId\":1,\"GlobalPlatformId\":240160178}",
            "agIdPers": null,
            "evIdReq": "aeeaaaaaachfbdnsab3bmalecitgbwqaaaaq",
            "obId": "aeeaaaaaachfbdnsab3bmalecitgbwqaaaaq"
        },
        {
            "evId": "aedqaaaaachfbdnsab3bmalecitge5iaaaba",
            "evParentId": "aedqaaaaachfbdnsab3bmalecitge5iaaaaq",
            "evType": "SANITY\_CHECK\_SIP",
            "evDateTime": "2018-06-18T09:07:42.879",
            "evDetData": null,
            "evIdProc": "aeeaaaaaachfbdnsab3bmalecitgbwqaaaaq",
            "evTypeProc": "INGEST",
            "outcome": "OK",
            "outDetail": "SANITY_CHECK_SIP.OK",
            "outMessg": "Succès du contrôle sanitaire du SIP : aucun virus détecté",
            "agId": "{\"Name\":\"vitam-env-itrec-external-01.vitam-env\",\"Role\":\"ingest-external\",\"ServerId\":1045466546,\"SiteId\":1,\"GlobalPlatformId\":240160178}",
            "agIdPers": null,
            "evIdReq": "aeeaaaaaachfbdnsab3bmalecitgbwqaaaaq",
            "obId": "aeeaaaaaachfbdnsab3bmalecitgbwqaaaaq"
        },
        {
        [...]
        }
    ],
      "_tenant": 8,
      "_v": 25,
      "_lastPersistedDate": "2019-04-03T13:19:28.832"
}

4.3.1.3. Détail des champs du JSON stocké dans la collection

Chaque enregistrement de cette collection est composé d’une structure auto-imbriquée : la structure possède une première instanciation « incluante » et contient un tableau de n structures identiques, dont seules les valeurs contenues dans les champs changent.

La structure est décrite ci-dessous. Pour certains champs, on indiquera s’il s’agit de la structure incluante ou d’une structure incluse dans celle-ci.

« _id » (identifier): identifiant unique donné par le système lors de l’initialisation de l’opération.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • La valeur de ce champ peut être réutilisée dans les champs evIdProc, evIdReq, evId et obId pour pouvoir suivre une succession d’opérations déclenchées par une première opération (comme la mise à jour du référentiel des règles de gestion pouvant déclencher une mise à jour des unités archivistiques).

  • Cet identifiant constitue la clé primaire de l’opération dans la collection.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« evId » (event Identifier): identifiant de l’événement.

  • Il s’agit d’une chaîne de 36 caractères.

  • Champ obligatoire peuplé par la solution logicielle Vitam.

  • Il identifie l’opération de manière unique dans la collection.

  • Cet identifiant doit être l’identifiant d’un événement dans le cadre de l’opération (evIdProc) et doit donc être différent par paire (début/fin).

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evParentId » (event Parent Identifier): identifiant de l’événement parent.

  • Il est constitué d’une chaîne de 36 caractères correspondant à un GUID.

  • Il identifie l’événement parent. Par exemple pour le traitement CHECK_SEDA, il s’agit de l’identifiant de l’étape STP_INGEST_CONTROL_SIP.

  • Ce champ est toujours à « null » pour la structure incluante et les tâches principales.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evType » (event Type): code du type de l’opération.

  • Issu de la définition du workflow structuré en JSON (fichier default-workflow.json).

  • La liste des valeurs possibles pour ce champ se trouve en annexe. Seul le code est stocké dans ce champ, la traduction se faisant via un fichier properties (vitam-logbook-message-fr.properties).

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evDateTime » (event DateTime): date de lancement de l’opération.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes]

  • Elle est renseignée par le client LogBook.

    Exemple : « 2016-08-17T08:26:04.227 »

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evDetData » (event Detail Data): détails des données l’événement.

  • Donne plus de détails sur l’événement ou son résultat.

  • Par exemple, pour l’étape ATR_NOTIFICATION, ce champ détaille le nom de l’ArchiveTransferReply, son empreinte et l’algorithme utilisé pour calculer l’empreinte.

  • Sur la structure incluante d’une opération d’entrée, il contient un objet JSON composé des champs suivants :

    • EvDetailReq : précisions sur la demande de transfert.

      • Chaîne de caractères.

      • Reprend le champ « Comment » du message ArchiveTransfer.

    • EvDateTimeReq : date de la demande de transfert inscrit dans le champ evDetData.

      • Date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes].

      • Cardinalité 1-1.

    • ArchivalAgreement : identifiant du contrat d’entrée utilisé.

      • Reprend le champ « ArchivalAgreement » du message ArchiveTransfer.

      • Cardinalité 1-1.

    • ArchiveProfile : identifiant du profil d’archivage utilisé.

      • Reprend le champ « ArchiveProfile » du message ArchiveTransfer.

      • Cardinalité 0-1.

    • ServiceLevel : niveau de service.

      • Chaîne de caractères.

      • Reprend le champ ServiceLevel du message ArchiveTransfer.

      • Cardinalité 0-1.

    • AcquisitionInformation : modalités d’entrée des archives.

      • Chaîne de caractères.

      • Reprend le champ AcquisitionInformation du message ArchiveTransfer.

      • Cardinalité 0-1.

    • LegalStatus : statut des archives échangées.

      • Chaîne de caractères.

      • Reprend le champ LegalStatus du message ArchiveTransfer.

      • Cardinalité 0-1.

  • Cardinalité pour les structures incluantes : 1-1

  • Cardinalité pour les structures incluses : 0-1

  • Ce champ existe pour les structures incluantes et incluses.

« evIdProc » (event Identifier Process): identifiant du processus.

  • Il s’agit d’une chaîne de 36 caractères.

  • Lorsqu’il s’agit d’une opération indépendante d’autres opérations, tous les événements identiques d’un document dans cette collection reprennent pour ce champ la valeur du champ « _id ». Dans le cas où une opération en déclenche d’autres, les opérations déclenchées utilisent toutes le même evIdProc, qui permet alors de suivre une suite de processus.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evTypeProc » (event Type Process): type de processus.

  • Il s’agit d’une chaîne de caractères.

  • Nom du processus, parmi une liste de processus possibles fixée. Cette liste est disponible en l’annexe 3

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« outcome » : statut de l’événement.

  • Il s’agit d’une chaîne de caractères devant correspondre à une valeur de la liste suivante :

    • STARTED (Début de l’événement)

    • OK (Succès de l’événement)

    • KO (Échec de l’événement)

    • WARNING (Succès de l’événement comportant toutefois des alertes)

    • FATAL (Erreur technique)

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« outDetail » (outcome Detail): code correspondant au résultat de l’événement.

  • Il s’agit d’une chaîne de caractères.

  • Il contient le code correspondant au résultat de l’événement, incluant le statut. La liste des valeurs possibles pour ce champ se trouve en annexe. Seul le code doit être stocké dans ce champ, la traduction doit se faire via un fichier properties (vitam-logbook-message-fr.properties).

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« outMessg » (outcome Detail Message): détail du résultat de l’événement.

  • Il s’agit d’une chaîne de caractères.

  • C’est un message intelligible destiné à être lu par un être humain

    en tant que détail de l’événement.

  • Correspond à la traduction du code présent dans outDetail, issue du

    fichier vitam-logbook-message-fr.properties.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« agId » (agent Identifier): identifiant de l’agent interne réalisant l’évènement.

  • Il s’agit de plusieurs chaînes de caractères indiquant le nom, le

    rôle et l’identifiant du serveur, du site et de la plateforme. Ce champ est calculé par le journal à partir de ServerIdentifier et en s’appuyant sur des fichiers de configuration.

    Exemple :

    "{\"Name\":\"vitam-env-itrec-external-01.vitam-env\",\"Role\":\"ingest-external\",\"ServerId\":1045466546,\"SiteId\":1,\"GlobalPlatformId\":240160178}",
    
  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« agIdApp » (agent Identifier Application): identifiant de l’application externe qui appelle la solution logicielle Vitam pour effectuer une opération.

  • Cet identifiant est celui du contexte applicatif utilisé par l’application.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« agIdPers » : identifiant personae, issu du certificat personel.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir une valeur null.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evIdAppSession » (event Identifier Application Session): identifiant de la transaction qui a entraîné le lancement d’une opération dans la solution logicielle Vitam.

  • L’application externe est responsable de la gestion de cet identifiant. Il correspond à un identifiant pour une session donnée côté application externe.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« evIdReq » (event Identifier Request): identifiant de la requête déclenchant l’opération.

  • Il s’agit d’une chaîne de 36 caractères.

  • Une requestId est créée pour chaque nouvelle requête http venant de l’extérieur.

  • Dans le cas du processus d’entrée, il devrait s’agir du numéro de l’opération (EvIdProc).

  • Il s’agit du X-Application-Id.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« agIdExt » (agent Identifier External): identifiant de l’agent externe mentionné dans le message ArchiveTransfer.

  • Pour une opération d’INGEST, il s’agit d’un objet JSON comprenant les champs suivants :

    • OriginatingAgency : identifiant du service producteur.

      • Il s’agit d’une chaîne de caractères.

      • Reprend le contenu du champ OriginatingAgencyIdentifier du message ArchiveTransfer.

    • TransferringAgency : identifiant du service de transfert.

      • Il s’agit d’une chaîne de caractères.

      • Reprend le contenu du champ TransferringAgencyIdentifier du message ArchiveTransfer.

    • ArchivalAgency : identifiant du service d’archivage.

      • Il s’agit d’une chaîne de caractères.

      • Reprend le contenu du champ ArchivalAgencyIdentifier du message ArchiveTransfer.

    • SubmissionAgency : identifiant du service versant.

      • Il s’agit d’une chaîne de caractères.

      • Reprend le contenu du champ SubmissionAgencyIdentifier du message ArchiveTransfer.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« rightsStatementIdentifier » : identifiant des données référentielles en vertu desquelles l’opération peut s’exécuter.

  • Pour une opération d’INGEST, il s’agit d’un objet JSON comprenant les champs suivants :

    • ArchivalAgreement: identifiant du contrat d’entrée utilisé pour réaliser l’entrée.

      • Il s’agit d’une chaîne de caractères.

      • Reprend le contenu du champ ArchivalAgreement du message ArchiveTransfer.

      • Cardinalité 1-1.

    • Profil : identifiant du profil d’archivage utilisé pour réaliser l’entrée.Il s’agit d’une chaîne de caractères.

      • Reprend le contenu du champ ArchiveProfile du message ArchiveTransfer.

      • Cardinalité 0-1.

  • Pour une opération d’UPDATE, il s’agit d’un objet JSON comprenant les champs suivants :

    • AccessContract : identifiant du contrat d’accès utilisé pour réaliser une mise à jour.

  • Cardinalité : 1-1

  • Ce champ existe pour la structure incluante et certaines structures incluses

« obId » (object Identifier): identifiant du lot d’objets auquel s’applique l’opération (lot correspondant à une liste).

  • Identifiant peuplé par la solution logicielle Vitam.

  • Il s’agit d’une chaîne de 36 caractères.

  • Dans le cas d’une opération d’entrée, il s’agit du GUID de l’entrée (evIdProc).

  • Dans le cas d’une opération d’audit, il s’agit par exemple du nom d’un lot d’archives prédéfini.

  • Dans le cas d’une opération de mise à jour, il s’agit du GUID de l’unité archivistique mise à jour.

  • Dans le cas d’une opération de données de base, il s’agit de l’identifiant de l’opération.

  • Cardinalité pour les structures incluantes : 1-1

  • Cardinalité pour les structures incluses : 0-1

  • Ce champ existe pour les structures incluantes et incluses.

« obIdReq » (object Identifier Request): identifiant de la requête caractérisant un lot d’objets auquel s’applique l’opération.

  • Identifiant peuplé par la solution logiciele Vitam.

  • Ne concerne que les lots d’objets dynamiques, c’est-à-dire obtenus par la présente requête. Ne concerne pas les lots ayant un identifiant défini.

  • Actuellement, la valeur est toujours “null”.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« obIdIn » (Object Identifier Income): identifiant externe du lot d’objets auquel s’applique l’opération, utilisé pour les opérations d’entrée.

  • Il s’agit d’une chaîne de caractères intelligible pour un humain qui permet de comprendre à quel SIP ou quel lot d’archives se rapporte l’événement.

  • La structure incluante et les structures incluses reprennent le contenu du champ MessageIdentifier du message ArchiveTransfer.

  • Cardinalité pour les structures incluantes : 1-1

  • Cardinalité pour les structures incluses : 0-1

  • Ce champ existe pour les structures incluantes et incluses.

« events » : tableau de structures listant des événements liés à l’opération.

  • Pour la structure incluante, le tableau contient n structures incluses dans l’ordre des événements (date)

  • Cardinalité : 1-1

  • S’agissant d’un tableau, les structures incluses ont pour cardinalité 1-n.

  • Ce champ existe uniquement pour la structure incluante.

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« _v » : version de l’enregistrement décrit

  • Il s’agit d’un entier.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« _lastPersistedDate » : date technique de sauvegarde en base.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes]

  • Elle est renseignée par le serveur Logbook.

    Exemple : "2016-08-17T08:26:04.227"

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

4.3.1.4. Champs présents dans les events

Les events sont, au minimum, composés des champs suivants :

  • evId

  • evParentId

  • evType

  • evDateTime

  • evDetData

  • evIdProc

  • evTypeProc

  • outcome

  • outDetail

  • outMessg

  • agId

  • AgIdPers

  • evIdReq

  • obId

D’autres champs peuvent apparaître dans certains events lorsqu’ils mettent à jour le master.

4.3.1.5. Détail des champs du JSON stocké en base spécifiques à une opération de sécurisation des journaux d’opération et de cycle de vie

Ceci ne concerne aujourd’hui que les sécurisations des journaux d’opération et la sécurisation des journaux de cycle de vie.

Exemple de données stockées par l’opération de sécurisation des journaux d’opération pour le champ evDetData :

« evDetData »:

"{\"LogType\":\"OPERATION\",
	\"StartDate\":\"2019-04-08T05:55:17.366\",
	\"EndDate\":\"2019-04-08T07:55:22.684\",
	\"Hash\":\"eeQxnrhZgOwpbCz9m5yT9Z9pQVzJlEJAbZcmGAOs/d1gwU67I69JmaJbkJF3sc0rBtlyWZyItQnaF0+AtENMGw==\",
	\"TimeStampToken\":\"MIILITAVAgEAMBAMDk9wZXJhdGlvbiBPa2F5MIILBgYJKoZIhvcNAQcCoIIK9zCCCvMCAQMxDzANBglghkgBZQMEAgMFADCBgAYLKoZIhvcNAQkQAQSgcQRvMG0CAQEGASkwUTANBglghkgBZQMEAgMFAARAyZe0cUb27AyosyVkJ6gSqTmb0ki0AE/VMMjdOkBiHmXp4bt0YhB+7H7tiBxXs8AnCguuZXBNEnndCl9xdrBC2QIBARgPMjAxOTA0MDgwODAwMjJaoIIGhzCCBoMwggRroAMCAQICAgDUMA0GCSqGSIb3DQEBCwUAMHgxCzAJBgNVBAYTAmZyMQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMQ4wDAYDVQQKDAV2aXRhbTEUMBIGA1UECwwLYXV0aG9yaXRpZXMxJTAjBgNVBAMMHGNhX2ludGVybWVkaWF0ZV90aW1lc3RhbXBpbmcwHhcNMTkwNDA4MDEzNzE2WhcNMjIwNDA3MDEzNzE2WjBUMQswCQYDVQQGEwJmcjEMMAoGA1UECAwDaWRmMQ4wDAYDVQQHDAVwYXJpczEOMAwGA1UECgwFdml0YW0xFzAVBgNVBAMMDnNlY3VyZS1sb2dib29rMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA39VhcS+83NFINh4EeXagmh2VHNTN5yRiVT4lxX5hNLBZzDwwcu0PCPDRUzVLmcGWdLFtoFr+J6t0h2cDBx9W3EeXoDX/0faPGw9HFuBX8+7KGZQ2U4Z9SCplT3qLxeCMVLZ9zj1Du0qTyqWuPTFyty1X4ZpQ4ZY6TwlLrhcZMvZRKN35+cIgilE28jzyXTobHcZN7MtqXJqDxmZddQTEJw4ohlc5I/VPc1uDJw0/1dd5HGTVawN6BbcTmypGvm84lw097JXsdcoD90K5ACmOJX9n6bd/a9Bq+DoIi24cw8QncVRCTQPqK8qFRtD8BZHAwm328H2Lf7VSEncfciyCSnu3OxKJgNLvQyYEthuk8Lq8Vt1aSeCPkXZ/mu+3xTX1+AI9t17EkiEvN3iejUWKCgvy+2tfG1VSyVc9FRzhskdM8OBYsy4qyLfRTtpP7XLNOxDp+4z5WlCA0JsyHb35ycaLtQNVASliLepfBpDP7xe39eaOphVDtC+rXjKhKVXxNuiKa4Ihx+UxK13WfqYgh203nUkw3bxFf+oeJkarusceK2sX9T62UT58BYKZv5rtXoQ6UjtnCSCri8Qlx3zeGa+Lk2V3BJD77HcHlZNHA8bklLh5CL0B/1nU/1l21iUK8iZ0zc6j3D2QZA9w3zmjTZo7QmCQyHYMhNx/T15k8A8CAwEAAaOCATkwggE1MCUGCWCGSAGG+EIBDQQYFhZDZXJ0aWZpY2F0IFNlcnZldXIgU1NMMB0GA1UdDgQWBBQjSERR8DjDVFUC/KJE4HmVcjPEfTCBmwYDVR0jBIGTMIGQgBQx+/dsx/5LVPnDOSjKVwStsiBn06F0pHIwcDELMAkGA1UEBhMCZnIxDDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxDjAMBgNVBAoMBXZpdGFtMRQwEgYDVQQLDAthdXRob3JpdGllczEdMBsGA1UEAwwUY2Ffcm9vdF90aW1lc3RhbXBpbmeCAgDTMAkGA1UdEgQCMAAwDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgZAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQAlyIAOPFZ+q8ilhQyuwGa3XoDiCLIx61eHkUF1a4UHAopHEzK2xWQdQsBqtmRrX+G5lcH8TXpWypf4ENrUTmITxOxZWMkG7SblGCA9J1hbwdaj0aNFXpsmgqQrN1/BjktnSu+68tZpoIJXabAfoTW5kOGsvEXvBXqqtEBJ/A0Zs5MojXyrfGkhKdRbYWzSB+8Li84N4xuOJqnFKAB40suYqTBWb0TzpViNgJ25ZFvz/oAPTEeP/5n/T+DDJuKkJteV5sAxH6EoOm24ItMdeXfAZEqbS4E+LQAEpCWFB8rQk5L4bfumNlJa/nJJkOPGpa8zHBIRm1iT0jacojr65OIGmThFO7PlokkG7gkX58ABT+hyNYMzH2B0aulytC4crsGBAiTTFMiltYUlPzciaE22AZTCo2aIwwUb3Z09D5OR2U2t0yem966S+wbyn4OuX5zFvObttQSHCYtNE0u0iooEVm//WsIg4EOTl8zcoFfK2+j0z2DIzhnulg/p6IPP4wfhEHDIpdUKf1d+nA8MPWA0kCNdTqzGawBjna+ObVxuadaVVm15EDIjb7YJ6BuaTfDoZXcT8nDZ4R8+r4vNoZICI12+qjF8VPkrZOGqn6pbYdD/NWbw/Rk72fBXapiGOthCP4656/nGRU61zX8DpAmQqn1JAJvHPkH55rqF9xtUvjGCA80wggPJAgEBMH4weDELMAkGA1UEBhMCZnIxDDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxDjAMBgNVBAoMBXZpdGFtMRQwEgYDVQQLDAthdXRob3JpdGllczElMCMGA1UEAwwcY2FfaW50ZXJtZWRpYXRlX3RpbWVzdGFtcGluZwICANQwDQYJYIZIAWUDBAIDBQCgggEgMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMTkwNDA4MDgwMDIyWjAtBgkqhkiG9w0BCTQxIDAeMA0GCWCGSAFlAwQCAwUAoQ0GCSqGSIb3DQEBDQUAME8GCSqGSIb3DQEJBDFCBEDES+YmW6LIwXSVX/S7iv6GWmgWZGXYuGtVnNUfizvS240DJ/iVxAQ+yLcGvj7mHy3cE2BKPVH+0HUhXZr9EnqEMGQGCyqGSIb3DQEJEAIvMVUwUzBRME8wCwYJYIZIAWUDBAIDBEAliqbGATxK1nkxkjtsF1vDr3kzuHXgo2AL0aRsvyCwXVNptG7FuQodH9d8kupfaJI6PbXLtNSMVTXTE8LT94qLMA0GCSqGSIb3DQEBDQUABIICAFUvFMXSxRqGobZLWtppWLQ6VsGE77JJrdlhQDdc/RoVLnc4IJSr1IvgrKjJvWwx9vwB1FmYK0AeGbDqhsw6wteVl1cpAY5h4oHU+HL9teWlVgV+/gS+SbeJKjf8l145vydZSEUIpeidhlSD28UhQX/e6nEoMtyrWPcp5cPvp5E/jKZbu2pMSyYJyDEije6aTOi+VKSL2//eB6578msNvRTpNTiAqia4drCFzjhjDNFpgdvNP+xOODqJj9KjoAMrrfwunepVk7fQ+a4X/xlX8qkVhvaBsQ9NNZIcnJoeUT5xBPDza8bn72RNwvfuElpCGI0d4OoIStj0vVh1Qyyv+jGsezRhBWFdYuHTQRkPpjMUn/3HlG83fzIh4FCulLvOyBTzbJdvjgNhRydOFmt4wo3VjAaEoEGMoK27E+bmiTTBeln1r75PUltkICllWozLaEnNIiLVa10v3zV7fab0iQpCstL/+WgkOM73mUiP6I9FqZs2DrxyHSELvi3UpLv4CpFULR6tE+zyslLvSBNJlUjeC7Uu9b2XZoLQFWm3j7KTMwoWljxrcDmJyBiwmJIsca07Jdr6uWL+eRynTdQL2J5Ogc4tbqX2gYxrBsASeq7ON0x3x9cmwJO35qY4HZNzY5GBHsBb15tlVkLHv61pbjydQkbVYMK9pVvs5g9zU4zC\",
	\"PreviousLogbookTraceabilityDate\":\"2019-04-08T03:55:17.980\",
	\"MinusOneMonthLogbookTraceabilityDate\":\"2019-03-21T13:55:11.575\",
	\"MinusOneYearLogbookTraceabilityDate\":\"2019-03-21T13:55:11.575\",
	\"NumberOfElements\":4,
	\"FileName\":\"8_LogbookOperation_20190408_075522.zip\",
	\"Size\":42261,
	\"SecurisationVersion\":\"V1\",
	\"DigestAlgorithm\":\"SHA512\",
	\"MaxEntriesReached\":false}

« LogType » : type de logbook sécurisé.

  • Collection faisant l’objet de l’opération de sécurisation

    Exemple : « operation »

  • La valeur de ce champ est :

    • soit OPERATION pour le journal des opérations,

    • soit LIFECYCLE pour les journaux de cycle de vie,

    • soit STORAGE pour le journal des écritures.

  • Cardinalité : 1-1

« StartDate » : date de début de la période de couverture de l’opération de sécurisation.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes] (correspond à la date de la première sécurisation).

    Exemple : "2016-08-17T08:26:04.227"

  • Cardinalité : 1-1

« EndDate » : date de fin de la période de couverture de l’opération de sécurisation.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes] (correspond à la date de la dernière opération sécurisée par la précédente sécurisation).

    Exemple : "2016-08-17T08:26:04.227"

  • Cardinalité : 1-1

« Hash » : empreinte racine.

  • Il s’agit d’une chaîne de caractères.

  • Empreinte de la racine de l’arbre de Merkle.

  • Cardinalité : 1-1

« TimeStampToken » : tampon d’horodatage.

  • Il s’agit d’une chaîne de caractères.

  • Tampon d’horodatage sûr du journal sécurisé.

  • Cardinalité : 1-1

« PreviousLogbookTraceabilityDate » : date de la précédente opération de sécurisation de ce type de journal.

  • Il s’agit de la date de début de la précédente opération de sécurisation du même type au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes] (correspond à la date de début de la sécurisation précédente).

    Exemple : "2016-08-17T08:26:04.227"

  • Cardinalité : 1-1

« MinusOneMonthLogbookTraceabilityDate » : date de l’opération de sécurisation passée d’un mois.

  • Il s’agit de la date de début de la précédente opération de sécurisation du même type réalisée un mois avant au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes].

    Exemple : "2016-08-17T08:26:04.227"

  • Cardinalité : 1-1

« MinusOneYearLogbookTraceabilityDate » : date de l’opération de sécurisation passée d’un an.

  • Il s’agit de la date de début de la précédente opération de sécurisation du même type réalisée un an avant au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes].

    Exemple : "2016-08-17T08:26:04.227"

  • Cardinalité : 1-1

« NumberOfElement » : nombre d’éléments.

  • Il s’agit d’un entier.

  • Nombre d’opérations sécurisées.

  • Cardinalité : 1-1

« FileName » : identifiant du fichier.

  • Il s’agit d’une chaîne de caractères.

  • Nom du fichier sécurisé sur les offres de stockage au format {tenant}LogbookOperation{AAAAMMJJ_HHMMSS}.zip.

    Exemple : "0_LogbookOperation_20170127_141136.zip"

  • Cardinalité : 1-1

« Size » : taille du fichier.

  • Il s’agit d’un entier.

  • Taille du fichier sécurisé (en octets).

  • Cardinalité : 1-1

« SecurisationVersion » : version de l’algorithme de sécurisation.

  • Il s’agit d’une chaîne de caractères.

  • La version est une valeur fixe (v1, v2…)

  • Cardinalité : 1-1

« DigestAlgorithm » : algorithme de hachage.

  • Il s’agit d’une chaîne de caractères.

  • Il s’agit du nom de l’algorithme de hachage utilisé pour réaliser le tampon d’horodatage.

  • Cardinalité : 1-1

« MaxEntriesReached » : permet de savoir si l’ensemble de la sécurisation est terminée.

  • Il s’agit d’un booléen « true » ou « false »

  • Lorsqu’il y a un ensemble trop grand d’éléments à sécuriser, la solution logicielle Vitam divise le travail pour manipuler des ensembles de fichiers techniquement gérables. Par défaut le nombre maximum d’élément sécurisable dans un lot est de 100.000. Si ce nombre dépasse le seuil, alors la valeur de MaxEntriesReached est « true » et une deuxième sécurisation est lancée là où s’est arrêté la première, puis on regarde à nouveau si le seuil est atteint pour lancer un troisième lot, un quatrième, etc. Lorsque le nombre d’éléments sécurisés est inférieur au seuil, alors la valeur de MaxEntriesReached est « false ».

  • Cardinalité : 1-1

4.3.2. Collection LogbookLifeCycleUnit

#### Utilisation de la collection LogbookLifeCycleUnit

Le journal du cycle de vie d’une unité archivistique (ArchiveUnit) trace tous les événements qui impactent celle-ci dès sa prise en charge dans le système. Il doit être conservé aussi longtemps que l’unité archivistique est gérée par le système.

  • dès la réception d’une unité archivistique, l’ensemble des

    opérations qui lui sont appliquées est tracé.

  • les journaux du cycle de vie sont « committés » une fois le stockage

    des objets et l’indexation des métadonnées effectués sans échec, avant l’envoi d’une notification au service versant.

Chaque unité archivistique possède une et une seule entrée dans la collection LogbookLifeCycleUnit.

4.3.2.1. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection LogbookLifeCycleUnit

Extrait d’un enregistrement JSON correspondant au journal de cycle de vie d’une unité archivistique.

 "_id": "aeaqaaaabahf4qxrab2nualjtkuyd6yaaabq",
    "evId": "aedqaaaabchf4qxrab2nualjtkuyfaaaaabq",
    "evParentId": null,
    "evType": "LFC.LFC_CREATION",
    "evDateTime": "2019-03-20T10:33:14.112",
    "evIdProc": "aeeaaaaabchgzebuaaeckaljtkuxtjqaaaaq",
    "evTypeProc": "INGEST",
    "outcome": "OK",
    "outDetail": "LFC.LFC_CREATION.OK",
    "outMessg": "Succès de l'alimentation du journal du cycle de vie",
    "agId": "{\"Name\":\"vitam-env-int-worker-01.vitam-env\",\"Role\":\"worker\",\"ServerId\":1046364913,\"SiteId\":1,\"GlobalPlatformId\":241058545}",
    "obId": "aeaqaaaabahf4qxrab2nualjtkuyd6yaaabq",
    "evDetData": null,
    "events": [
        {
            "evId": "aedqaaaabchf4qxrab2nualjtkuyfaaaaaca",
            "evParentId": null,
            "evType": "LFC.CHECK_MANIFEST",
            "evDateTime": "2019-03-20T10:33:14.112",
            "evIdProc": "aeeaaaaabchgzebuaaeckaljtkuxtjqaaaaq",
            "evTypeProc": "INGEST",
            "outcome": "OK",
            "outDetail": "LFC.CHECK_MANIFEST.OK",
            "outMessg": "Succès de la vérification de la cohérence du bordereau de transfert",
            "agId": "{\"Name\":\"vitam-env-int-worker-01.vitam-env\",\"Role\":\"worker\",\"ServerId\":1046364913,\"SiteId\":1,\"GlobalPlatformId\":241058545}",
            "obId": "aeaqaaaabahf4qxrab2nualjtkuyd6yaaabq",
            "evDetData": "{ }",
            "_lastPersistedDate": "2019-03-20T10:33:29.151"
        },

      [...]

      }
  ],
    "_tenant": 8,
    "_v": 10,
    "_lastPersistedDate": "2019-04-02T14:58:15.820"
}

4.3.2.2. Détail des champs du JSON stocké en base

« _id » : identifiant donné par le système lors de l’initialisation du journal du cycle de vie.

  • Il est constitué d’une chaîne de 36 caractères correspondant à un GUID.

  • Cet identifiant constitue la clé primaire du journal du cycle de vie de l’unité archivistique. Il reprend la valeur du champ _id d’une unité archivistique enregistré dans la collection Unit.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« evId » (event Identifier): identifiant de l’événement.

  • Il est constitué d’une chaîne de 36 caractères correspondant à un GUID.

  • Il identifie l’événement de manière unique dans la base.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evParentId » (event Parent Identifier): identifiant de l’événement parent.

  • Il est constitué d’une chaîne de 36 caractères correspondant à un GUID.

  • Il identifie l’événement parent. Par exemple pour l’événement LFC.CHECK_MANIFEST.LFC_CREATION, ce champ fera référence au GUID de l’évènement LFC.CHECK_MANIFEST.

  • La valeur est toujours « null » pour la structure incluante et les tâches principales.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evType » (event Type): code du type d’événement.

  • Il s’agit d’une chaîne de caractères.

  • La liste des valeurs possibles pour ce champ se trouve en annexe. Seul le code est stocké dans ce champ, la traduction se fait via un fichier properties (vitam-logbook-message-fr.properties).

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evDateTime » (event DateTime): date de l’événement.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes]

  • Exemple : « 2016-08-17T08:26:04.227 »

  • Ce champ est positionné par le client LogBook.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evIdProc » (event Identifier Process): identifiant du processus.

  • Il s’agit d’une chaîne de 36 caractères.

  • Toutes les occurrences de ce champ pour un même document dans le journal du cycle de vie partagent la même valeur, qui est celle du champ « _id » d’une opération enregistrée dans la collection LogbookOperation.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evTypeProc » (event Type Process): type de processus.

  • Il s’agit d’une chaîne de caractères.

  • Nom du processus parmi une liste de processus possibles fixée. Cette liste est disponible en annexe.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« outcome » : statut de l’événement.

  • Il s’agit d’une chaîne de caractères devant correspondre à une valeur de la liste suivante :

    • STARTED (Début de l’événement)

    • OK (Succès de l’événement)

    • KO (Echec de l’événement)

    • WARNING (Succès de l’événement comportant des alertes)

    • FATAL (Erreur technique)

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« outDetail » (outcome Detail): code correspondant au résultat de l’événement.

  • Il s’agit d’une chaîne de caractères.

  • Il contient le code correspondant au résultat de l’événement, incluant le statut. La liste des valeurs possibles pour ce champ se trouve en annexe. Seul le code est stocké dans ce champ, la traduction se fait via le fichier properties (vitam-logbook-message-fr.properties).

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« outMessg » (outcome Detail Message): détail du résultat de l’événement.

  • Il s’agit d’une chaîne de caractères.

  • C’est un message intelligible destiné à être lu par un être humain en tant que détail de l’événement.

  • Traduction du code présent dans outDetail issue du fichier vitam-logbook-message-fr.properties.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« agId » (agent Identifier): identifiant de l’agent réalisant l’événement.

  • Il s’agit d’un objet JSON, comprenant une suite de chaînes de caractères indiquant le nom, le rôle et le PID de l’agent. Ce champ est calculé par le journal à partir de ServerIdentifier.

    Exemple :

    "agId": "{\"Name\":\"vitam-env-int-worker-01.vitam-env\",\"Role\":\"worker\",\"ServerId\":1044139788,\"SiteId\":1,\"GlobalPlatformId\":238833420}"
    
  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« obId » (object Identifier): identifiant de la solution logicielle Vitam correspondant au GUID de l’unité archivistique sur laquelle s’applique l’opération.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses

« evDetData » (event Detail Data): détails des données de l’événement.

  • Il s’agit d’un objet JSON pouvant contenir des informations ou être vide.

  • Donne plus de détails sur l’événement ou son résultat.

  • Par exemple, l’historisation de métadonnées lors d’une modification se fait dans ce champ. Dans la structure incluse correspondant à cet événement, il est, par exemple, composé du champ suivant :

    • diff : contient la différence entre les métadonnées d’origine et les métadonnées modifiées. Chaîne de caractères.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« events » : tableau de structure listant les événements liés à une opération.

  • Pour la structure incluante, le tableau contient n structures incluses dans l’ordre des événements (date).

  • Cardinalité : 1-1

  • S’agissant d’un tableau, les structures incluses ont pour cardinalité 1-n.

  • Ce champ existe uniquement pour la structure incluante.

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« _lastPersistedDate » : date technique de sauvegarde en base.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3 digits de millisecondes].

  • Elle est renseignée par le serveur Logbook.

    Exemple : "2016-08-17T08:26:04.227"

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

4.3.2.3. Champs présents dans les events

  • evId

  • evParentId

  • evType

  • evDateTime

  • evIdProc

  • evTypeProc

  • outcome

  • outDetail

  • outMessg

  • agId

  • obId

  • evDetData

  • lastPersistedDate

4.3.2.4. Détail des champs du JSON stocké en base spécifiques à une mise à jour

Exemple de données stockées dans le champ evDetData :

« evDetData »: « {« diff »: « - « Title_.en » : « Reboisement du montVentoux - Enqu\u00EAtes photographiques de l’Inspection des Eaux et for\u00EAts d’Avignon »\n+ « Title_.en » : « Title Anglais »\n- « _ops » : [ « aeeaaaaaachprzmjab7xealwm2wyc5yaaaaq » ]\n+ « _ops » : [ « aeeaaaaaachprzmjab7xealwm2wyc5yaaaaq », « aeeaaaaaachprzmjabpaualwnpe7vpiaaaaq » ]\n- « _v » : 0\n-« _av » : 0\n+ « _v » : 1\n+ « _av » : 1 », « version »: 1} »,

Dans le cas d’une mise à jour de métadonnées d’une unité archivistique (ArchiveUnit), le champ « evDetData » de l’événement final est composé du champ suivant :

« diff » : historisation des modifications de métadonnées.

  • Son contenu doit respecter la forme suivante : les anciennes valeurs sont précédées d’un « - » (-[champ(s) menant à champ 1.]champ1 : valeur1) et les nouvelles valeurs sont précédées d’un « + » (+[champ(s) menant à champ 1.]champ1 : valeur2). Le changement d’un champ entraîne forcément l’ajout d’une nouvelle opération (le champ _ops de l’unité est modifié) et d’une nouvelle version de l’unité (le champ _v est modifié). Ces changements apparaissent également dans le « diff ».

4.3.3. Collection LogbookLifeCycleObjectGroup

4.3.3.1. Utilisation de la collection LogbookLifeCycleObjectGroup

Le journal du cycle de vie du groupe d’objets (ObjectGroup) trace tous les événements qui impactent le groupe d’objets (et les objets associés) dès sa prise en charge dans le système. Il doit être conservé aussi longtemps que les objets sont gérés dans le système.

  • Dès la réception des objets, on trace les opérations effectuées sur les groupes d’objets et objets qui sont dans le SIP.

  • Les journaux du cycle de vie sont « committés » une fois le stockage des objets effectué et l’indexation des métadonnées effectuée, avant l’envoi d’une notification au service versant.

Chaque groupe d’objets possède une et une seule entrée dans la collection LogbookLifeCycleObjectGroup.

4.3.3.2. Extrait d’un JSON stocké en base comprenant l’exhaustivité des champs

{
"_id": "aebaaaaabahf4qxrab2nualjtkuydyyaaaaq",
"evId": "aedqaaaabchf4qxrab2nualjtkuyetyaaaaq",
"evParentId": null,
"evType": "LFC.LFC_CREATION",
"evDateTime": "2019-03-20T10:33:14.063",
"evIdProc": "aeeaaaaabchgzebuaaeckaljtkuxtjqaaaaq",
"evTypeProc": "INGEST",
"outcome": "OK",
"outDetail": "LFC.LFC\_CREATION.OK",
"outMessg": "Succès de l'alimentation du journal du cycle de vie",
"agId":
"{\"Name\":\"vitam-env-int-worker-01.vitam-env\",\"Role\":\"worker\",\"ServerId\":1046364913,\"SiteId\":1,\"GlobalPlatformId\":241058545}",
"obId": "aebaaaaabahf4qxrab2nualjtkuydyyaaaaq",
"evDetData": null,
"events": [
   {
      "evId": "aedqaaaabchf4qxrab2nualjtkuyetyaaaba",
      "evParentId": null,
      "evType": "LFC.CHECK_MANIFEST",
      "evDateTime": "2019-03-20T10:33:14.063",
      "evIdProc": "aeeaaaaabchgzebuaaeckaljtkuxtjqaaaaq",
      "evTypeProc": "INGEST",
      "outcome": "OK",
      "outDetail": "LFC.CHECK_MANIFEST.OK",
      "outMessg": "Succès de la vérification de la cohérence du bordereau de transfert",
      "agId":"{\"Name\":\"vitam-env-int-worker-01.vitam-env\",\"Role\":\"worker\",\"ServerId\":1046364913,\"SiteId\":1,\"GlobalPlatformId\":241058545}",
      "obId": "aebaaaaabahf4qxrab2nualjtkuydyyaaaaq",
      "evDetData": null,
      "_lastPersistedDate": "2019-03-20T10:33:28.028"
   },
   {
      "evId": "aedqaaaabchf4qxrab2nualjtkuyetyaaabq",
      "evParentId": "aedqaaaabchf4qxrab2nualjtkuyetyaaaba",
      "evType": "LFC.CHECK_MANIFEST.LFC_CREATION",
      "evDateTime": "2019-03-20T10:33:14.063",
      "evIdProc": "aeeaaaaabchgzebuaaeckaljtkuxtjqaaaaq",
      "evTypeProc": "INGEST",
      "outcome": "OK",
      "outDetail": "LFC.CHECK_MANIFEST.LFC_CREATION.OK",
      "outMessg": "Succès de la création du journal du cycle de vie",
      "agId": "{\"Name\":\"vitam-env-int-worker-01.vitam-env\",\"Role\":\"worker\",\"ServerId\":1046364913,\"SiteId\":1,\"GlobalPlatformId\":241058545}",
      "obId": "aebaaaaabahf4qxrab2nualjtkuydyyaaaaq",
      "evDetData": null,
      "_lastPersistedDate": "2019-03-20T10:33:28.028"
   },
   {
      "evId": "aedqaaaaachf4qxrab2nualjtkuygqaaaaaq",
      "evParentId": null,
      "evType": "LFC.CHECK_CONSISTENCY",
      "evDateTime": "2019-03-20T10:33:14.304",
      "evIdProc": "aeeaaaaabchgzebuaaeckaljtkuxtjqaaaaq",
      "evTypeProc": "INGEST",
      "outcome": "OK",
      "outDetail": "LFC.CHECK_CONSISTENCY.OK",
      "outMessg": "Succès de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques",
      "agId": "{\"Name\":\"vitam-env-int-worker-01.vitam-env\",\"Role\":\"worker\",\"ServerId\":1046364913,\"SiteId\":1,\"GlobalPlatformId\":241058545}",
      "obId": "aebaaaaabahf4qxrab2nualjtkuydyyaaaaq",
      "evDetData": null,
      "_lastPersistedDate": "2019-03-20T10:33:28.028"
   },
 
   [...]
 
],
"_tenant": 8,
"_v": 5,
"_lastPersistedDate": "2019-03-20T10:33:28.028"

4.3.3.3. Détail des champs du JSON stocké en base

« _id » : identifiant donné par le système lors de l’initialisation du journal du cycle de vie.

  • Il est constitué d’une chaîne de 36 caractères correspondant à un

    GUID. Il reprend la valeur du champ _id du groupe d’objets enregistré dans la collection ObjectGroup.

  • Cet identifiant constitue la clé primaire du journal du cycle de vie

    du groupe d’objets.

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

« evId » (event Identifier): identifiant de l’événement.

  • Il est constitué d’une chaîne de 36 caractères correspondant à un

    GUID.

  • Il identifie l’événement de manière unique dans la base.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evParentId » (event Parent Identifier): identifiant de l’événement parent.

  • Il est constitué d’une chaîne de 36 caractères correspondant à un

    GUID.

  • Il identifie l’événement parent. Par exemple pour l’événement

    LFC.CHECK_MANIFEST.LFC_CREATION, ce champ fera référence au GUID de l’évènement LFC.CHECK_MANIFEST.

  • La valeur du champ est toujours « null » pour la structure incluante

    et les tâches principales.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evType » (event Type): nom de l’événement.

  • Il s’agit d’une chaîne de caractères.

  • La liste des valeurs possibles pour ce champ se trouve en annexe.

    Seul le code doit être stocké dans ce champ, la traduction doit se faire via le fichier properties (vitam-logbook-message-fr.properties).

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evDateTime » (event DateTime): date de l’événement.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3

    digits de millisecondes]

  • Ce champ est positionné par le client LogBook.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

    Exemple : « 2016-08-17T08:26:04.227 ».

« evIdProc » (event Identifier Process): identifiant du processus.

  • Il s’agit d’une chaîne de 36 caractères.

  • Toutes les occurrences de ce champ pour un même document du journal

    du cycle de vie partagent la même valeur, qui est celle du champ « _id » de l’opération enregistrée dans la collection LogbookOperation.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evTypeProc » (event Type Process): type de processus.

  • Il s’agit d’une chaîne de caractères.

  • Nom du processus parmi une liste de processus possibles fixée. Cette

    liste est disponible en annexe.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses

« outcome » : statut de l’événement.

  • Il s’agit d’une chaîne de caractères devant correspondre à une

    valeur de la liste suivante :

    • STARTED (Début de l’événement)

    • OK (Succès de l’événement)

    • KO (Échec de l’événement)

    • WARNING (Succès de l’événement comportant des alertes)

    • FATAL (Erreur technique)

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« outDetail » (outcome Detail): code correspondant à l’erreur.

  • Il s’agit d’une chaîne de caractères.

  • Il contient le code fin de l’événement, incluant le statut. La liste

    des valeurs possibles pour ce champ se trouve en annexe. Seul le code est stocké dans ce champ, la traduction doit se faire via le fichier properties (vitam-logbook-message-fr.properties)

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« outMessg » (outcome Detail Message): détail du résultat de l’événement.

  • Il s’agit d’une chaîne de caractères.

  • C’est un message intelligible destiné à être lu par un être humain

    en tant que détail du résultat de l’événement.

  • Traduction du code présent dans outDetail, issue du fichier

    vitam-logbook-message-fr.properties.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« agId » (agent Identifier): identifiant de l’agent réalisant l’événement.

  • Il s’agit d’un objet JSON contenant plusieurs chaînes de caractères

    indiquant le nom, le rôle et le PID de l’agent.

  • Ce champ est calculé par le journal à partir de ServerIdentifier.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

    Exemple : {"Name":"vitam-iaas-app-01","Role":"ingest-external","ServerId":1514166061,"SiteId":1,"GlobalPlatformId":171988781}

« obId » (object Identifier): identifiant de la solution logicielle Vitam du lot d’objets auquel s’applique l’opération (lot correspondant à une liste).

  • Si l’événement touche tout le groupe d’objets, alors le champ

    contiendra l’identifiant de ce groupe d’objets. S’il ne touche qu’un seul objet du groupe d’objets, alors il ne contiendra que celui de l’objet en question.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« evDetData » (event Detail Data): détails des données de l’événement.

  • Donne plus de détails sur l’événement ou son résultat.

  • Par exemple, pour l’événement LFC.CHECK_DIGEST, lorsque l’empreinte

    d’un objet inscrite dans le bordereau de transfert n’est pas calculée en SHA-512, ce champ précise l’empreinte d’origine et celle réalisée ensuite par la solution logicielle Vitam. Dans la structure incluse correspondant à cet événement, il contient un objet JSON composé des champs suivants :

    • MessageDigest : empreinte de l’objet dans le bordereau de

      transfert. Chaîne de caractères, reprenant le champ « MessageDigest » du message ArchiveTransfer.

    • Algorithm : algorithme de hachage utilisé dans le bordereau de

      transfert. Chaîne de caractères, reprenant l’attribut de champ « MessageDigest » du message ArchiveTransfer.

    • SystemMessageDigest : empreinte de l’objet réalisée par la

      solution logicielle Vitam. Chaîne de caractères.

    • SystemAlgorithm : algorithme de hachage utilisé par la solution

      logicielle Vitam. Chaîne de caractères.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« events » : tableau de structure.

  • Pour la structure incluante, le tableau contient n structures

    incluses dans l’ordre des événements (date).

  • Cardinalité : 1-1

  • S’agissant d’un tableau, les structures incluses ont pour

    cardinalité 1-n.

  • Ce champ existe uniquement pour la structure incluante.

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Si le numéro est supérieur à 0, alors il s’agit du numéro de version

    de l’enregistrement.

  • Cardinalité : 1-1

  • Ce champ existe pour les structures incluantes et incluses.

« _lastPersistedDate » : date technique de sauvegarde en base.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ »T »+hh:mm:ss:[3

    digits de millisecondes]

  • Elle est renseignée par le serveur Logbook.

    Exemple : « 2016-08-17T08:26:04.227 »

  • Cardinalité : 1-1

  • Ce champ existe uniquement pour la structure incluante.

    []{#__RefHeading___Toc29405_1669085364 .anchor}3.3.4. Champs présents dans les events

  • evId

  • evParentId

  • evType

  • evDateTime

  • evIdProc

  • evTypeProc

  • outcome

  • outDetail

  • outMessg

  • agId

  • obId

  • evDetData

  • LastPersistedDate

4.3.4. Collection Offset

4.3.4.1. Utilisation de la collection

Cette collection, optionnelle, permet de persister les offsets des dernières données reconstruites des offres de stockage lors de la reconstruction au fil de l’eau pour les collections :

  • LogbookOperation

  • Unit

  • ObjetGroup

  • UNIT_GRAPH

  • OBJETGROUP_GRAPH

Il y a une valeur d’offset par couple tenant/collection.

4.3.4.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
   "_id": ObjectId("507f191e810c19729de860ea"),
   "offset": 1357,
   "collection": "logbook",
   "_tenant": 1
}

4.3.4.3. Détail des champs

« _id » : identifiant unique mongo.

  • Il s’agit d’un champ de type mongo composé comme suit : ObjectId(<hexadecimal>).

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« offset » : la valeur de l’offset.

  • Il s’agit d’un entier encodé 64 bits.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« collection » : collection impactée.

  • La seule valeur possible est logbook.

« _tenant » : identifiant du tenant.

  • Il s’agit de l’identifiant du tenant utilisant l’enregistrement.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.4. Base MetaData

La base Metadata contient les collections relatives aux métadonnées des unités archivistiques (collection Unit) et des groupes d’objets (collection ObjectGroup). Une collection technique Offset liée à la reconstruction existe également, de même qu’une collection Snapshot relative au suivi des recherches en mode « scroll ».

4.4.1. Collection Unit

4.4.1.1. Utilisation de la collection Unit

La collection Unit contient les informations relatives aux unités archivistiques.

4.4.1.2. Exemple de XML en entrée

Ci-après, la portion d’un bordereau de transfert (manifest.xml) utilisée pour compléter les champs du JSON. Il s’agit des informations situées entre les balises <ArchiveUnit>.

<?xml version="1.0" encoding="UTF-8"?>
<ArchiveUnit id="ID3">
                <Management>
                    <AccessRule>
                        <Rule>ACC-00002</Rule>
                        <StartDate>2015-11-19</StartDate>
                    </AccessRule>
                </Management>
                <Content>
                    <DescriptionLevel>RecordGrp</DescriptionLevel>
                    <Title>Liste des Métros de Tokyo</Title>
                    <Description>Le métro de Tokyo (東京の地下Tōkyō no chikatetsu) est un des systèmes de transport en commun desservant l'agglomération de Tokyo au Japon. Il se compose des lignes de deux compagnies : Tokyo Metro et Toei.
                       La première ligne du métro de Tokyo, la ligne Ginza, a été ouverte en 1927.</Description>
                    <AcquiredDate>2015-12-04T09:02:25</AcquiredDate>
                    <StartDate>2015-12-04T09:02:25</StartDate>
                    <EndDate>2016-06-02T15:32:29</EndDate>
                    <Event>
                        <EventDateTime>2013-11-04T09:02:25</EventDateTime>
                    </Event>
                </Content>
                <ArchiveUnit id="ID5">
                    <ArchiveUnitRefId>ID4</ArchiveUnitRefId>
                </ArchiveUnit>

4.4.1.3. Exemple de JSON stocké dans la collection Unit

Les champs présentés dans l’exemple ci-après ne font pas état de l’exhaustivité des champs disponibles dans le SEDA. Ceux-ci sont référencés dans la documentation SEDA disponible au lien suivant : https://redirect.francearchives.fr/seda/api_v2-1/seda-2.1-main.html

{
    "_id": "aeaqaaaaamhad455abcwsalep4lzf2iaaaea",
    "_og": "aebaaaaaamhad455abcwsalep4lzfvaaaaca",
    "_mgt": {
        "AccessRule": {
            "Rules": [
                {
                    "Rule": "ACC-00002",
                    "StartDate": "2000-01-01",
                    "EndDate": "2025-01-01"
                }
            ]
        }
    },
    "DescriptionLevel": "Item",
    "Title": "Stalingrad.txt",
    "TransactedDate": "2017-04-04T08:07:06",
    "SedaVersion": "2.1",
    "ImplementationVersion": "1.7.0-SNAPSHOT",
    "_storage": {
        "strategyId": "default"
    },
    "_sps": [
        "RATP"
    ],
    "_sp": "RATP",
    "_ops": [
        "aeeaaaaaaohi422caa4paalep4lxwoyaaaaq",
        "aeeaaaaaaohi422caaieaalesqjo5hqaaaaq",
        "aeeaaaaaaohi422caaieaalesqkbhnaaaaaq",
        "aeeaaaaaaohi422caaieaalesqml2vyaaaaq"
    ],
    "_opi": "aeeaaaaaaohi422caa4paalep4lxwoyaaaaq",
    "_unitType": "INGEST",
    "_up": [
        "aeaqaaaaamhad455abcwsalep4lzf2iaaada"
    ],
    "_us": [
        "aeaqaaaaamhad455abcwsalep4lzf2aaaaeq",
        "aeaqaaaaamhad455abcwsalep4lzf2iaaada",
        "aeaqaaaaamhad455abcwsalep4lzf2iaaabq"
    ],
    "_graph": [
        "aeaqaaaaamhad455abcwsalep4lzf2iaaabq/aeaqaaaaamhad455abcwsalep4lzf2aaaaeq",
        "aeaqaaaaamhad455abcwsalep4lzf2iaaaea/aeaqaaaaamhad455abcwsalep4lzf2iaaada",
        "aeaqaaaaamhad455abcwsalep4lzf2iaaada/aeaqaaaaamhad455abcwsalep4lzf2iaaabq"
    ],
    "_uds": {
        "1": [
            "aeaqaaaaamhad455abcwsalep4lzf2iaaada"
        ],
        "2": [
            "aeaqaaaaamhad455abcwsalep4lzf2iaaabq"
        ],
        "3": [
            "aeaqaaaaamhad455abcwsalep4lzf2aaaaeq"
        ]
    },
    "_min": 1,
    "_max": 4,
    "_glpd": "2018-07-09T12:50:30.733",
    "_v": 3,
    "_av": 0,
    "_tenant": 3,
    "_acd": "2020-04-04T08:07:06",
    "_aud": "2020-07-21T08:07:06",
    "Description": "",
    "_history": [
     {
       "ud": "2018-07-25T15:28:49.040",
       "data": {
         "_v": 0,
         "_mgt": {
           "ClassificationRule": {
             "ClassificationAudience": "ClassificationAudience0",
             "ClassificationLevel": "Secret Défense",
             "ClassificationOwner": "ClassificationOwner0",
             "ClassificationReassessingDate": "2016-06-03",
             "NeedReassessingAuthorization": true,
             "Rules": [
               {
                 "Rule": "CLASS-00001",
                 "StartDate": "2015-06-03",
                 "EndDate": "2025-06-03"
               }
             ]
           }
         }
       }
     }
   ]
}

4.4.1.4. Détail du JSON

La structure de la collection Unit est composée de la transposition JSON de toutes les balises XML contenues dans la balise <DescriptiveMetadata> du bordereau de transfert conforme au standard SEDA v.2.1., c’est-à-dire toutes les balises se rapportant aux unités archivistiques.

Cette transposition se fait comme suit :

« _id » : identifiant unique de l’unité archivistique.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _og » (objectGroup): identifiant du groupe d’objets représentant cette unité archivistique.

  • Il s’agit d’une chaîne de 36 caractères correspondant au champ _id du groupe d’objets de la collection objectGroup, soit au GUID du groupe d’objets techniques.

  • Cardinalité : 0-1

« _mgt » : contient les balises contenues dans le bloc <Management> du bordereau de transfert pour cette unité archivistique (le champ peut donc être vide).

  • Cardinalité : 1-1

  • Peut être vide.

  • Il contient :

    • « NeedAuthorization » : besoin d’une autorisation humaine.

      • Il s’agit d’un booléen.

      • Cardinalité : 0-1

    • une liste de catégories de règles de gestion appliquées à cette unité archivistique.

      Les catégories pouvant être incluses dans cet objet sont, exhaustivement :

      • AccessRule (délai de communicabilité)

      • AppraisalRule (durée d’utilité administrative)

      • ClassificationRule (durée de classification)

      • DisseminationRule (durée de diffusion)

      • ReuseRule (durée de réutilisation)

      • StorageRule (durée d’utilité courante)

      • HoldRule (gel)

        Cardinalité : 0-1, pour chaque catégorie.

        Chaque catégorie peut contenir :

      • **« Rules » :**tableau de règles de gestion.

        • Il s’agit d’un tableau d’objets

        • Cardinalité : 0-1

        • Chacune des règles de ce tableau est elle-même composée de plusieurs informations :

          • « Rule » : identifiant de la règle

            • Correspond à une valeur du champ RuleId de la collection FileRules.

            • Cardinalité : 0-1

          • « StartDate » : date de début du calcul de l’échéance.

            • Il s’agit d’une date.

            • Cette date est déclarée dans le message ArchiveTransfer ou ajoutée a posteriori par une modification de l’unité archivistique.

            • Cardinalité : 0-1

          • « EndDate » : date de fin d’application de la règle.

            • Il s’agit d’une date.

            • Cette valeur est issue d’un calcul réalisé par la solution logicielle Vitam. Celui-ci consiste en l’ajout du délai correspondant à la règle dans la collection FileRules à la valeur du champ startDate (EndDate = StartDate + Durée)

            • Cardinalité : 0-1

      • Des données spécifiques aux catégories :

        • Pour les catégories « StorageRule » et « AppraisalRule » uniquement :

          • « FinalAction » : sort final des règles dans ces catégories.

            • Cardinalité : 1-1

            • La valeur contenue dans le champ peut être :

              • Pour StorageRule : « Transfer », « Copy » ou « RestrictAccess » (énumération issue du FinalActionStorageCodeType du SEDA 2.1)

              • Pour AppraisalRule : « Keep » ou « Destroy » (énumération issue FinalActionAppraisalCodeType du SEDA 2.1)

        • Pour la catégorie ClassificationRule uniquement :

          • « ClassificationLevel » : niveau de classification.

            • Il s’agit d’une chaîne de caractères, dont les valeurs sont paramétrables au niveau de la plateforme.

            • Champ obligatoire et systématiquement renseigné

            • Cardinalité : 1-1

          • « ClassificationOwner » : propriétaire de la classification.

            • Il s’agit d’une chaîne de caractères.

            • Champ obligatoire et systématiquement renseigné

            • Cardinalité : 1-1

          • « ClassificationAudience » : permet de gérer les mentions additionnelles de limitation du champ de diffusion (exemple : « spécial France »)

            • Il s’agit d’une chaîne de caractères.

            • Champ optionnel

            • Cardinalité : 0-1

          • « ClassificationReassessingDate » : date de réévaluation de la classification.

            • Il s’agit d’une date.

            • Champ optionnel.

            • Cardinalité : 0-1

          • « NeedReassessingAuthorization » : indique si une autorisation humaine est nécessaire pour réévaluer la classification.

            • Il s’agit d’un booléen. Si la valeur est à « true », une autorisation humaine sera nécessaire pour réévaluer la classification.

            • Champoptionnel

            • Cardinalité : 0-1

        • Pour la catégorie HoldRule uniquement :

          • « HoldEndDate » : date de fin de gel.

            • Il s’agit d’une date.

            • Cardinalité : 0-1

          • « HoldOwner » : propriétaire de la règle de gel.

            • Il s’agit d’une chaîne de caractères.

            • Cardinalité : 0-1

          • « HoldReassessingDate » : date de réévaluation du gel.

            • Il s’agit d’une date.

            • Champ optionnel

            • Cardinalité : 0-1

          • « HoldReason » : raison du gel.

            • Il s’agit d’une chaîne de caractères.

            • Cardinalité : 0-1

          • « PreventRearrangement » : indique s’il est possible de déplacer une unité archivistique gelée dans une arborescence.

            • Il s’agit d’un booléen. Si la valeur est à « true », l’unité archivistique portant la règle ne pourra être reclassée.

            • Champ optionnel

            • Cardinalité : 0-1

      • Des paramètres de gestion d’héritage de règles.

        • « Inheritance »

          • Il s’agit d’un objet.

          • Cardinalité 0-1

          • Cet objet peut avoir comme valeur :

            • « PreventInheritance » : utilisé pour bloquer l’héritage de toutes les règles de gestion de la même catégorie

              • Il s’agit d’un booléen, dont la valeur peut être « true » ou « false »,

              • Cardinalité : 1-1 à partir du moment où le champ Inheritance existe

            • « PreventRulesId » : règle(s) de gestion qui ne doivent pas être héritées d’un parent.

              • Il s’agit d’un tableau d’identifiants de règles de gestion.

              • A l’entrée, il s’agit de la valeur de la balise <RefNonRuleId> du SEDA

              • Cardinalité : 1-1 à partir du moment où le champ Inheritance existe.

Extrait d’une unité archivistique ayant un bloc « _mgt » possédant des règles de gestion :

"_mgt": {
        "AppraisalRule": {
            "Rules": [
                {
                    "Rule": "APP-00001",
                    "StartDate": "2015-01-01",
                    "EndDate": "2095-01-01"
                },
                {
                    "Rule": "APP-00002"
                }
            ],
            "Inheritance": {
                "PreventInheritance": true,
                "PreventRulesId": []
            },
            "FinalAction": "Keep"
        },
        "AccessRule": {
            "Rules": [
                {
                    "Rule": "ACC-00001",
                    "StartDate": "2016-06-03",
                    "EndDate": "2016-06-03"
                }
            ]
        },
        "DisseminationRule": {
            "Inheritance": {
                "PreventInheritance": true,
                "PreventRulesId": []
            }
        },
        "ReuseRule": {
            "Inheritance": {
                "PreventRulesId": [
                    "REU-00001", "REU-00002"
                ]
            }
        },
        "ClassificationRule": {
            "ClassificationLevel": "Secret Défense",
            "ClassificationOwner": "Projet_Vitam",
            "Rules": [
                {
                    "ClassificationReassessingDate": "2025-06-03",
                    "NeedReassessingAuthorization": true,
                    "Rule": "CLASS-00001"
                }
            ]
        }
    },

« DescriptionLevel » : niveau de description archivistique de l’unité archivistique.

  • Il s’agit d’une chaîne de caractères.

  • Ce champ est renseigné avec les valeurs situées entre les balises <DescriptionLevel> présentes dans le bordereau de transfert.

  • Cardinalité : 1-1

« Title » : titre de l’unité archivistique.

  • Il s’agit d’une chaîne de caractères.

  • Ce champ est renseigné avec les valeurs situées entre les balises <Title> dans le bordereau de transfert, si ces balises ne comportent pas d’attribut @lang.

  • Cardinalité : 0-1, le modèle d’une unité archivistique doit comporter au moins un champ Title et/ou au moins un champ Title_

« Title_ » : titres de l’unité archivistique par langue

  • Il s’agit d’un tableau JSON.

  • Ce champ est renseigné avec les valeurs situées entre les balises <Title> dans le bordereau de transfert, si ces balises comportent un attribut @lang.

  • Les titres sont organisés sous la forme de clef : valeur, la clef étant l’indicatif de la langue en xml:lang et la valeur le titre. Par exemple : « fr » : « Ceci est un titre. »

  • Cardinalité : 0-1, le modèle d’une unité archivistique doit comporter au moins un champ Title et/ou au moins un champ Title_

{
   "fr": "FrenchMySIP",
   "en": "EnglishMySIP"
},

Il est possible d’utiliser les champs « Title » de la manière suivante :

  • utilisation d’une balise « Title » unique sans attribut, alimentant le champ « Title »,

  • utilisation d’une balise « Title » avec attribut, alimentant le champ « Title_ »,

  • utilisation d’une balise « Title » unique sans attribut et d’au moins une balise avec attribut, qui alimenteront respectivement Title pour l’un et Title_ pour l’autre.

« Description » : description de l’unité archivistique.

  • Il s’agit d’une chaîne de caractères.

  • Ce champ est renseigné avec les informations situées entre les balises <Description> de l’unité archivistique concernée dans le bordereau de transfert, si ces balises ne comportent pas d’attribut @lang.

  • Cardinalité : 0-1, le modèle d’une unité archivistique doit comporter au moins un champ Description et/ou au moins un champ Description_

« Description_ » : description de l’unité archivistique par langue.

  • Il s’agit d’un tableau JSON

  • Ce champ est renseigné avec les valeurs situées entre les balises <Description> dans le bordereau de transfert, si ces balises comportent un attribut @lang.

  • Les titres sont organisés sous la forme de clef : valeur, la clef étant l’indicatif de la langue en xml:lang et la valeur la description. Par exemple : « fr » : « Ceci est une description. »

  • Cardinalité : 0-1, le modèle d’une unité archivistique doit comporter au moins un champ Description et/ou au moins un champ Description_

"Description_": {
   "fr": "Une autre description",
   "en": "another description"
},

Il est possible d’utiliser les champs « Description » de la manière suivante :

  • utilisation d’une balise « Description » unique sans attribut, alimentant le champ « Title »,

  • utilisation d’une balise « Description » avec attribut, alimentant le champ « Title_ »,

  • utilisation d’une balise « Description » unique sans attribut et d’au moins une balise avec attribut, qui alimenteront respectivement Description pour l’un et Description_ pour l’autre.

« XXXXX » : des champs facultatifs peuvent être contenus dans l’enregistrement JSON lorsqu’ils sont renseignés dans le bordereau de transfert au niveau du Content de chaque unité archivistique.

  • Se reporter à la documentation descriptive du SEDA 2.1 et notamment le schéma ontology.xsd pour connaître la liste des métadonnées facultatives.

ArchiveUnitProfile: profil d’archivage de l’unité archivistique utilisé lors de l’entrée.

  • Correspond à l’identifiant du profil d’archivage associé à l’unité archivistique

  • Chaîne de caractères.

  • Cardinalité : 0-1

« _sedaVersion » : version du SEDA utilisé lors de l’entrée de cette unité archivistique.

  • Champ peuplé par la solution logicielle Vitam.

  • Exemple de valeur : « 2.1 »

  • Cardinalité : 1-1

« _implementationVersion » : version du modèle de donnée actuellement utilisé par l’unité archivistique.

  • Champ peuplé par la solution logicielle Vitam.

  • Exemple de valeur : « 1.7.0-SNAPSHOT »

  • Cardinalité : 1-1

« _history » : données historiques de l’unité archivistique

  • Champ peuplé par la solution logicielle Vitam au moment d’une mise à jour d’une unité archivistique, uniquement si la mise à jour déclenche une historisation.

  • Cardinalité : 0-1

  • Ce champ contient les clés suivantes :

    • « ud » : date du changement de la métadonnée.

      • Champ peuplé par la solution logicielle Vitam.

      • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

        Exemple : 2016-08-19T16:36:07.942+02:00

      • Cardinalité : 1-1

    • « data » : données historisées.

      • Il s’agit d’un objet, peuplé par la solution logicielle Vitam.

      • Cardinalité : 1-1

      • Le champ « data » contient les champs suivants :

        • Il s’agit d’un entier, peuplé par la solution logicielle Vitam.

        • **« _v » **: version de l’enregistrement de l’unité archivistique avant modification. Ce champ est repris du champ « _v » à la racine du modèle de données de l’unité archivistique.

        • « _mgt » : règle de gestion historicisée.

          • Ce champ reprend le contenu de la version précédemment modifiée d’une règle de gestion.

          • Dans l’exemple ci-dessous, on constate qu’au 25 juillet 2018, l’unité archivistique a historisé une règle de classification située dans le bloc Management (_mgt) de son modèle.

          • Peut être vide.

          • Cardinalité : 1-1.

"_history": [
 {
   "ud": "2018-07-25T15:28:49.040",
   "data": {
     "_v": 0,
     "_mgt": {
       "ClassificationRule": {
         "ClassificationAudience": "ClassificationAudience0",
         "ClassificationLevel": "Secret Défense",
         "ClassificationOwner": "ClassificationOwner0",
         "ClassificationReassessingDate": "2016-06-03",
         "NeedReassessingAuthorization": true,
         "Rules": [
           {
             "Rule": "CLASS-00001",
             "StartDate": "2015-06-03",
             "EndDate": "2025-06-03"
           }
         ]
       }
     }
   }
 }
]

Le champ _history peut également être créé depuis les données contenues dans un bordereau de transfert, contenues dans le bloc Content d’une unité archivistique :

<History>
              <UpdateDate>2018-08-02T14:06:23.374</UpdateDate>
              <Data>
                  <Version>0</Version>
                  <Management>
                      <ClassificationRule>
                          <ClassificationLevel>Secret Défense</ClassificationLevel>
                          <ClassificationOwner>ClassificationOwner0</ClassificationOwner>
                      </ClassificationRule>
                  </Management>
              </Data>
          </History>
          <History>
              <UpdateDate>2018-08-02T14:30:20.137</UpdateDate>
              <Data>
                  <Version>1</Version>
                  <Management>
                      <ClassificationRule>
                          <ClassificationLevel>Confidentiel Défense</ClassificationLevel>
                          <ClassificationOwner>ClassificationOwner0</ClassificationOwner>
                      </ClassificationRule>
                  </Management>
              </Data>
</History>

Le mapping est le suivant :

  • La balise <History> du bordereau devient le tableau« _history » dans la base de données

  • <Data> devient « data »

  • <Version> devient « _v »

  • <Management> devient « _mgt »

« _storage » : contient les champs qui permettent d’identifier les offres de stockage.

  • Il s’agit d’un objet constitué du champ :

    • « strategyId » : identifiant de la stratégie de stockage.

      • Il s’agit d’une chaîne de caractère.

  • Ne peut être vide

  • Cardinalité : 1-1

« _sps » : services producteurs auxquels l’unité archivistique a été rattachée (au titre de leurs fonds symboliques)

  • Il s’agit d’un tableau contenant les identifiants de tous les services producteurs référençant l’unité archivistique.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

  • Ne peut être vide.

  • Cardinalité : 1-1

« _sp » : service producteur responsable de l’unité archivistique, qui appartient à son fond propre.

  • Il s’agit du service producteur inscrit dans le bordereau de transfert lié au transfert de l’unité archivistique et déclaré dans la balise <OriginatingAgencyIdentifier> du message ArchiveTransfer.

  • Il s’agit d’une chaîne de caractères.

  • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

  • Cardinalité : 1-1

« _ops » (operations): tableau contenant les identifiants d’opérations auxquelles cette unité archivistique a participé.

  • Il s’agit d’un tableau contenant une à plusieurs chaînes de 36 caractères correspondant au champ _id de l’opération ou GUID de l’opération, enregistré dans la collection LogbookOperation.

  • Ne peut être vide.

  • Cardinalité : 1-1

« _opi » : identifiant de l’opération à l’origine de la création de cette unité archivistique.

  • Il s’agit d’une chaîne de 36 caractères correspondant au champ _id de l’opération d’entrée ou GUID de cette opération, enregistré dans la collection LogbookOperation.

  • Ne peut être vide.

  • Cardinalité : 1-1

« _unitType » : champ indiquant le type d’unité archivistique concerné.

  • Il s’agit d’une chaîne de caractères.

  • La valeur contenue doit être conforme à l’énumération UnitType. Celle-ci peut être :

    • INGEST : unité archivistique issue d’un SIP

    • FILING_UNIT : unité archivistique issue d’un plan de classement

    • HOLDING_UNIT : unité archivistique issue d’un arbre de positionnement

  • Cardinalité : 1-1

« _up » (unit up): tableau recensant les _id des unités archivistiques parentes (parents immédiats).

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID. Valeur du champ _id d’une unité archivistique (ou GUID) enregistré dans la collection Unit.

  • Champ peuplé par la solution logicielle Vitam.

  • Tableau pouvant être vide.

  • Cardinalité : 1-1

« _us » : tableau contenant la parentalité, c’est-à-dire l’ensemble des unités archivistiques parentes, indexé de la manière suivante : [GUID1, GUID2…].

  • Tableau listant une à plusieurs chaînes de 36 caractères correspondant à un GUID. Valeur du champ _id d’une unité archivistique (ou GUID) enregistré dans la collection Unit.

  • Champ peuplé par la solution logicielle Vitam.

  • Tableau pouvant être vide pour l’unité archivistique racine uniquement

  • Cardinalité : 1-1

« _graph » : Tableau des chemins de l’unité archivistique

  • Il s’agit d’un tableau contenant tous les chemins pour accéder à l’unité archivistique depuis les racines. Ces chemins sont composés sous la forme id1/id2/id3/…/idn Où chaque id est un identifiant d’unité archivistique. id1 étant l’unité courante et où idn est l’identifiant de l’unité de plus haut niveau.

  • Tableau pouvant être vide.

  • Cardinalité 1-1

« _uds » : objet contenant la parentalité, c’est-à-dire l’ensemble des unités archivistiques parentes, ainsi que le niveau de profondeur relative.

  • Il s’agit d’un objet contenant une liste de tableaux JSON.

  • Ces informations sont réunies dans cet objet sous la forme de clef/valeur, la clé étant la profondeur du parent (de type entier), la valeur étant elle-même un tableau d’identifiant d’unité archivistique. Exemple d’une unité qui a un parent direct, lui-même ayant deux parents.

  • Champ peuplé par la solution logicielle Vitam.

  • Peut être vide.

  • Cardinalité : 1-1

"1": [
    "aeaqaaaaamhad455abcwsalep4lzf2iaaada"
],
"2": [
    "aeaqaaaaamhad455abcwsalep4lzf2iaaabq",
    "aeaqaaaaamhad455abcwsalep4lzf2iaaabq"
],

« _min » : profondeur minimum de l’unité archivistique par rapport à une racine.

  • Il s’agit d’un entier.

  • Calculée, cette profondeur correspond au minimum des profondeurs, quels que soient les racines concernées et les chemins possibles.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _max » : profondeur maximale de l’unité archivistique par rapport à une racine.

  • Il s’agit d’un entier.

  • Calculée, cette profondeur correspond au maximum des profondeurs, quels que soient les racines concernées et les chemins possibles.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _glpd » : Date de la dernière modification du graph dont l’unité dépend

  • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

    Exemple : 2016-08-19T16:36:07.942+02:00

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _av » : version atomique de l’enregistrement décrit, incrémentée automatiquement en cas de modification de tout champ de la collection.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit, incrémentée dans le seul cas de modification d’un champ descriptif.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _acd » : Date de la création de l’unité archivistique

  • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

    Exemple : 2016-08-19T16:36:07.942+02:00

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _aud » : Date de la dernière modification de l’unité archivistique

  • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

    Exemple : 2016-08-19T16:36:07.942+02:00

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _elimination » : tableau contenant les résultats pour l’unité archivistique lorsqu’une opération d’analyse d’élimination a été lancée.

  • Il s’agit d’un tableau, pouvant référencer plusieurs opérations d’analyse d’élimination.

  • Champ peuplé par la solution logicielle Vitam au moment d’une indexation réalisée lors d’une phase d’analyse d’élimination.

  • Cardinalité : 1-1

  • Ce bloc contient les clés suivantes :

    • « OperationId » : identifiant de l’opération d’élimination

      • Il s’agit d’une chaîne de 36 caractères

      • Ne peut être vide

      • Cardinalité : 1-1

    • « GlobalStatus » : indique le statut de l’unité archivistique lors de son indexation

      • les valeurs ne peuvent être que DESTROY ou CONFLICT

      • Ne peut être vide.

      • Cardinalité : 1-1

    • « DestroyableOriginatingAgencies » : Service(s) producteur(s) pour le(s)quel(s) l’unité archivistique est éliminable

      • Il s’agit d’un tableau pouvant contenir une à plusieurs chaînes de caractères, correspondant à l’identifiant d’un service agent référencé dans la collection « Agencies ».

      • Peut être vide.

      • Cardinalité : 1-1

    • « NonDestroyableOriginatingAgencies » : Service(s) producteur(s) pour le(s)quel(s) l’unité archivistique n’est pas éliminable

      • Il s’agit d’un tableau pouvant contenir une à plusieurs chaînes de caractères, correspondant à l’identifiant d’un service agent référencé dans la collection « Agencies ».

      • Peut être vide.

      • Cardinalité : 1-1

    • « ExtendedInfo » : tableau donnant des informations complémentaires dans les cas de CONFLICT

      • Il s’agit d’un tableau d’objets.

      • Peut être vide.

      • Cardinalité : 1-1

      • Ce champ peut contenir une liste d’objets comprenant les éléments suivants :

        • « ExtendedInfoType » : ce champ indique les situations impliquant un CONFLICT.

          • Il s’agit d’une chaîne de caractères.

          • Cardinalité : 0-1

            Les valeurs attendues dans ce champ sont :

          • « KEEP_ACCESS_SP » : l’unité archivistique n’est pas éliminable car l’accès est conservé pour un service producteur autre que le service producteur principal.

          • « ACCESS_LINK_INCONSISTENCY » : l’unité archivistique n’est pas éliminable, car sa suppression occasionnerait une incohérence dans le fonds d’archives.

          • « FINAL_ACTION_INCONSISTENCY » : l’unité archivistique a par héritage deux sorts finaux différents pour un même service producteur.

          • « BLOCKED_BY_HOLD_RULE » : l’unité archivistique a une règle de gel interdisant son élimination.

        • « ExtendedInfoDetails » : détails concernant les situations impliquant un CONFLICT.

          • Il s’agit d’un objet.

          • Cet objet est présent dans les cas de « ACCESS_LINK_INCONSISTENCY », de « FINAL_ACTION_INCONSISTENCY » et de « BLOCKED_BY_HOLD_RULE ».

          • Cardinalité : 0-1

          • Pour chaque cas de « ACCESS_LINK_INCONSISTENCY », l’unité parente est obligatoirement spécifiée avec son GUID, ainsi que le service producteur concerné.

            • « ParentUnitId » : identifiant de l’unité archivistique parente.

              • Il s’agit d’une chaîne de caractères, correspondant au GUID de l’unité archivistique parente.

              • Cardinalité : 1-1

            • « DestroyableOriginatingAgencies » : Service(s) producteur(s) pour le(s)quel(s) l’unité archivistique est éliminable.

              • Il s’agit d’un tableau pouvant contenir une à plusieurs chaînes de caractères, correspondant à l’identifiant d’un service agent référencé dans la collection « Agencies ».

              • Cardinalité : 1-1

            • « NonDestroyableOriginatingAgencies » : Service(s) producteur(s) pour le(s)quel(s) l’unité archivistique n’est pas éliminable

              • Il s’agit d’un tableau pouvant contenir une à plusieurs chaînes de caractères, correspondant à l’identifiant d’un service agent référencé dans la collection « Agencies ».

              • Cardinalité : 1-1

        • Pour chaque cas de « FINAL_ACTION_INCONSISTENCY », la solution logicielle indexe également le service producteur concerné.

          • « OriginatingAgenciesInConflict » : Service(s) producteur(s) pour le(s)quel(s) l’unité archivistique ne peut être éliminée.

            • Il s’agit d’un tableau pouvant contenir une à plusieurs chaînes de caractères, correspondant à l’identifiant d’un service agent référencé dans la collection « Agencies ».

            • Cardinalité : 0-1

"_elimination": [
        {
            "OperationId": "aeeaaaaabgho3tftabgyiallvvnhq2aaaaaq",
            "GlobalStatus": "CONFLICT",
            "DestroyableOriginatingAgencies": [
                "FRAN_NP_050634"
            ],
            "NonDestroyableOriginatingAgencies": [
                "FRAN_NP_051587"
            ],
            "ExtendedInfo": [
                {
                    "ExtendedInfoType": "KEEP_ACCESS_SP"
                },
                {
                    "ExtendedInfoType": "ACCESS_LINK_INCONSISTENCY",
                    "ExtendedInfoDetails": {
                        "ParentUnitId": "aeaqaaaabehducypaasryallvvmupmaaaada",
                        "DestroyableOriginatingAgencies": [
                            "FRAN_NP_050634"
                        ],
                        "NonDestroyableOriginatingAgencies": [
                            "FRAN_NP_051587"
                        ]
                    }
                }
            ]
        }
    ]
  • Pour chaque cas de BLOCKED_BY_HOLD_RULE, la solution logicielle indexe la(les) règle(s) concernée(s).

    • « HoldRuleIds » : Règle(s) de gel interdisant l’élimination de l’unité archivistique.

      • Il s’agit d’un tableau pouvant contenir une à plusieurs chaînes de caractères, correspondant à l’identifiant d’une règle de gestion référencé dans la collection « FileRules ».

      • Cardinalité : 1-1

« _computedInheritedRule » :

  • une liste de catégories de règles de gestion appliquées à cette unité archivistique.

    Les catégories pouvant être incluses dans cet objet sont exhaustivement :

    • AccessRule (délai de communicabilité)

    • AppraisalRule (durée d’utilité administrative)

    • ClassificationRule (durée de classification)

    • DisseminationRule (durée de diffusion)

    • HoldRule (gel)

    • ReuseRule (durée de réutilisation)

    • StorageRule (durée d’utilité courante)

      Cardinalité : 0-1, pour chaque catégorie.

      Chaque catégorie peut contenir :

    • Des données communes :

      • « MaxEndDate »

      • « InheritanceOrigin » : origine des règles calculées

        • il s’agit d’une chaîne de caractères, pouvant contenir une des valeurs suivantes :

          • « Local »

          • « Inherited »

          • « LocalOrInherited »

        • Cardinalité : 1-1

      • « InheritedRuleIds » : identifiant des règles héritées

        • il s’agit d’un tableau, pouvant contenir une à plusieurs valeurs correspondant au champ RuleId de la collection FileRules

        • Cardinalité : 0-1

      • « EndDates » : Les dates de fin par règle de gestion hérités identifiés.

        • En clé il y a l’identifiant de la règle de gestion défini au niveau de l’unité archivistique ou hérités des unités archivistiques parents.

        • En valeur, il y a la date de fin de validité la plus longue en fonction des règles de gestion applicable.

          Ce champ est déprécié au profit de « Rules ». Il n’est plus indexé.

      • Rules : tableau de règle de gestion.

        • Il s’agit d’un tableau d’objets

        • Cardinalité : 0-1

        • Chacun des objets de ce tableau est elle-même composée de plusieurs informations :

          • « Rule » : identifiant de la règle

            • Correspond à une valeur du champ RuleId de la collection FileRules.

            • Cardinalité : 0-1

          • « EndDate » : date de fin d’application de la règle.

            • Il s’agit d’une date.

            • Cette valeur est issue d’un calcul réalisé par la solution logicielle Vitam. Celui-ci consiste en l’ajout du délai correspondant à la règle dans la collection FileRules à la valeur du champ StartDate (EndDate = StartDate + Durée)

            • Cardinalité : 0-1

    • Des données spécifiques aux catégories :

      • Pour les catégories « StorageRule » et « AppraisalRule » uniquement :

        • « FinalAction » : sort final des règles dans ces catégories.

          • Cardinalité : 1-1

          • La valeur contenue dans le champ peut être :

            • Pour StorageRule : « Transfer », « Copy » ou « RestrictAccess » (énumération issue du FinalActionStorageCodeType du SEDA 2.1)

            • Pour AppraisalRule : « Keep » ou « Destroy » (énumération issue du FinalActionAppraisalCodeType du SEDA 2.1)

      • Pour la catégorie ClassificationRule uniquement :

        • « ClassificationLevel » : niveau de classification.

          • Il s’agit d’une chaîne de caractères, dont les valeurs sont paramétrables au niveau de la plateforme.

          • Champ obligatoire et systématiquement renseigné

          • Cardinalité : 1-1

        • « ClassificationOwner » : propriétaire de la classification.

          • Il s’agit d’une chaîne de caractères.

          • Champ obligatoire et systématiquement renseigné

          • Cardinalité : 1-1

        • « ClassificationAudience » : permet de gérer les mentions additionnelles de limitation du champ de diffusion (exemple : « spécial France »)

          • Il s’agit d’une chaîne de caractères.

          • Champ optionnel

          • Cardinalité : 0-1

        • « ClassificationReassessingDate » : date de réévaluation de la classification.

          • Il s’agit d’une date.

          • Champ optionnel.

          • Cardinalité : 0-1

        • « NeedReassessingAuthorization » : indique si une

          autorisation humaine est nécessaire pour réévaluer la classification.

          • Il s’agit d’un booléen. Si la valeur est à « true », une autorisation humaine sera nécessaire pour réévaluer la classification.

          • Champ optionnel

          • Cardinalité : 0-1

« _inheritedRulesAPIOutput » :

Il contient les règles de gestion calculée applicable en prenant en compte les différents héritages de règles de gestion provenant des différents services producteurs.

  • Cardinalité : 0-1

  • Peut être vide.

  • Il contient :

    • « Global Properties » : tableau contenant une liste de propriété

      • Cardinalité : 0-1

      • Chaque propriété contient l’ensemble suivant d’informations :

        • **« UnitId » :**identifiant unique de l’unité archivistique.

          • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

          • Champ peuplé par la solution logicielle Vitam.

          • Cardinalité : 1-1

        • « OriginatingAgency » : identifiant du service producteur

          • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

          • Il s’agit d’une chaîne de caractères.

          • Cardinalité : 1-1

        • « Paths » : tableau des chemins d’héritage

          • Il s’agit d’un tableau de chaîne de caractères.

          • Cardinalité : 1-n

        • « PropertyName » : Nom d’une propriété

          • Il s’agit d’une chaîne de caractères.

          • Cardinalité : 1-1

        • «** PropertyValue **» : Valeur de la propriété nommé ci-dessus.

          • Le type varie en fonction de la propriété héritée.

          • Cardinalité : 1 -1

    • une liste de catégories de règles de gestion appliquées à cette unité archivistique.

      Les catégories pouvant être incluses dans cet objet sont, exhaustivement :

      • AccessRule (délai de communicabilité)

      • AppraisalRule (durée d’utilité administrative)

      • ClassificationRule (durée de classification)

      • DisseminationRule (durée de diffusion)

      • HoldRule (gel)

      • ReuseRule (durée de réutilisation)

      • StorageRule (durée d’utilité courante)

        Cardinalité : 0-1, pour chaque catégorie.

        Chaque catégorie peut contenir :

      • Rules : tableau de règle de gestion.

        • Il s’agit d’un tableau d’objets

        • Cardinalité : 0-1

        • Chacun des objets de ce tableau est elle-même composée de plusieurs informations :

          • **« UnitId » :**identifiant unique de l’unité archivistique.

            • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

            • Champ peuplé par la solution logicielle Vitam.

            • Cardinalité : 1-1

          • « OriginatingAgency » : identifiant du service producteur

            • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

            • Il s’agit d’une chaîne de caractères.

            • Cardinalité : 1-1

          • « Paths » : tableau des chemins d’héritage

            • Il s’agit d’un tableau de chaîne de caractères.

            • Cardinalité : 1-n

          • « Rule » : identifiant de la règle

            • Correspond à une valeur du champ RuleId de la collection FileRules.

            • Cardinalité : 0-1

          • « StartDate » : date de début du calcul de l’échéance.

            • Il s’agit d’une date.

            • Cette date est déclarée dans le message ArchiveTransfer ou ajoutée a posteriori par une modification de l’unité archivistique.

            • Cardinalité : 0-1

          • « EndDate » : date de fin d’application de la règle.

            • Il s’agit d’une date.

            • Cette valeur est issue d’un calcul réalisé par la solution logicielle Vitam. Celui-ci consiste en l’ajout du délai correspondant à la règle dans la collection FileRules à la valeur du champ startDate (EndDate = StartDate + Durée)

            • Cardinalité : 0-1

      • Properties : tableau contenant une liste de propriété

        • Cardinalité : 1-n

        • Chaque propriété contient l’ensemble suivant d’informations :

          • **« UnitId » :**identifiant unique de l’unité archivistique.

            • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

            • Champ peuplé par la solution logicielle Vitam.

            • Cardinalité : 1-1

          • « OriginatingAgency » : identifiant du service producteur

            • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

            • Il s’agit d’une chaîne de caractères.

            • Cardinalité : 1-1

          • « Paths » : tableau des chemins d’héritage

            • Il s’agit d’un tableau de chaîne de caractères.

            • Cardinalité : 1-n

          • « PropertyName » : Nom d’une propriété

            • Il s’agit d’une chaîne de caractères.

            • Cardinalité : 1-1

          • «** PropertyValue **» : Valeur de la propriété nommé ci-dessus.

            • Le type varie en fonction de la propriété inhérité.

            • Cardinalité : 1 -1

    • « _**validComputedInheritedRules **» : validité des règles de gestion applicables sur ces unités archivistiques.

      • Il s’agit d’un booléen. Si la valeur est à « true », les règles de gestion applicables sur cette unité archivistique était encore d’actualité.

      • Cardinalité : 1-1

      "inheritedRulesAPIOutput": {
            "GlobalProperties": [],
            "StorageRule": {
                "Rules": [],
                "Properties": []
            },
            "AppraisalRule": {
                "Rules": [],
                "Properties": [
                    {
                        "UnitId": "aeaqaaaabaheaypqaahnialm6ht7jeqaaada",
                        "OriginatingAgency": "RATP",
                        "Paths": [
                            [
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaadq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaacq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaaba",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaafa",
                                "aeaqaaaabaheaypqaahnialm6ht7jeqaaada"
                            ],
                            [
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaadq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaacq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaaba",
                                "aeaqaaaabaheaypqaahnialm6ht7jeqaaaeq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeqaaada"
                            ]
                        ],
                        "PropertyName": "FinalAction",
                        "PropertyValue": "Keep"
                    }
                ]
            },
            "DisseminationRule": {
                "Rules": [
                    {
                        "UnitId": "aeaqaaaabaheaypqaahnialm6ht7jeqaaada",
                        "OriginatingAgency": "RATP",
                        "Paths": [
                            [
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaadq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaacq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaaba",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaafa",
                                "aeaqaaaabaheaypqaahnialm6ht7jeqaaada"
                            ],
                            [
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaadq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaacq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaaba",
                                "aeaqaaaabaheaypqaahnialm6ht7jeqaaaeq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeqaaada"
                            ]
                        ],
                        "Rule": "DIS-00001",
                        "StartDate": "2000-01-01",
                        "EndDate": "2025-01-01"
                    }
                ],
                "Properties": []
            },
            "ReuseRule": {
                "Rules": [],
                "Properties": []
            },
            "ClassificationRule": {
                "Rules": [],
                "Properties": []
            },
            "AccessRule": {
                "Rules": [
                    {
                        "UnitId": "aeaqaaaabaheaypqaahnialm6ht7jeyaaaba",
                        "OriginatingAgency": "RATP",
                        "Paths": [
                            [
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaadq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaacq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaaba"
                            ]
                        ],
                        "Rule": "ACC-00003",
                        "StartDate": "2002-01-01",
                        "EndDate": "2027-01-01"
                    },
                    {
                        "UnitId": "aeaqaaaabaheaypqaahnialm6ht7jeyaaafa",
                        "OriginatingAgency": "RATP",
                        "Paths": [
                            [
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaadq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaacq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaaba",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaafa"
                            ]
                        ],
                        "Rule": "ACC-00001",
                        "StartDate": "2000-01-01",
                        "EndDate": "2000-01-01"
                    },
                    {
                        "UnitId": "aeaqaaaabaheaypqaahnialm6ht7jeqaaaeq",
                        "OriginatingAgency": "RATP",
                        "Paths": [
                            [
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaadq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaacq",
                                "aeaqaaaabaheaypqaahnialm6ht7jeyaaaba",
                                "aeaqaaaabaheaypqaahnialm6ht7jeqaaaeq"
                            ]
                        ],
                        "Rule": "ACC-00036",
                        "StartDate": "2000-01-01",
                        "EndDate": "2999-01-01"
                    }
                ],
                "Properties": []
            }
        },
        "indexationDate": "2019-09-02"
    },
    "_validComputedInheritedRules": true
}

« _opts » (operations de transfert): tableau contenant les identifiants d’opérations de transfert auxquelles cette unité archivistique est associée.

  • Il s’agit d’un tableau contenant une à plusieurs chaînes de 36 caractères correspondant au champ _id de l’opération ou GUID de l’opération, enregistré dans la collection LogbookOperation.

  • Champ peuplé par la solution logicielle Vitam au moment d’une indexation réalisée lors d’une phase de transfert.

  • Ne peut être vide.

  • Cardinalité : 0-1

4.4.2. Collection ObjectGroup

4.4.2.1. Utilisation de la collection ObjectGroup

La collection ObjectGroup contient les informations relatives aux groupes d’objets.

4.4.2.2. Exemple de XML

Ci-après, un extrait d’un bordereau de transfert (manifest.xml) utilisé pour compléter les champs du JSON correspondant à un groupe d’objets.

<DataObjectGroupId id="ID0009">
  <PhysicalDataObject id="ID109">
      <DataObjectVersion>PhysicalMaster</DataObjectVersion>
      <PhysicalId>1 Num 1/191-3</PhysicalId>
      <PhysicalDimensions>
          <Height unit="centimetre">10.5</Height>
          <Length unit="centimetre">14.8</Length>
          <Thickness unit="micrometre">350</Thickness>
          <Weight unit="gram">3</Weight>
      </PhysicalDimensions>
      <Extent>1 carte imprimée</Extent>
      <Dimensions>10,5cm x 14,8cm</Dimensions>
      <Color>Noir et blanc</Color>
      <Framing>Paysage</Framing>
      <Technique>Phototypie</Technique>
  </PhysicalDataObject>
  <BinaryDataObject id="ID9">
      <DataObjectVersion>BinaryMaster</DataObjectVersion>
      <Uri>Content/1NUM_9.JPG</Uri>
      <MessageDigest algorithm="SHA-512">0e0cec05a1d72ee5610eaa5afbc904c012d190037cbc827d08272102cdecf0226efcad122b86e7699f767c661c9f3702379b8c2cb01c4f492f69deb200661bb9</MessageDigest>
      <Size>7702</Size>
      <FormatIdentification>
          <FormatLitteral>JPEG File Interchange Format</FormatLitteral>
          <MimeType>image/jpeg</MimeType>
          <FormatId>fmt/43</FormatId>
      </FormatIdentification>
      <FileInfo>
          <Filename>1NUM_9.JPG</Filename>
      </FileInfo>
      <Metadata>
          <Image>
              <Dimensions>117x76</Dimensions>
              <Width>117px</Width>
              <Height>76px</Height>
              <VerticalResolution>96ppp</VerticalResolution>
              <HorizontalResolution>96ppp</HorizontalResolution>
              <ColorDepth>24</ColorDepth>
          </Image>
      </Metadata>
  </BinaryDataObject>
</DataObjectGroupId>

4.4.2.3. Exemple de JSON stocké en base

Les champs présentés dans l’exemple ci-après ne font pas état de l’exhaustivité des champs disponibles dans le SEDA. Ceux-ci sont référencés dans la documentation SEDA disponible au lien suivant : https://redirect.francearchives.fr/seda/api_v2-1/seda-2.1-main.html

{
    "_id": "aebaaaaaaafgsz3wabcugak7ube6dxyaaabq",
    "_tenant": 0,
    "_profil": "Image",
    "FileInfo": {
        "Filename": "1NUM_9.JPG"
    },
    "_qualifiers": [
        {
            "qualifier": "PhysicalMaster",
            "_nbc": 1,
            "versions": [
                {
                    "_id": "aeaaaaaaaafgsz3wabcugak7ube6dzqaaaca",
                    "DataObjectGroupId": "aebaaaaaaafgsz3wabcugak7ube6dxyaaabq",
                    "DataObjectVersion": "PhysicalMaster_1",
                    "PhysicalId": "1 Num 1/191-3",
                    "PhysicalDimensions": {
                        "Height": {
                            "unit": "centimetre",
                            "dValue": 10.5
                        },
                        "Length": {
                            "unit": "centimetre",
                            "dValue": 14.8
                        },
                        "Thickness": {
                            "unit": "micrometre",
                            "dValue": 350
                        },
                        "Weight": {
                            "unit": "gram",
                            "dValue": 3
                        }
                    },
                    "Extent": "1 carte imprimée",
                    "Dimensions": "10,5cm x 14,8cm",
                    "Color": "Noir et blanc",
                    "Framing": "Paysage",
                    "Technique": "Phototypie",
                    "_opi": "aeeaaaaaashi422cab3gyalenej2kcyaaaaq"
                }
            ]
        },
        {
            "qualifier": "BinaryMaster",
            "_nbc": 1,
            "versions": [
                {
                    "_id": "aeaaaaaaaafgsz3wabcugak7ube6dxyaaaba",
                    "DataObjectGroupId": "aebaaaaaaafgsz3wabcugak7ube6dxyaaabq",
                    "DataObjectVersion": "BinaryMaster_1",
                    "FormatIdentification": {
                        "FormatLitteral": "JPEG File Interchange Format",
                        "MimeType": "image/jpeg",
                        "FormatId": "fmt/43"
                    },
                    "FileInfo": {
                        "Filename": "1NUM_9.JPG"
                    },
                    "Metadata": {
                        "Image": {
                            "Dimensions": "117x76",
                            "Width": "117px",
                            "Height": "76px",
                            "VerticalResolution": "96ppp",
                            "HorizontalResolution": "96ppp",
                            "ColorDepth": 24
                        }
                    },
                    "_opi": "aeeaaaaaashi422cab3gyalenej2kcyaaaaq",
                    "Size": 7702,
                    "Uri": "Content/1NUM_9.JPG",
                    "MessageDigest": "0e0cec05a1d72ee5610eaa5afbc904c012d190037cbc827d08272102cdecf0226efcad122b86e7699f767c661c9f3702379b8c2cb01c4f492f69deb200661bb9",
                    "Algorithm": "SHA-512",
                    "_storage": {
                        "strategyId": "default"
                    }
                }
            ]
        }
    ],
    "_up": [
        "aeaqaaaaaafgsz3wabcugak7ube6d4qaaaaq"
    ],
    "_nbc": 0,
    "_ops": [
        "aedqaaaaachxqyktaai4aak7ube557iaaaaq"
    ],
    "_opi": "aedqaaaaachxqyktaai4aak7ube557iaaaaq",
    "_sp": "Vitam",
    "_sps": [
        "Vitam"
    ],
    "_storage": {
        "strategyId": "default"
    },
    "_v": 1,
    "_av": 1,
    "_glpd": "2018-07-05T13:55:39.779",
	"_acd": "2020-04-04T08:07:06",
    "_aud": "2020-07-21T08:07:06",
    "_us": [
        "aeaqaaaaaahducypaasryallvnrahwaaaabq",
        "aeaqaaaaaahducypaasryallvnrai5aaaaaq"
    ]
}

4.4.2.4. Détail des champs du JSON

« _id » : identifiant du groupe d’objets.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _profil » : catégorie de l’objet.

  • Repris du nom de la balise présente dans le bloc Metadata du DataObjectPackage présent dans le bordereau de transfert au niveau du BinaryMaster. Attention, il s’agit d’une reprise de la balise et non pas des valeurs à l’intérieur.

  • Les valeurs possibles pour ce champ sont : Audio, Document, Text, Image et Video. Des extensions seront possibles (Database, Plan3D, …).

  • Peut être vide.

  • Cardinalité : 1-1

« FileInfo » : informations sur le fichier constituant l’objet-données numérique de référence.

  • Reprend le bloc FileInfo du BinaryMaster présent dans le bordereau de transfert.

  • L’objet de ce bloc est de pouvoir conserver les informations initiales du premier BinaryMaster pour en faciliter la recherche et augmenter la qualité des résultats en cas de recherche multi critères ne portant que sur les BinaryMaster.

  • Peut être vide ou contenir la valeur « null ».

  • Cardinalité : 1-1

« _qualifiers » : tableau de structures décrivant les objets inclus dans ce groupe d’objets.

  • Cardinalité : 1-1

  • Une structure est composée comme suit :

    • « qualifier » : usage de l’objet.

      • Correspond à la valeur contenue dans le champ <DataObjectVersion> du bordereau de transfert. Par exemple pour ```xml <DataObjectVersion>BinaryMaster_1</DataObjectVersion>,

        c’est la valeur « BinaryMaster » qui est reportée.
        
        
      • Cardinalité : 1-1

    • « _nbc » : nombre d’objets correspondant à cet usage.

      • Il s’agit d’un entier.

      • Champ peuplé par la solution logicielle Vitam.

      • Cardinalité : 1-1

    • « versions » : tableau des objets par version (une version = une entrée dans le tableau).

      • « _id » : identifiant de l’objet.

        • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID, généré par la solution logicielle Vitam.

        • Cardinalité : 1-n

      • « DataObjectGroupId » : identifiant du groupe d’objets

        • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID, généré par la solution logicielle Vitam.

        • Cardinalité : 1-1

      • « DataObjectVersion » : version de l’objet par rapport à son usage.

        • II s’agit d’une chaîne de caractères.

        • Par exemple, si on a BinaryMaster sur l’usage, on aura au moins un objet BinaryMaster_1. Ces champs sont renseignés si possible avec les valeurs récupérées dans les balises <DataObjectVersion> du bordereau de transfert. Chaque ajout d’un objet du même usage incrémente de un le numéro de la version, même si le bordereau de transfert indique une information contraire. Par exemple s’il existe un groupe d’objets avec deux objets : BinaryMaster_1 et BinaryMaster_2, lorsqu’un nouveau SIP ajoute un objet déclaré comme un « BinaryMaster_6 » dans le bordereau de transfert, celui-ci sera enregistré comme « BinaryMaster_3 ».

        • Cardinalité : 1-1

      • « FormatIdentification » : contient trois champs qui permettent d’identifier le format du fichier.

        • Une vérification de la cohérence entre ce qui est déclaré dans le XML, ce qui existe dans le référentiel PRONOM et les valeurs que porte le document est faite.

        • Cardinalité : 1-1

        • Cet objet contient les champs suivants :

          • « FormatLitteral » : nom du format.

            • C’est une reprise de la valeur située entre les balises <FormatLitteral> du message ArchiveTransfer.

            • Cardinalité : 1-1

          • « MimeType » : type Mime.

            • C’est une reprise de la valeur située entre les balises <MimeType> du message ArchiveTransfer ou des valeurs correspondant au format tel qu’identifié par la solution logicielle Vitam.

            • Cardinalité : 1-1

          • « FormatId » : PUID du format de l’objet.

            • Il est défini par la solution logicielle Vitam à l’aide du référentiel PRONOM maintenu par The National Archives (UK) et correspondant à la valeur du champ PUID de la collection FileFormat.

            • Cardinalité : 1-1

      • « FileInfo » : contient les informations sur le fichier.

        • « Filename » : nom de l’objet.

          • Ce champ est renseigné avec la métadonnée correspondante portée par le message ArchiveTransfer.

          • Cardinalité : 0-1

        • « CreatingApplicationName » : nom de l’application avec laquelle l’objet a été créé.

          • Ce champ est renseigné avec la métadonnée correspondante portée par le message ArchiveTransfer.

          • Cardinalité : 0-1

        • « CreatingApplicationVersion » : numéro de version de l’application avec laquelle le document a été créé.

          • Ce champ est renseigné avec la métadonnée correspondante portée par le message ArchiveTransfer.

          • Cardinalité : 0-1

        • « CreatingOs » : système d’exploitation avec lequel l’objet a été créé.

          • Ce champ est renseigné avec la métadonnée correspondante portée par le message ArchiveTransfer.

          • Cardinalité : 0-1

        • « CreatingOsVersion » : Version du système d’exploitation avec lequel l’objet a été créé.

          • Ce champ est renseigné avec la métadonnée correspondante portée par le message ArchiveTransfer.

          • Cardinalité : 0-1

        • « LastModified » : date de dernière modification de l’objet.

          • Il s’agit d’une dateau format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

            Exemple : 2016-08-19T16:36:07.942+02:00

          • Ce champ est optionnel, et est renseigné avec la métadonnée correspondante portée par le fichier.

          • Cardinalité : 0-1

      • « OtherMetadata » : autres métadonnées techniques, non référencées dans le SEDA 2.1.

        • Il s’agit d’un objet.

        • Ce champ correspond à la balise <OtherMetadata>, extension du schéma SEDA du message ArchiveTransfer.

        • Cardinalité 0-1.

        • Il s’agit d’un objet, pouvant contenir :

          • des champs issus du bordereau de transfert au niveau du bloc BinaryMaster.

            • Cardinalité : 0-n

          • des champs enregistrés sous forme de tableaux, issus d’une opération d’extraction de métadonnées.

            • Cardinalité : 1-n

          • un champ « RawMetadata », correspondant à un tableau contenant l’ensemble des métadonnées issus d’une opération d’extraction de métadonnées.

            • Cardinalité : 0-1

"OtherMetadata": {
                        "geometry": [
                            {
                                "width": [
                                    "800"
                                ],
                        "RawMetadata": [
                            "[{  \"image\": {    \"geometry\": {      \"width\": 800}}]"
                        ]
}

« _opi » : identifiant de l’opération à l’origine de la création de cet objet.

  • Il s’agit d’une chaîne de 36 caractères correspondant au GUID contenu dans le champ _id de la collection LogbookOperation.

  • Champ peuplé par la solution logicielle Vitam.

  • Ne peut être vide

  • Cardinalité : 1-1

  • « Size » : taille de l’objet (en octet).

    • Il s’agit d’un entier.

    • Cardinalité : 0 (objet physique) ou 1 (objet binaire)

  • « PhysicalDimensions » : contient les différentes informations concernant un objet physique (DataObjectVersion = PhysicalMaster). Il pourra donner des informations sur la taille, le poids, etc… de l’objet.

    • Cardinalité : 0 (objet physique) ou 1 (objet binaire)

    • Il comprend les champs suivants :

      • « Width » : largeur de l’objet. Ce champ contient 2 sous champs : « unit » (string) et « dValue » (double)

      • « Height » : hauteur de l’objet. Ce champ contient 2 sous champs : « unit » (string) et « dValue » (double)

      • « Depth » : profondeur de l’objet. Ce champ contient 2 sous champs : « unit » (string) et « dValue » (double)

      • « Diameter » : diamètre de l’objet. Ce champ contient 2 sous champs : « unit » (string) et « dValue » (double)

      • « Length » : longueur de l’objet. Ce champ contient 2 sous champs : « unit » (string) et « dValue » (double)

      • « Thickness » : épaisseur de l’objet. Ce champ contient 2 sous champs : « unit » (string) et « dValue » (double)

      • « Weight » : poids de l’objet. Ce champ contient 2 sous champs : « unit » (string) et « dValue » (double)

      • « Shape » : forme de l’objet. Ce champ contient une chaîne de caractères.

  • « Uri » : localisation du fichier correspondant à l’objet dans le SIP.

    • Chaîne de caractères

    • Cardinalité : 0 (objet physique) ou 1 (objet binaire)

  • « MessageDigest » : empreinte du fichier correspondant à l’objet.

    • Il s’agit d’une chaîne de caractères.

    • La valeur est calculée par la solution logicielle Vitam.

    • Cardinalité : 0 (objet physique) ou 1 (objet binaire)

  • « Algorithm » : algorithme utilisé pour réaliser l’empreinte du fichier correspondant à l’objet.

    • Chaîne de caractères

    • Cardinalité 0 (objet physique) ou 1 (objet binaire)

  • « _storage » : contient les champs qui permettent d’identifier les offres de stockage.

    • Ne peut être vide.

    • Cardinalité : 0 (objet physique) ou 1 (objet binaire)

    • Il s’agit d’un objet constitué des champs suivants :

      • « strategyId » : identifiant de la stratégie de stockage.

        • Il s’agit d’une chaîne de caractère.

« _up » (unit up): tableau identifiant les unités archivistiques représentées par ce groupe d’objets.

  • Il s’agit d’un tableau de chaînes de 36 caractères correspondant au GUID contenu dans le champ _id des unités archivistiques enregistrées dans la collection Unit.

  • Champ peuplé par la solution logicielle Vitam.

  • Ne peut être vide

  • Cardinalité : 1-1

« _nbc » : nombre d’objets dans le groupe d’objets.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _ops » (operations): tableau des identifiants d’opérations auxquelles ce groupe d’objets a participé.

  • Il s’agit d’un tableau de chaînes de 36 caractères correspondant au GUID contenu dans le champ _id d’opération enregistré dans la collection LogBookOperation.

  • Champ peuplé par la solution logicielle Vitam.

  • Ne peut être vide

  • Cardinalité : 1-1

« _opi » : identifiant de l’opération à l’origine de la création de ce groupe d’objets.

  • Il s’agit d’une chaîne de 36 caractères correspondant au GUID contenu dans le champ _id de la collection LogbookOperation.

  • Champ peuplé par la solution logicielle Vitam.

  • Ne peut être vide

  • Cardinalité : 1-1

« _sp » : service producteur responsable du groupe d’objets, qui appartient à son fond propre. Il s’agit de la valeur de la balise OriginatingAgencyIdentifier dans le message ArchiveTransfer.

  • Il s’agit d’une chaîne de caractères.

  • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _sps » : services producteurs auxquels le groupe d’objets techniques a été rattaché (au titre de leurs fonds symboliques).

  • Il s’agit d’un tableau contenant tous les services producteurs référençant le groupe d’objets.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

  • Champ peuplé par la solution logicielle Vitam.

  • Ne peut être vide

  • Cardinalité : 1-1

« _storage » : contient trois champs qui permettent d’identifier les offres de stockage.

  • Ne peut être vide.

  • Cardinalité : 0 (objet physique) ou 1 (objet binaire)

  • Il s’agit d’un objet constitué des champs suivants :

    • « strategyId » : identifiant de la stratégie de stockage.

      • Il s’agit d’une chaîne de caractères.

    • « offerIds » : liste des offres de stockage pour une stratégie donnée

      • Il s’agit d’un tableau.

    • « _nbc » : nombre d’offres.

      • Il s’agit d’un entier.

« _acd » : Date de la création du groupe d’objets techniques

  • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

    Exemple : 2016-08-19T16:36:07.942+02:00

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _aud » : Date de la dernière modification du groupe d’objets techniques

  • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

    Exemple : 2016-08-19T16:36:07.942+02:00

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _av » : version atomique de l’enregistrement décrit, incrémentée automatiquement en cas de modification de tout champ de la collection.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

« _glpd » : Date de la dernière modification du graph dont l’objet dépend

  • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

    Exemple : 2016-08-19T16:36:07.942+02:00.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _us » : Reprend l’union de tous les champs _us de toutes les unités archivistiques possédant le groupe d’objets (parentalité).

  • Tableau de chaînes de 36 caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.4.3. Collection Offset

4.4.3.1. Utilisation de la collection

Cette collection permet de persister les offsets des dernières données reconstruites des offres de stockage lors de la reconstruction au fil de l’eau pour les collections :

  • LogbookOperation

  • Unit

  • ObjetGroup

  • UNIT_GRAPH

  • OBJETGROUP_GRAPH

Il y a une valeur d’offset par couple tenant/collection.

4.4.3.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
  "_id": ObjectId("507f191e810c19729de860ea"),
  "offset": 1357,
  "collection": "UNIT",
  "strategyId": "default",
  "_tenant": 1
}

4.4.3.3. Détail des champs

« _id » : identifiant unique mongo.

  • Il s’agit d’un champ de type mongo : ObjectId(<hexadecimal>).

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« offset » : la valeur de l’offset.

  • Il s’agit d’un entier encodé 64 bits.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« collection » : collection impactée.

  • les valeurs possibles sont UNIT et OBJECTGROUP.

    « strategyId » : identifiant de la stratégie de stockage.

  • Il s’agit d’une chaîne de caractère.

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.4.4. Collection Snapshot

4.4.4.1. Utilisation de la collection Snapshot

La collection Snapshot contient les informations relatives à la recherche en mode « scroll ». Ses documents sont calculés à partir des requêtes en mode « scroll » passées. Chaque document représente un instantané (snapshot) du nombre de requêtes effectuées ou de la date de la dernière requête effectuée, par tenant. Deux documents sont créés à chaque fois qu’un scroll est effectué par tenant et par jour.

4.4.4.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    _id: 'aeaaaaaaaahp7qg2abuxiamcqikjbmaaaaaq',
    Name: 'Scroll',
    _tenant: 1,
    Value: 3
}

4.4.4.3. Détail des champs

« _id » : identifiant unique.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Name » : intitulé de l“« instantané ».

  • les valeurs possibles sont Scroll et LastScrollRequestDate.

  • Champ peuplé par la solution logicielle Vitam.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Value » : valeur calculée pour un « instantané » donné.

  • les valeurs possibles sont :

    • pour un enregistrement dont le « Name » a pour valeur « Scroll » : un nombre correspondant au nombre de requêtes en mode « scroll » déjà opérées,

    • pour un enregistrement dont le « Name » a pour valeur « LastScrollRequestDate » : la date de dernière utilisation d’une requête en mode « scroll ».

  • Champ peuplé par la solution logicielle Vitam.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.5. Base metadataCollect

La base metadataCollect contient les collections relatives aux métadonnées des unités archivistiques (collection Unit) et des groupes d’objets (collection ObjectGroup) utilisées par le module de collecte.

4.5.1. Collection Unit

4.5.1.1. Utilisation de la collection Unit

La collection Unit contient les informations relatives aux unités archivistiques enregistrées lors de la phase de collecte.

4.5.1.2. Exemple de JSON stocké dans la collection Unit

Les champs présentés dans l’exemple ci-après ne font pas état de l’exhaustivité des champs disponibles dans le SEDA. Ceux-ci sont référencés dans la documentation SEDA disponible au lien suivant : https://redirect.francearchives.fr/seda/api_v2-1/seda-2.1-main.html

{
    "_id": "aeaqaaaaamhad455abcwsalep4lzf2iaaaea",
    "_og": "aebaaaaaamhad455abcwsalep4lzfvaaaaca",
    "_mgt": {
        "AccessRule": {
            "Rules": [
                {
                    "Rule": "ACC-00002",
                    "StartDate": "2000-01-01",
                    "EndDate": "2025-01-01"
                }
            ]
        }
    },
    "DescriptionLevel": "Item",
    "Title": "Stalingrad.txt","_sps": [
        "RATP"
    ],"_opi": "aeeaaaaaaohi422caa4paalep4lxwoyaaaaq","_up": [
        "aeaqaaaaamhad455abcwsalep4lzf2iaaada"
    ],
    "_us": [
        "aeaqaaaaamhad455abcwsalep4lzf2aaaaeq",
        "aeaqaaaaamhad455abcwsalep4lzf2iaaada",
        "aeaqaaaaamhad455abcwsalep4lzf2iaaabq"
    ],
    "_graph": [
        "aeaqaaaaamhad455abcwsalep4lzf2iaaabq/aeaqaaaaamhad455abcwsalep4lzf2aaaaeq",
        "aeaqaaaaamhad455abcwsalep4lzf2iaaaea/aeaqaaaaamhad455abcwsalep4lzf2iaaada",
        "aeaqaaaaamhad455abcwsalep4lzf2iaaada/aeaqaaaaamhad455abcwsalep4lzf2iaaabq"
    ],
    "_uds": {
        "1": [
            "aeaqaaaaamhad455abcwsalep4lzf2iaaada"
        ],
        "2": [
            "aeaqaaaaamhad455abcwsalep4lzf2iaaabq"
        ],
        "3": [
            "aeaqaaaaamhad455abcwsalep4lzf2aaaaeq"
        ]
    },
    "_min": 1,
    "_max": 4,
    "_acd": "2022-02-10T10:01:22.118",
    "_aud": "2022-02-10T10:01:59.963",
    "_glpd": "2018-07-09T12:50:30.733",
    "_v": 3,
    "_av": 0,
    "_tenant": 3
}

4.5.1.3. Détail du JSON

La structure de la collection Unit a vocation à être composée de la transposition JSON de toutes les balises XML contenues dans la balise <DescriptiveMetadata> du bordereau de transfert conforme au standard SEDA v.2.1., c’est-à-dire toutes les balises se rapportant aux unités archivistiques.

Cette transposition se fait comme suit :

« _id » : identifiant unique de l’unité archivistique.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _og » (objectGroup): identifiant du groupe d’objets représentant cette unité archivistique.

  • Il s’agit d’une chaîne de 36 caractères correspondant au champ _id du groupe d’objets de la collection objectGroup, soit au GUID du groupe d’objets techniques.

  • Cardinalité : 0-1

« _mgt » : contient les balises contenues dans le bloc <Management> du bordereau de transfert pour cette unité archivistique (le champ peut donc être vide).

  • Cardinalité : 1-1

  • Peut être vide.

  • Il contient :

    • « NeedAuthorization » : besoin d’une autorisation humaine.

      • Il s’agit d’un booléen.

      • Cardinalité : 0-1

    • une liste de catégories de règles de gestion appliquées à cette unité archivistique.

      Les catégories pouvant être incluses dans cet objet sont, exhaustivement :

      • AccessRule (délai de communicabilité)

      • AppraisalRule (durée d’utilité administrative)

      • ClassificationRule (durée de classification)

      • DisseminationRule (durée de diffusion)

      • ReuseRule (durée de réutilisation)

      • StorageRule (durée d’utilité courante)

      • HoldRule (gel)

        Cardinalité : 0-1, pour chaque catégorie.

        Chaque catégorie peut contenir :

      • **« Rules » :**tableau de règles de gestion.

        • Il s’agit d’un tableau d’objets

        • Cardinalité : 0-1

        • Chacune des règles de ce tableau est elle-même composée de plusieurs informations :

          • « Rule » : identifiant de la règle

            • Correspond à une valeur du champ RuleId de la collection FileRules.

            • Cardinalité : 0-1

          • « StartDate » : date de début du calcul de l’échéance.

            • Il s’agit d’une date.

            • Cette date est déclarée dans le message ArchiveTransfer ou ajoutée a posteriori par une modification de l’unité archivistique.

            • Cardinalité : 0-1

          • « EndDate » : date de fin d’application de la règle.

            • Il s’agit d’une date.

            • Cette valeur est issue d’un calcul réalisé par la solution logicielle Vitam. Celui-ci consiste en l’ajout du délai correspondant à la règle dans la collection FileRules à la valeur du champ startDate (EndDate = StartDate + Durée)

            • Cardinalité : 0-1

      • Des données spécifiques aux catégories :

        • Pour les catégories « StorageRule » et « AppraisalRule » uniquement :

          • « FinalAction » : sort final des règles dans ces catégories.

            • Cardinalité : 1-1

            • La valeur contenue dans le champ peut être :

              • Pour StorageRule : « Transfer », « Copy » ou « RestrictAccess » (énumération issue du FinalActionStorageCodeType du SEDA 2.1)

              • Pour AppraisalRule : « Keep » ou « Destroy » (énumération issue du FinalActionAppraisalCodeType du SEDA 2.1)

        • Pour la catégorie ClassificationRule uniquement :

          • « ClassificationLevel » : niveau de classification.

            • Il s’agit d’une chaîne de caractères, dont les valeurs sont paramétrables au niveau de la plateforme.

            • Champ obligatoire et systématiquement renseigné

            • Cardinalité : 1-1

          • « ClassificationOwner » : propriétaire de la classification.

            • Il s’agit d’une chaîne de caractères.

            • Champ obligatoire et systématiquement renseigné

            • Cardinalité : 1-1

          • « ClassificationAudience » : permet de gérer les mentions additionnelles de limitation du champ de diffusion (exemple : « spécial France »)

            • Il s’agit d’une chaîne de caractères.

            • Champ optionnel

            • Cardinalité : 0-1

          • « ClassificationReassessingDate » : date de réévaluation de la classification.

            • Il s’agit d’une date.

            • Champ optionnel.

            • Cardinalité : 0-1

          • « NeedReassessingAuthorization » : indique si une autorisation humaine est nécessaire pour réévaluer la classification.

            • Il s’agit d’un booléen. Si la valeur est à « true », une autorisation humaine sera nécessaire pour réévaluer la classification.

            • Champoptionnel

            • Cardinalité : 0-1

        • Pour la catégorie HoldRule uniquement :

          • « HoldEndDate » : date de fin de gel.

            • Il s’agit d’une date.

            • Cardinalité : 0-1

          • « HoldOwner » : propriétaire de la règle de gel.

            • Il s’agit d’une chaîne de caractères.

            • Cardinalité : 0-1

          • « HoldReassessingDate » : date de réévaluation du gel.

            • Il s’agit d’une date.

            • Champ optionnel

            • Cardinalité : 0-1

          • « HoldReason » : raison du gel.

            • Il s’agit d’une chaîne de caractères.

            • Cardinalité : 0-1

          • « PreventRearrangement » : indique s’il est possible de déplacer une unité archivistique gelée dans une arborescence.

            • Il s’agit d’un booléen. Si la valeur est à « true », l’unité archivistique portant la règle ne pourra être reclassée.

            • Champ optionnel

            • Cardinalité : 0-1

      • Des paramètres de gestion d’héritage de règles.

        • « Inheritance »

          • Il s’agit d’un objet.

          • Cardinalité 0-1

          • Cet objet peut avoir comme valeur :

            • « PreventInheritance » : utilisé pour bloquer l’héritage de toutes les règles de gestion de la même catégorie

              • Il s’agit d’un booléen, dont la valeur peut être « true » ou « false »,

              • Cardinalité : 1-1 à partir du moment où le champ Inheritance existe

            • « PreventRulesId » : règle(s) de gestion qui ne doivent pas être héritées d’un parent.

              • Il s’agit d’un tableau d’identifiants de règles de gestion.

              • A l’entrée, il s’agit de la valeur de la balise <RefNonRuleId> du SEDA

              • Cardinalité : 1-1 à partir du moment où le champ Inheritance existe.

Extrait d’une unité archivistique ayant un bloc « _mgt » possédant des règles de gestion :

"_mgt": {
        "AppraisalRule": {
            "Rules": [
                {
                    "Rule": "APP-00001",
                    "StartDate": "2015-01-01",
                    "EndDate": "2095-01-01"
                },
                {
                    "Rule": "APP-00002"
                }
            ],
            "Inheritance": {
                "PreventInheritance": true,
                "PreventRulesId": []
            },
            "FinalAction": "Keep"
        },
        "AccessRule": {
            "Rules": [
                {
                    "Rule": "ACC-00001",
                    "StartDate": "2016-06-03",
                    "EndDate": "2016-06-03"
                }
            ]
        },
        "DisseminationRule": {
            "Inheritance": {
                "PreventInheritance": true,
                "PreventRulesId": []
            }
        },
        "ReuseRule": {
            "Inheritance": {
                "PreventRulesId": [
                    "REU-00001", "REU-00002"
                ]
            }
        },
        "ClassificationRule": {
            "ClassificationLevel": "Secret Défense",
            "ClassificationOwner": "Projet_Vitam",
            "Rules": [
                {
                    "ClassificationReassessingDate": "2025-06-03",
                    "NeedReassessingAuthorization": true,
                    "Rule": "CLASS-00001"
                }
            ]
        }
    },

« DescriptionLevel » : niveau de description archivistique de l’unité archivistique.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Title » : titre de l’unité archivistique.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1, le modèle d’une unité archivistique doit comporter au moins un champ Title

« _sps » : services producteurs auxquels l’unité archivistique a été rattachée

  • Il s’agit d’un tableau contenant les identifiants de tous les services producteurs référençant l’unité archivistique.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

  • Ne peut être vide.

  • Cardinalité : 1-1

« _opi » : identifiant de l’opération à l’origine de la création de cette unité archivistique.

  • Il s’agit d’une chaîne de 36 caractères correspondant au champ _id de la transaction.

  • Ne peut être vide.

  • Cardinalité : 1-1

« _up » (unit up): tableau recensant les _id des unités archivistiques parentes (parents immédiats).

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID. Valeur du champ _id d’une unité archivistique (ou GUID) enregistré dans la collection Unit.

  • Champ peuplé par la solution logicielle Vitam.

  • Tableau pouvant être vide.

  • Cardinalité : 1-1

« _us » : tableau contenant la parentalité, c’est-à-dire l’ensemble des unités archivistiques parentes, indexé de la manière suivante : [GUID1, GUID2…].

  • Tableau listant une à plusieurs chaînes de 36 caractères correspondant à un GUID. Valeur du champ _id d’une unité archivistique (ou GUID) enregistré dans la collection Unit.

  • Champ peuplé par la solution logicielle Vitam.

  • Tableau pouvant être vide pour l’unité archivistique racine uniquement

  • Cardinalité : 1-1

« _graph » : Tableau des chemins de l’unité archivistique

  • Il s’agit d’un tableau contenant tous les chemins pour accéder à l’unité archivistique depuis les racines. Ces chemins sont composés sous la forme id1/id2/id3/…/idn Où chaque id est un identifiant d’unité archivistique. id1 étant l’unité courante et où idn est l’identifiant de l’unité de plus haut niveau.

  • Tableau pouvant être vide.

  • Cardinalité 1-1

« _uds » : objet contenant la parentalité, c’est-à-dire l’ensemble des unités archivistiques parentes, ainsi que le niveau de profondeur relative.

  • Il s’agit d’un objet contenant une liste de tableaux JSON.

  • Ces informations sont réunies dans cet objet sous la forme de clef/valeur, la clé étant la profondeur du parent (de type entier), la valeur étant elle-même un tableau d’identifiant d’unité archivistique. Exemple d’une unité qui a un parent direct, lui-même ayant deux parents.

  • Champ peuplé par la solution logicielle Vitam.

  • Peut être vide.

  • Cardinalité : 1-1

"1": [
    "aeaqaaaaamhad455abcwsalep4lzf2iaaada"
],
"2": [
    "aeaqaaaaamhad455abcwsalep4lzf2iaaabq",
    "aeaqaaaaamhad455abcwsalep4lzf2iaaabq"
],

« _min » : profondeur minimum de l’unité archivistique par rapport à une racine.

  • Il s’agit d’un entier.

  • Calculée, cette profondeur correspond au minimum des profondeurs, quels que soient les racines concernées et les chemins possibles.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _max » : profondeur maximale de l’unité archivistique par rapport à une racine.

  • Il s’agit d’un entier.

  • Calculée, cette profondeur correspond au maximum des profondeurs, quels que soient les racines concernées et les chemins possibles.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _acd » : Date de la création de l’unité archivistique

  • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

    Exemple : 2016-08-19T16:36:07.942+02:00

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _aud » : Date de la dernière modification de l’unité archivistique

  • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

    Exemple : 2016-08-19T16:36:07.942+02:00

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _glpd » : Date de la dernière modification du graph dont l’unité dépend

  • Il s’agit d’une date au format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

    Exemple : 2016-08-19T16:36:07.942+02:00

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _av » : version atomique de l’enregistrement décrit, incrémentée automatiquement en cas de modification de tout champ de la collection.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit, incrémentée dans le seul cas de modification d’un champ descriptif.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est

    supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.5.2. Collection ObjectGroup

4.5.2.1. Utilisation de la collection ObjectGroup

La collection ObjectGroup contient les informations relatives aux groupes d’objets traités dans le module de collecte.

4.5.2.2. Exemple de JSON stocké en base

Les champs présentés dans l’exemple ci-après ne font pas état de l’exhaustivité des champs disponibles dans le SEDA. Ceux-ci sont référencés dans la documentation SEDA disponible au lien suivant : https://redirect.francearchives.fr/seda/api_v2-1/seda-2.1-main.html

{
    "_id": "aebaaaaaaafgsz3wabcugak7ube6dxyaaabq",
    "FileInfo": {
        "Filename": "1NUM_9.JPG",
        "LastModified": "2018-07-09T12:50:30.733",
    },
    "_qualifiers": [
        {
            "qualifier": "BinaryMaster",
            "versions": [
                {
                    "_id": "aeaaaaaaaafgsz3wabcugak7ube6dxyaaaba",
                    "DataObjectVersion": "BinaryMaster_1",
                    "FormatIdentification": {
                        "FormatLitteral": "JPEG File Interchange Format",
                        "MimeType": "image/jpeg",
                        "FormatId": "fmt/43"
                    },
                    "FileInfo": {
                        "Filename": "1NUM_9.JPG",
                        "LastModified": "2018-07-09T12:50:30.733",
                    },
                    "_opi": "aeeaaaaaashi422cab3gyalenej2kcyaaaaq",
                    "Size": 7702,
                    "Uri": "Content/1NUM_9.JPG",
                    "MessageDigest": "0e0cec05a1d72ee5610eaa5afbc904c012d190037cbc827d08272102cdecf0226efcad122b86e7699f767c661c9f3702379b8c2cb01c4f492f69deb200661bb9",
                    "Algorithm": "SHA-512"
                }
            ]
        }
    ],
    "_v": 1,
    "_av": 1,
    "_tenant": 0,
}

4.5.2.3. Détail des champs du JSON

« _id » : identifiant du groupe d’objets.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« FileInfo » : informations sur le fichier constituant l’objet-données numérique de référence.

  • Reprend le bloc FileInfo du BinaryMaster tel que défini par le SEDA.

  • L’objet de ce bloc est de pouvoir conserver les informations initiales du premier BinaryMaster pour en faciliter la recherche et augmenter la qualité des résultats en cas de recherche multi critères ne portant que sur les BinaryMaster.

  • Peut être vide ou contenir la valeur « null ».

  • Cardinalité : 1-1

« _qualifiers » : tableau de structures décrivant les objets inclus dans ce groupe d’objets.

  • Cardinalité : 1-1

  • Une structure est composée comme suit :

    • « qualifier » : usage de l’objet.

      • II s’agit d’une chaîne de caractères.

      • Correspond à la valeur contenue dans le champ « DataObjectVersion ». Par exemple pour « DataObjectVersion » égal à « BinaryMaster_1 », c’est la valeur « BinaryMaster » qui est reportée.

      • Cardinalité : 1-1

    • « versions » : tableau des objets par version (une version = une entrée dans le tableau).

      • « _id » : identifiant de l’objet.

        • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID, généré par la solution logicielle Vitam.

        • Cardinalité : 1-n

      • « DataObjectVersion » : version de l’objet par rapport à son usage.

        • II s’agit d’une chaîne de caractères.

        • Par exemple, si on a BinaryMaster sur l’usage, on aura au moins un objet BinaryMaster_1. Chaque ajout d’un objet du même usage incrémente de un le numéro de la version.

        • Cardinalité : 1-1

      • « FormatIdentification » : contient trois champs qui permettent d’identifier le format du fichier.

        • Une vérification de la cohérence entre ce qui est déclaré dans le XML, ce qui existe dans le référentiel PRONOM et les valeurs que porte le document est faite.

        • Cardinalité : 1-1

        • Cet objet contient les champs suivants :

          • « FormatLitteral » : nom du format.

            • C’est une reprise de la valeur située entre les balises <FormatLitteral> du message ArchiveTransfer.

            • Cardinalité : 1-1

          • « MimeType » : type Mime.

            • C’est une reprise de la valeur située entre les balises <MimeType> du message ArchiveTransfer ou des valeurs correspondant au format tel qu’identifié par la solution logicielle Vitam.

            • Cardinalité : 1-1

          • « FormatId » : PUID du format de l’objet.

            • Il est défini par la solution logicielle Vitam à l’aide du référentiel PRONOM maintenu par The National Archives (UK) et correspondant à la valeur du champ PUID de la collection FileFormat.

            • Cardinalité : 1-1

      • « FileInfo » : contient les informations sur le fichier.

        • « Filename » : nom de l’objet.

          • Ce champ est renseigné avec la métadonnée correspondant au nom du fichier

          • Cardinalité : 0-1

        • « LastModified » : date de dernière modification de l’objet.

          • Il s’agit d’une dateau format ISO 8601 YYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

            Exemple : 2016-08-19T16:36:07.942+02:00

          • Ce champ est optionnel, et est renseigné avec la métadonnée correspondante portée par le fichier.

          • Cardinalité : 0-1

      • « _opi » : identifiant de l’opération à l’origine de la création de cet objet.

        • Il s’agit d’une chaîne de 36 caractères correspondant au GUID.

        • Champ peuplé par la solution logicielle Vitam.

        • Ne peut être vide

        • Cardinalité : 1-1

      • « Size » : taille de l’objet (en octet).

        • Il s’agit d’un entier.

        • Cardinalité : 1-1

      • « Uri » : localisation du fichier correspondant à l’objet dans le SIP.

        • Chaîne de caractères

        • Cardinalité : 1-1

      • « MessageDigest » : empreinte du fichier correspondant à l’objet.

        • Il s’agit d’une chaîne de caractères.

        • La valeur est calculée par la solution logicielle Vitam.

        • Cardinalité : 1-1

      • « Algorithm » : algorithme utilisé pour réaliser l’empreinte du fichier correspondant à l’objet.

        • Chaîne de caractères

        • Cardinalité 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _av » : version atomique de l’enregistrement décrit, incrémentée automatiquement en cas de modification de tout champ de la collection.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.6. Base collect

La base collect contient la collection relative aux métadonnées correspondant au contexte de versement (collection Project) et aux transactions associées (collection Transaction) attendus dans le module de collecte.

4.6.1. Collection Project

4.6.1.1. Utilisation de la collection Project

La collection Project contient les informations relatives à l’en-tête d’un bordereau de transfert, soit des métadonnées permettant de contextualiser un versement.

4.6.1.2. Exemple de JSON stocké dans la collection Project

Les champs présentés dans l’exemple ci-après ne font pas état de l’exhaustivité des champs disponibles dans le SEDA. Ceux-ci sont référencés dans la documentation SEDA disponible au lien suivant : https://redirect.francearchives.fr/seda/api_v2-1/seda-2.1-main.html et https://github.com/culturecommunication/seda

{
    "_id": "aeeaaaaaaghj3m7nabjocamcdqvqqviaaaaq",
    "context": {
        "ArchivalAgreement": "IC-000001",
        "MessageIdentifier": "20200131-000013",
        "ArchivalAgencyIdentifier": "Vitam",
        "TransferringAgencyIdentifier": "RATP",
        "OriginatingAgencyIdentifier": "RATP",
        "SubmissionAgencyIdentifier": "RATP",
        "Comment": "SG - bureautique",
        "UnitUp": "aeaqaaaaaehedmpfaay5gambwxsspviaaaba",
        "CreationDate": "2022-08-23T09:05:52.242",
        "LastUpdate": "2022-08-23T09:05:52.242",
        "Status": "OPEN"
    },
    "_tenant": 1
}

4.6.1.3. Détail du JSON

La structure de la collection Project est composée de la transposition JSON des balises XML de premier niveau du message « ArchiveTransfer », ainsi que des balises contenues dans la balise <ManagementMetadata> du bordereau de transfert conforme au standard SEDA v.2.1. et v.2.2.

Cette transposition se fait comme suit :

« _id » : identifiant unique de la partie contextuelle du versement.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« context » : contexte détaillé du projet de versement.

  • Il s’agit d’un objet.

  • Cardinalité : 1-1

  • Cet objet peut contenir les champs suivants :

    • « ArchivalAgreement » : identifiant du contrat d’entrée utilisé pour réaliser l’entrée.

      • Il s’agit d’une chaîne de caractères.

      • Destiné à alimenter le champ ArchivalAgreement du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « MessageIdentifier » : identifiant du lot d’objets, utilisé pour identifier les versements.

      • Il s’agit d’une chaîne de caractères intelligible pour un humain qui permet de comprendre à quel SIP ou quel lot d’archives se rapporte l’événement.

      • Destiné à alimenter le champ MessageIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « ArchivalAgencyIdentifier » : identifiant du service d’archivage.

      • Il s’agit d’une chaîne de caractères.

      • Destiné à alimenter le champ ArchivalAgencyIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « TransferringAgencyIdentifier » : identifiant du service de transfert.

      • Il s’agit d’une chaîne de caractères.

      • Destiné à alimenter le champ TransferringAgencyIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « OriginatingAgencyIdentifier » : identifiant du service producteur.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ OriginatingAgencyIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « SubmissionAgencyIdentifier » : identifiant du service versant.

      • Il s’agit d’une chaîne de caractères.

      • Destiné à alimenter le champ SubmissionAgencyIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

      • Ce champ est facultatif dans le bordereau. S’il est absent ou vide, alors la valeur contenue dans le champ <OriginatingAgencyIdentifier> est reportée dans ce champ.

    • « ArchivalProfile » : identifiant du profil d’archivage utilisé pour réaliser l’entrée.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ ArchivalProfile du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « Comment » : précisions sur la demande de transfert.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ Comment du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « LegalStatus » : statut légal des archives.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ LegalStatus du message ArchiveTransfer.

      • Si le champ est renseigné, les valeurs attendues sont : « Public Archive », « Private Archive », « Public and Private Archive ».

      • Cardinalité : 0-1

    • « AcquisitionInformation » : modalité d’entrée.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ AcquisitionInformation du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « UnitUp » : identifiant de l’unité archivistique à laquelle rattacher automatiquement la ou les unités racines des transactions associées au projet de versement.

      • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID. Valeur du champ _id d’une unité archivistique (ou GUID) enregistré dans la collection Unit.

      • Cardinalité : 0-1

    • « Status » : statut de la transaction

      • Il s’agit d’une chaîne de caractères.

      • Les valeurs peuvent être : « OPEN ».

      • Cardinalité : 1-1

    • « CreationDate » : date de création du projet de versement.

      • Champ peuplé par la solution logicielle Vitam.

      • Cardinalité : 1-1

    • « LastUpdate » : date de dernière modification du projet de versement.

      • Champ peuplé par la solution logicielle Vitam.

      • Cardinalité : 1-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.6.2. Collection Transaction

4.6.2.1. Utilisation de la collection Transaction

La collection Transaction contient les informations relatives à l’en-tête d’un bordereau de transfert, soit des métadonnées permettant de contextualiser un versement, héritées pour tout ou partie d’un projet de versement.

4.6.2.2. Exemple de JSON stocké dans la collection Transaction

Les champs présentés dans l’exemple ci-après ne font pas état de l’exhaustivité des champs disponibles dans le SEDA. Ceux-ci sont référencés dans la documentation SEDA disponible au lien suivant : https://redirect.francearchives.fr/seda/api_v2-1/seda-2.1-main.html et https://github.com/culturecommunication/seda

{
    "_id": "aeeaaaaaaghh6yjtab2dsamcqhhpdqiaaaaq",
    "Status": "OPEN",
    "ProjectId": "aeeaaaaaaghh6yjtab2dsamcqhho5jaaaaaq",
    "context": {
        "ArchivalAgreement": "IC-000001",
        "MessageIdentifier": "20220302-000005",
        "ArchivalAgencyIdentifier": "Identifier0",
        "TransferingAgencyIdentifier": "Identifier3",
        "OriginatingAgencyIdentifier": "FRAN_NP_009915",
        "SubmissionAgencyIdentifier": "FRAN_NP_005061",
        "ArchivalProfile": "ArchiveProfile5",
        "Comment": "Versement du service producteur : Cabinet de Michel Mercier",
        "UnitUp": "aeaqaaaaaahgnz5dabg42amava5kfoqaaaba",
		"CreationDate": "2022-08-23T09:05:52.242",
        "LastUpdate": "2022-08-23T09:05:52.242"
    },
    "_tenant": 1
}

4.6.2.3. Détail du JSON

La structure de la collection Transaction est composée de la transposition JSON des balises XML de premier niveau du message « ArchiveTransfer », ainsi que des balises contenues dans la balise <ManagementMetadata> du bordereau de transfert conforme au standard SEDA v.2.1. et v.2.2.

Cette transposition se fait comme suit :

« _id » : identifiant unique de la partie contextuelle du versement.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« ProjectId » : identifiant du projet de versement associé à la transaction.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Cardinalité : 1-1

« context » : contexte détaillé hérité du projet de versement.

  • Il s’agit d’un objet.

  • Cardinalité : 1-1

  • Cet objet peut contenir les champs suivants :

    • « ArchivalAgreement » : identifiant du contrat d’entrée utilisé pour réaliser l’entrée.

      • Il s’agit d’une chaîne de caractères.

      • Destiné à alimenter le champ ArchivalAgreement du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « MessageIdentifier » : identifiant du lot d’objets, utilisé pour identifier les versements.

      • Il s’agit d’une chaîne de caractères intelligible pour un humain qui permet de comprendre à quel SIP ou quel lot d’archives se rapporte l’événement.

      • Destiné à alimenter le champ MessageIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « ArchivalAgencyIdentifier » : identifiant du service d’archivage.

      • Il s’agit d’une chaîne de caractères.

      • Destiné à alimenter le champ ArchivalAgencyIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « TransferringAgencyIdentifier » : identifiant du service de transfert.

      • Il s’agit d’une chaîne de caractères.

      • Destiné à alimenter le champ TransferringAgencyIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « OriginatingAgencyIdentifier » : identifiant du service producteur.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ OriginatingAgencyIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « SubmissionAgencyIdentifier » : identifiant du service versant.

      • Il s’agit d’une chaîne de caractères.

      • Destiné à alimenter le champ SubmissionAgencyIdentifier du message ArchiveTransfer.

      • Cardinalité : 0-1

      • Ce champ est facultatif dans le bordereau. S’il est absent ou vide, alors la valeur contenue dans le champ <OriginatingAgencyIdentifier> est reportée dans ce champ.

    • « ArchivalProfile » : identifiant du profil d’archivage utilisé pour réaliser l’entrée.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ ArchivalProfile du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « Comment » : précisions sur la demande de transfert.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ Comment du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « LegalStatus » : statut légal des archives.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ LegalStatus du message ArchiveTransfer.

      • Si le champ est renseigné, les valeurs attendues sont : « Public Archive », « Private Archive », « Public and Private Archive ».

      • Cardinalité : 0-1

    • « AcquisitionInformation » : modalité d’entrée.

      • Il s’agit d’une chaîne de caractères

      • Destiné à alimenter le champ AcquisitionInformation du message ArchiveTransfer.

      • Cardinalité : 0-1

    • « UnitUp » : identifiant de l’unité archivistique à laquelle rattacher automatiquement la ou les unités racines des transactions associées au projet de versement.

      • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID. Valeur du champ _id d’une unité archivistique (ou GUID) enregistré dans la collection Unit.

      • Cardinalité : 0-1

    • « CreationDate » : date de création de la transaction.

      • Champ peuplé par la solution logicielle Vitam.

      • Cardinalité : 1-1

    • « LastUpdate » : date de dernière modification de la transaction.

      • Champ peuplé par la solution logicielle Vitam.

      • Cardinalité : 1-1

« Status » : statut de la transaction

  • Il s’agit d’une chaîne de caractères.

  • Les valeurs peuvent être : « OPEN », « CLOSE », « SEND », « WAITING_ACK », « ACK_OK », « ACK_KO ».

  • Cardinalité : 1-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.7. Base MasterData

La base Masterdata contient les collections relatives aux référentiels utilisés par la solution logicielle Vitam. Ceux-ci sont :

  • AccessContract

  • AccessionRegisterDetail

  • AccessionRegisterSummary

  • AccessionRegisterSymbolic

  • Agencies

  • ArchiveUnitProfile

  • Context

  • FileFormat

  • FileRules

  • Griffin

  • IngestContract

  • ManagementContract

  • Ontology

  • PreservationScenario

  • Profile

  • SecurityProfile

  • VitamSequence

Certaines collections sont enregistrées sur un tenant et utilisables pour tous les tenants. Elles sont qualifiées de « Cross-tenant ». Il s’agit des collections suivantes :

  • Context

  • FileFormat

  • Griffin

  • Ontology

  • SecurityProfile

Elles sont enregistrées sur le tenant d’administration.

4.7.1. Collection AccessContract

4.7.1.1. Utilisation de la collection AccessContract

La collection AccessContract permet de référencer et de décrire unitairement les contrats d’accès.

4.7.1.2. Exemple d’un fichier d’import de contrat d’accès

Les contrats d’accès sont importés dans la solution logicielle Vitam sous la forme d’un fichier JSON.

[
  {
      "Name": "ContratTNR",
      "Identifier": "AC-000034",
      "Description": "Contrat permettant de faire des opérations pour tous les services producteurs et sur tous les usages",
      "Status": "ACTIVE",
      "CreationDate": "2016-12-10T00:00:00.000",
      "LastUpdate": "2017-11-07T07:57:10.581",
      "ActivationDate": "2016-12-10T00:00:00.000",
      "DeactivationDate": "2016-12-10T00:00:00.000",
      "DataObjectVersion": [
          "PhysicalMaster",
          "BinaryMaster",
          "Dissemination",
          "Thumbnail",
          "TextContent"
      ],
      "WritingPermission": true,
      "EveryOriginatingAgency": true,
      "EveryDataObjectVersion": false
  }
]

Les champs à renseigner obligatoirement à la création d’un contrat sont :

  • Name

  • Identifier (selon la configuration du tenant : Identifier n’est obligatoire que si l’identifiant du contrat d’accès n’est pas généré par la solution logicielle Vitam)

Un fichier d’import peut décrire plusieurs contrats.

#### Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection AccesContract

{
    "_id": "aefqaaaabahcd5ayaabdaaljtkulb2aaaaaq",
    "Name": "Contrat d'accès - Vitam",
    "Identifier": "AC-000001",
    "Description": "Contrat permettant de faire des opérations pour tous les services producteurs et sur tous les usages",
    "Status": "ACTIVE",
    "CreationDate": "1976-02-12T00:00:00.000",
    "LastUpdate": "2019-04-09T12:16:19.997",
    "ActivationDate": "2019-03-20T10:32:20.451",
    "WritingPermission": true,
    "WritingRestrictedDesc": true,
    "EveryOriginatingAgency": false,
    "EveryDataObjectVersion": false,
    "AccessLog": "ACTIVE",
    "_tenant": 8,
    "_v": 6,
    "OriginatingAgencies": [
        "FRAN_NP_051587_elim"
    ],
    "DataObjectVersion": [
        "BinaryMaster",
        "Thumbnail"
    ],
    "RootUnits": [
        "aeaqaaaabahf4qxrab4cialj7trrxzaaaaaq"
    ],
    "ExcludedRootUnits": [
        "aeaqaaaabahf4qxrab4cialj7trrxzaaaaaq"
    ]
}

4.7.1.3. Détail des champs

« _id » : identifiant unique du contrat pour un tenant donné.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    « Name » : nom du contrat d’accès.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant donné au contrat.

  • Il est constitué du préfixe « AC- » suivi d’une suite de 6 chiffres s’il est peuplé par la solution logicielle Vitam. Par exemple : AC-001223. Si le référentiel est en position esclave, cet identifiant peut être géré par l’application à l’origine du contrat et est unique sur le tenant.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Description » : description du contrat d’accès.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« Status » : statut du contrat.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeur : « ACTIVE » ou « INACTIVE ».

  • Cardinalité : 1-1

« CreationDate » : date de création du contrat.

  • La date est au format ISO 8601 et prend la forme suivante :

    "CreationDate": "2017-04-10T11:30:33.798"

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« LastUpdate » : date de dernière mise à jour du contrat

  • La date est au format ISO 8601 et prend la forme suivante :

    "LastUpdate": "2017-04-10T11:30:33.798"

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« ActivationDate » : date d’activation du contrat.

  • La date est au format ISO 8601 et prend la forme suivante :

    "ActivationDate": "2017-04-10T11:30:33.798"

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« DeactivationDate » : date de désactivation du contrat.

  • La date est au format ISO 8601 et prend la forme suivante :

    "DeactivationDate": "2017-04-10T11:30:33.798"

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« DataObjectVersion » : type d’usages des groupes d’objets auxquels le détenteur du contrat a accès.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Peut avoir comme valeur : « PhysicalMaster », « BinaryMaster », « Dissemination », « Thumbnail », « TextContent ».

  • Peut être vide.

  • Cardinalité : 0-1

« OriginatingAgencies » : services producteurs dont le détenteur du contrat peut consulter les archives.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

  • Peut être vide.

  • Cardinalité : 0-1

« WritingPermission » : droit d’écriture.

  • Il s’agit d’un booléen. Si la valeur est à « true », le détenteur du contrat peut effectuer des mises à jour.

  • Cardinalité : 1-1

« WritingRestrictedDesc » : droit de modification des métadonnées descriptives seulement.

  • Il s’agit d’un booléen. Si la valeur est à « true », le détenteur du contrat peut effectuer des mises à jour seulement sur les métadonnées descriptives. Si la valeur est à « false », le détenteur du contrat peut effectuer des mises à jour sur les métadonnées descriptives, ainsi que sur les métadonnées de gestion.

  • Cardinalité : 1-1

« EveryOriginatingAgency » : droit de consultation sur tous les services producteurs.

  • Il s’agit d’un booléen.

  • Si la valeur est à « true », alors le détenteur du contrat peut accéder aux archives de tous les services producteurs.

  • Cardinalité : 1-1

« EveryDataObjectVersion » : droit de consultation sur tous les usages.

  • Il s’agit d’un booléen.

  • Si la valeur est à « true », alors le détenteur du contrat peut accéder à tous les types d’usages.

  • Cardinalité : 1-1

« AccessLog » : enregistrement des accès.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeur : « ACTIVE » ou « INACTIVE »

  • Si la valeur est à « ACTIVE », alors les téléchargements des objets sont enregistrés dans un fichier de log

  • Cardinalité : 1-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

« RootUnits » : Liste des nœuds de consultation auxquels le détenteur du contrat a accès.

  • Si aucun nœud n’est spécifié, alors l’utilisateur a accès à tous les nœuds.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Peut être vide.

  • Cardinalité : 0-1

« ExcludedRootUnits » : Liste des nœuds de consultation à partir desquels le détenteur du contrat n’a pas accès.

  • Si aucun nœud n’est spécifié, alors l’utilisateur a accès à tous les nœuds.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Peut être vide.

  • Cardinalité : 0-1

    « RuleCategoryToFilter » : Liste de catégories de règles pour lesquelles le détenteur du contrat n’a pas accès si ces règles ne sont pas échues.

  • Si aucune catégorie de règle n’est spécifiée, alors l’utilisateur a accès à toutes les archives, que leurs règles de gestion soient échues ou non.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Peut être vide.

  • Cardinalité : 0-1

4.7.2. Collection AccessionRegisterDetail

4.7.2.1. Utilisation de la collection AccessionRegisterDetail

Cette collection a pour vocation de référencer l’ensemble des informations sur les opérations d’entrée ou de préservation réalisées pour un service producteur. À ce jour, il y a autant d’enregistrements que d’opérations d’entrées effectuées pour ce service producteur, ainsi que des enregistrements liés à la préservation. Cette collection reprend les éléments du bordereau de transfert, ainsi que les éléments correspondant à des opérations d’élimination, de transfert ou de préservation et de suppression de versions d’objets.

4.7.2.2. Exemple de la description dans le XML d’entrée

Les seuls éléments issus du message ArchiveTransfer utilisés ici sont ceux correspondant à la déclaration des identifiants du service producteur et du service versant. Ils sont placés dans le bloc <ManagementMetadata>

<ManagementMetadata>
         <OriginatingAgencyIdentifier>FRAN_NP_051314</OriginatingAgencyIdentifier>
         <SubmissionAgencyIdentifier>FRAN_NP_005761</SubmissionAgencyIdentifier>
</ManagementMetadata>

4.7.2.3. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    "_id": "aehaaaaaa4haffe6ab7yialiplg6plqaaaaq",
    "ObjectSize": {
        "ingested": 77256,
        "deleted": 77256,
        "remained": 0
    },
    "OriginatingAgency": "Vitam",
    "SubmissionAgency": "Vitam",
    "ArchivalAgreement": "IC-000001",
    "EndDate": "2019-01-23T13:02:21.102",
    "StartDate": "2019-01-23T13:02:21.102",
    "LastUpdate": "2019-01-23T13:12:24.200",
    "Status": "UNSTORED",
    "TotalObjectGroups": {
        "ingested": 2,
        "deleted": 2,
        "remained": 0
    },
    "TotalUnits": {
        "ingested": 3,
        "deleted": 3,
        "remained": 0
    },
    "TotalObjects": {
        "ingested": 2,
        "deleted": 2,
        "remained": 0
    },
    "Opc": "aeeaaaaaa6hfj4pcaaot2aliplg3kkiaaaaq",
    "Opi": "aeeaaaaaa6hfj4pcaaot2aliplg3kkiaaaaq",
    "OpType": "INGEST",
    "Events": [
        {
            "Opc": "aeeaaaaaa6hfj4pcaaot2aliplg3kkiaaaaq",
            "OpType": "INGEST",
            "Gots": 2,
            "Units": 3,
            "Objects": 2,
            "ObjSize": 77256,
            "CreationDate": "2019-01-23T13:02:21.102"
        },
        {
            "Opc": "aeeaaaaaa6hfj4pcaafkkalipllqjxiaaaaq",
            "OpType": "ELIMINATION",
            "Gots": -2,
            "Units": -3,
            "Objects": -2,
            "ObjSize": -77256,
            "CreationDate": "2019-01-23T13:12:24.200"
        }
    ],
    "OperationIds": [
        "aeeaaaaaa6hfj4pcaaot2aliplg3kkiaaaaq"
    ],
    "obIdIn": "Préfecture de police : archives bureautiques.",
    "Comment": [
        "Arborescence bureautique émanant de la Préfecture de police et produite entre 1990 et 2000. Le fonds est clos."
    ],
    "_tenant": 7,
    "_v": 1
}

4.7.2.4. Détail des champs

« _id » : identifiant unique.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« ObjectSize » : Contient la répartition du volume total des fichiers du fonds par état pour l’opération journalisée (ingested, deleted et remained) :

  • « ingested » : volume en octet des fichiers pris en charge dans le cadre de l’enregistrement concerné. La valeur contenue dans le champ est un entier.

  • « deleted » : volume en octet des fichiers supprimés ou sortis du système pour l’enregistrement concerné. La valeur contenue dans ce champ est un entier.

  • « remained » : volume en octet des fichiers conservés dans le système pour l’enregistrement concerné. La valeur contenue dans ce champ est un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« OriginatingAgency » : identifiant du service producteur.

  • Il reprend la valeur du champ <OriginatinAgencyIdentifier> du manifeste

  • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

Par exemple :

<OriginatingAgencyIdentifier>FRAN_NP_051314</OriginatingAgencyIdentifier>

On récupère la valeur FRAN_NP_051314

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« SubmissionAgency » : contient l’identifiant du service versant.

  • Il reprend la valeur du champ <SubmissionAgencyIdentifier> du manifeste

  • Correspond à une valeur valide du champ « Identifier » de la collection Agencies.

Par exemple

<SubmissionAgencyIdentifier>FRAN_NP_005761</SubmissionAgencyIdentifier>

On récupère la valeur FRAN_NP_005761.

  • Il s’agit d’une chaîne de caractère.

  • Cardinalité : 1-1

Ce champ est facultatif dans le bordereau. S’il” est absente ou vide, alors la valeur contenue dans le champ <OriginatingAgencyIdentifier> est reportée dans ce champ.

« ArchivalAgreement » :

  • Contient le contrat d’entrée utilisé pour réaliser l’entrée.

  • Il reprend la valeur du champ <ArchivalAgreement> du manifeste

  • Uniquement présent pour les enregistrements de type « INGEST »

  • Il correspond à une valeur valide du champ « Identifier » de la collection IngestContract.

Par exemple pour

<ArchivalAgreement>IC-000001</ArchivalAgreement>

On récupère la valeur IC-000001.

  • Il s’agit d’une chaîne de caractère.

  • Cardinalité : 1-1

« AcquisitionInformation » :

  • Contient les modalités d’entrée des archives

  • Il reprend la valeur du champ <AcquisitionInformation> du manifeste

  • Uniquement présent pour les enregistrements de type « INGEST »

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« LegalStatus » :

  • Contient le statut juridique des archives échangés

  • Il reprend la valeur du champ <LegalStatus> du manifeste

  • Uniquement présent pour les enregistrements de type « INGEST »

  • Cardinalité : 0-1

« ArchiveProfile » :

  • Contient l’identifiant du profil d’archivage utilisé

  • Il reprend la valeur du champ <ArchiveProfile> du manifeste

  • Uniquement présent pour les enregistrements de type « INGEST »

  • Cardinalité : 0-1

« EndDate » : date de la dernière opération d’entrée pour l’enregistrement concerné.

  • La date est au format ISO 8601

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    "EndDate": "2017-04-10T11:30:33.798"

« StartDate » : date de la première opération d’entrée pour l’enregistrement concerné.

  • La date est au format ISO 8601

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    "StartDate": "2017-04-10T11:30:33.798"

« LastUpdate » : Date de la dernière mise à jour pour l’enregistrement concerné.

  • La date est au format ISO 8601

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    "LastUpdate": "2017-04-10T11:30:33.798"

« Status » : état des archives concernées par l’enregistrement.

  • Il s’agit d’une chaîne de caractères

  • Peut avoir comme valeur : STORED_AND_COMPLETED, STORED_AND_UPDATED, UNSTORED

  • Champ peuplé par Vitam.

  • Cardinalité : 1-1

« TotalObjectGroups » : Contient la répartition du nombre de groupes d’objets du fonds par état pour l’opération journalisée (ingested, deleted et remained) :

  • « ingested » : nombre de groupes d’objets pris en charge dans le cadre de l’enregistrement concerné. La valeur contenue dans le champ est un entier.

  • « deleted » : nombre de groupes d’objets supprimés ou sortis du système pour l’enregistrement concerné. La valeur contenue dans ce champ est un entier.

  • « remained » : nombre de groupes d’objets conservés dans le système pour l’enregistrement concerné. La valeur contenue dans ce champ est un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« TotalUnits » : Il contient la répartition du nombre d’unités archivistiques du fonds par état pour l’opération journalisée :

  • « ingested » : nombre d’unités archivistiques prises en charge dans le cadre de l’enregistrement concerné. La valeur contenue dans le champ est un entier.

  • « deleted » : nombre d’unités archivistiques supprimées ou sorties du système pour l’enregistrement concerné. La valeur contenue dans ce champ est un entier.

  • « remained » : nombre d’unités archivistiques conservées dans le système pour l’enregistrement concerné. La valeur contenue dans ce champ est un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« TotalObjects » : Contient la répartition du nombre d’objets du fonds par état pour l’opération journalisée :

  • « ingested » : nombre d’objets pris en charge dans le cadre de l’enregistrement concerné. La valeur contenue dans le champ est un entier.

  • « deleted » : nombre d’objets supprimés ou sorties du système pour l’enregistrement concerné. La valeur contenue dans ce champ est un entier.

  • « remained » : nombre d’objets conservés dans le système pour l’enregistrement concerné. La valeur contenue dans ce champ est un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    « Opc » : identifiant d’une opération courante

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Il s’agit soit de l’identifiant de l’opération ayant provoqué la prise en charge dans le système des archives recensées dans ce détail du registre des fonds, soit d’une opération ayant modifié le fonds d’une opération d’ingest (Exemple : l’opération de l’élimination) ou de préservation.

  • Opc peut être égal à :

    • l’id de l’opération d’ingest dans le cas d’un ingest,

    • l’id de l’opération d’élimination dans le cas d’une élimination,

    • l’id de l’opération de transfert dans le cas d’un transfert,

    • l’id de l’opération de préservation dans le cas d’une préservation,

  • l’id de l’opération de suppression de versions d’objets dans le cas d’une suppression d’objets

  • Cardinalité 1-1

« Opi » : identifiant de l’opération d’entrée ou de préservation ayant provoqué la prise en charge dans le système des archives recensées dans ce détail du registre des fonds

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Dans le cas de SIP faisant des rattachements (par exemple une nouvelle unité archivistique à une unité archivistique existante), il s’agira toujours de l’identifiant de l’opération de l’entrée en cours (celle générant ces documents Mongo)

  • Cardinalité 1-1

« OpType » : type d’opération ayant provoqué la création de l’enregistrement (INGEST, PRESERVATION)

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité 1-1

« Events » : les détails des registres des fonds ayant modifié un lot d’ingest existant ou un lot préservé.

  • Le premier événement contient les remained de l’opération d’ingest ou de préservation.

  • Les événements suivants concernent les opérations ayant modifié :

    • un lot d’ingest existant (Elimination, Transfer…)

    • un lot préservé (Delete_Got_Versions)

  • Cardinalité : 1-n

« Events.Opc » : identifiant de l’opération courante.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Opc peut être égal à :

    • l’id de l’opération d’ingest dans le cas d’un ingest,

    • l’id de l’opération d’élimination dans le cas d’une élimination,

    • l’id de l’opération de transfert dans le cas d’un transfert,

    • l’id de l’opération de préservation dans le cas d’une préservation,

    • l’id de l’opération de suppression de versions d’objets dans le cas d’une suppression d’objets

  • Cardinalité : 1-1

« Events.OpType » : Le type de l’opération (INGEST, ELIMINATION,TRANSFER_REPLY, PRESERVATION, DELETE_GOT_VERSIONS)

  • Il s’agit d’une chaîne de caractères.

  • OpType peut être égal à :

    • pour un enregistrement de type « INGEST » :

      • INGEST dans le cas d’un ingest,

      • ELIMINATION dans le cas d’une opération d’élimination,

      • TRANSFER_REPLY dans le cas d’une opération de transfert,

    • pour un enregistrement de type « PRESERVATION » :

      • PRESERVATION dans le cas d’une opération de préservation,

      • DELETE_GOT_VERSIONS dans le cas d’une opération de suppression de versions d’objets.

  • Cardinalité : 1-1

« Events.Gots » : Nombre total de groupe d’objets impactés par l’opération de l’événement

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

« Events.Units » : Nombre total d’unités archivistiques impactées par l’opération de l’événement

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

« Events.Objects » : Nombre total d’objets impactés par l’opération de l’événement

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

« Events.ObjSize » : Le poids total de tous les objets impactés par l’opération de l’événement.

  • Il s’agit d’un entier.

  • Dans le cas d’un ingest, opc égale à l’id de l’opération d’ingest.

  • Cardinalité : 1-1

« Events.CreationDate » : La date de l’évenement.

  • La date est au format ISO 8601

  • Cardinalité : 1-1

« OperationIds » : opérations d’entrée concernées

  • Il s’agit d’un tableau.

  • Ne peut être vide

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-n

« ObIdIn » : identifiant externe du lot d’objets auquel s’applique l’opération, utilisé pour les opérations d’entrée.

  • Il s’agit d’une chaîne de caractères intelligible pour un humain qui permet de comprendre à quel SIP ou quel lot d’archives se rapporte l’événement.

  • Il reprend la valeur du champ <MessageIdentifier> du manifeste.

  • Ne peut être vide.

  • Uniquement présent pour les enregistrements de type « INGEST »

  • Cardinalité : 1-1

« Comment » : précisions sur la demande de transfert.

  • Il s’agit d’un tableau.

  • Il reprend la valeur du champ <Comment> du manifeste.

  • Uniquement présent pour les enregistrements de type « INGEST »

  • Cardinalité : 0-n

« _tenant » : correspondant à l’identifiant du tenant.

  • Il s’agit d’une chaîne de caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

4.7.3. Collection AccessionRegisterSummary

4.7.3.1. Utilisation de la collection

Cette collection contient une vue macroscopique des fonds pris en charge dans la solution logicielle Vitam. Chaque service producteur possède un et un seul document le concernant dans cette collection. Ce document est calculé à partir des données enregistrées dans la collection AccessionRegisterDetail pour ce service producteur.

4.7.3.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    "_id": "aefaaaaaaahlpvjiaablwalj7y632fyaaaaq",
    "OriginatingAgency": "FRAN_NP_009913",
    "TotalObjects": {
        "ingested": 71,
        "deleted": 0,
        "remained": 71
    },
    "TotalObjectGroups": {
        "ingested": 68,
        "deleted": 0,
        "remained": 68
    },
    "TotalUnits": {
        "ingested": 205,
        "deleted": 0,
        "remained": 205
    },
    "ObjectSize": {
        "ingested": 2406907,
        "deleted": 0,
        "remained": 2406907
    },
    "CreationDate": "2019-04-08T18:37:32.823",
    "_v": 25,
    "_tenant": 0
}

4.7.3.3. Détail des champs

« _id » : identifiant unique du fonds.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« OriginatingAgency » : identifiant d’un service producteur.

  • la valeur de ce champ est une chaîne de caractères.

  • Ce champ est la clef primaire pour un enregistrement dans le registre des fonds. Il permet l’agrégation de tous les documents de la collection AccessionRegisterDetail pour ce service producteur. Cette valeur correspond nécessairement à une valeur valide du champ « Identifier » de la collection Agencies.

  • Cardinalité : 1-1

« TotalObjects » : Contient la répartition du nombre d’objets du service producteur par état

  • « ingested » : nombre total d’objets pris en charge dans le système pour ce service producteur. La valeur contenue dans ce champ est un entier.

  • « deleted » : nombre d’objets supprimés ou sortis du système. La valeur contenue dans ce champ est un entier.

  • « remained » : nombre actualisé d’objets conservés dans le système. La valeur contenue dans ce champ est un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« TotalObjectGroups » : Contient la répartition du nombre de groupes d’objets du service producteur par état

  • « ingested » : nombre total de groupes d’objets pris en charge dans le système pour ce service producteur. La valeur contenue dans le champ est un entier.

  • « deleted » : nombre de groupes d’objets supprimés ou sortis du système. La valeur contenue dans ce champ est un entier.

  • « remained » : nombre actualisé de groupes d’objets conservés dans le système. La valeur contenue dans ce champ est un entier.

  • Il s’agit d’un JSON

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« TotalUnits » : Contient la répartition du nombre d’unités archivistiques du service producteur par état.

  • « ingested » : nombre total d’unités archivistiques prises en charge dans le système pour ce service producteur. La valeur contenue dans le champ est un entier.

  • « deleted » : nombre d’unités archivistiques supprimées ou sorties du système. La valeur contenue dans ce champ est un entier.

  • « remained » : nombre actualisé d’unités archivistiques conservées. La valeur contenue dans ce champ est un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« ObjectSize » : Contient la répartition du volume total des fichiers du service producteur par état.

  • « ingested » : volume total en octet des fichiers pris en charge dans le système pour ce service producteur. La valeur contenue dans le champ est un entier.

  • « deleted » : volume total en octet des fichiers supprimés ou sortis du système. La valeur contenue dans ce champ est un entier.

  • « remained » : volume actualisé en octet des fichiers conservés dans le système. La valeur contenue dans ce champ est un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« CreationDate » : Date du dernier calcul de ce document dans la collection.

  • La date est au format ISO 8601

  • Cardinalité : 1-1

    "CreationDate": "2017-04-10T11:30:33.798"

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

« _tenant » : correspondant à l’identifiant du tenant.

  • Il s’agit d’une chaîne de caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.7.4. Collection AccessionRegisterSymbolic

4.7.4.1. Utilisation de la collection

Cette collection contient une vue macroscopique des fonds relatifs aux services producteurs symboliques. Ces documents sont calculés périodiquement à partir des métadonnées renseignées dans les unités archivistiques et les groupes d’objets.

Chaque document représente un instantané (snapshot) du stock symbolique pour un producteur, conservé pour l’historisation des fonds de ce dernier. Un nouveau document est donc créé à chaque fois que le registre des fonds symboliques est calculé.

{
    "_id": "aefaaaaaaae2tauiaak6ualgbn5dp5aaaaaq",
    "CreationDate": "2018-09-24T14:07:31.053",
    "_tenant": 0,
    "OriginatingAgency": "RATP",
    "ArchiveUnit": 1,
    "ObjectGroup": 1,
    "BinaryObject": 1,
    "BinaryObjectSize": 6,
    "_v": 0
}

4.7.4.2. Détail des champs

« _id » : identifiant unique du fonds.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« CreationDate » : Date de calcul de ce document.

  • La date est au format ISO 8601

  • Cardinalité : 1-1

    Exemple : "CreationDate": "2017-04-10T11:30:33.798"

« OriginatingAgency » : identifiant du service producteur symbolique.

  • La valeur de ce champ est une chaîne de caractères.

  • Cardinalité : 1-1

« ArchiveUnit » : Nombre actualisé d’unités archivistiques conservées.

  • Il s’agit d’un entier

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« ObjectGroup » : Nombre actualisé de groupes d’objets conservés dans le système.

  • Il s’agit d’un JSON

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 0-1

« BinaryObject » : nombre actualisé d’objets conservés dans le système.

  • Il s’agit d’un entier

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 0-1

« BinaryObjectSize » : Volume actualisé en octet des fichiers conservés dans le système. La valeur contenue dans ce champ est un entier.

  • Il s’agit d’un entier

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 0-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement. Un document dans le registre des fonds symbolique n’est pas censé être modifié et donc avoir une version supérieure à 0

  • Cardinalité : 1-1

« _tenant » : correspondant à l’identifiant du tenant.

  • Il s’agit d’une chaîne de caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.7.5. Collection ArchiveUnitProfile

4.7.5.1. Utilisation de la collection

La collection ArchiveUnitProfile permet de référencer et décrire unitairement les profils d’unité archivistique.

4.7.5.2. Exemple d’un fichier d’import de profils d’unité archivistique

Les profils d’unité archivistique sont importés dans la solution logicielle Vitam sous la forme d’un fichier JSON.

{
    "Name":"Facture",
    "Description":"profil d'unité archivistique d''une facture associée à un dossier de marché",
    "Identifier":"AUP_IDENTIFIER_0",
    "Status":"ACTIVE",
    "ControlSchema":"{}",
    "LastUpdate":"10/12/2016",
    "CreationDate":"10/12/2016",
    "ActivationDate":"10/12/2016",
    "DeactivationDate":"10/12/2016"
}

Les champs à renseigner obligatoirement à l’import d’un profil d’unité archivistique sont :

  • Name

  • Description

  • ControlSchema (même si le champ est vide)

Un fichier JSON peut décrire plusieurs profils d’unité archivistique.

4.7.5.3. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection ArchiveUnitProfile

{
  "_id": "aegaaaaabmhdh434aapnqalcd7mufiyaaaaq",
  "Identifier": "AUP_IDENTIFIER_0",
  "Name":"Facture",
  "Description":"profil d'unité archivistique d''une facture associée à un dossier de marché",
  "Status":"ACTIVE",
  "ControlSchema":"{}",
  "Fields":[],
  "LastUpdate":"10/12/2016",
  "CreationDate":"10/12/2016",
  "ActivationDate":"10/12/2016",
  "DeactivationDate":"10/12/2016"
  "_tenant": 11,
  "_v": 0
}

4.7.5.4. Détail des champs de la collection ArchiveUnitProfile

« _id » : identifiant unique du profil d’unité archivistique.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Name » : Nom du profil d’unité archivistique.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant donné au profil d’unité archivistique.

  • Il est constitué du préfixe « AUP- » suivi d’une suite de 6 chiffres dans le cas où la solution logicielle Vitam peuple l’identifiant. Par exemple : AUP-007485. Si le référentiel est en position esclave, cet identifiant peut être géré par l’application à l’origine du profil d’unité archivistique.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Description » : description du profil d’unité archivistique.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Status » : statut du profil d’unité archivistique.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeur : « ACTIVE » ou « INACTIVE »

  • Cardinalité : 1-1

« CreationDate » : date de création du profil d’unité archivistique.

  • La date est au format ISO 8601

  • Cardinalité : 1-1

    Exemple : "CreationDate": "2017-04-10T11:30:33.798"

« LastUpdate » : date de dernière mise à jour du profil d’unité archivistique dans la collection ArchiveUnitProfile.

  • La date est au format ISO 8601

  • Cardinalité : 1-1

    Exemple : "LastUpdate": "2017-04-10T11:30:33.798"

« ActivationDate » : date d’activation du profil d’unité archivistique.

  • La date est au format ISO 8601

  • Cardinalité : 0-1

    Exemple : "ActivationDate": "2017-04-10T11:30:33.798"

« DeactivationDate » : date de désactivation du profil d’unité archivistique.

  • La date est au format ISO 8601

  • Cardinalité : 0-1

    Exemple : "DeactivationDate": "2017-04-10T11:30:33.798"

« ControlSchema » : schéma de contrôle du profil d’unité archivistique

  • Il s’agit d’un bloc JSON.

  • Peut être vide

  • Cardinalité : 1-1

{
    "_id": "aegaaaaaaehk2lclaaf5ialisr6tklaaaaaq",
    "Identifier": "AUP_CUSTOM_SCHEMA",
    "Name": "ArchiveUnitProfileWithCustomSchema",
    "Description": "Test d'import d'un document type avec schéma",
    "Status": "ACTIVE",
    "CreationDate": "2016-12-10T00:00:00.000",
    "LastUpdate": "2019-01-28T12:44:20.135",
    "ActivationDate": "2016-12-10T00:00:00.000",
    "DeactivationDate": "2016-12-10T00:00:00.000",
    "ControlSchema": "{\r\n  \"$schema\": \"http://vitam-json-schema.org/draft-04/schema#\",\r\n  \"id\": \"http://example.com/root.json\",\r\n  \"type\": \"object\",\r\n  \"additionalProperties\": true,\r\n  \"properties\": {\r\n    \"_id\": {\r\n      \"type\": \"string\"\r\n    },\r\n    \"_og\": {\r\n      \"type\": \"string\"\r\n    },\r\n    \"DescriptionLevel\": {\r\n      \"type\": \"string\",\r\n      \"enum\": [\r\n        \"Item\",\r\n        \"SubGrp\",\r\n        \"File\"\r\n      ]\r\n    },\r\n    \"Title\": {\r\n      \"description\": \"All TitleGroup\",\r\n      \"type\": [\r\n        \"string\",\r\n        \"array\",\r\n        \"number\"\r\n      ],\r\n      \"minLength\": 1,\r\n      \"minItems\": 1\r\n    }\r\n  }\r\n}",
    "Fields": [
        "_id",
        "_og",
        "DescriptionLevel",
        "Title"
    ],
    "_tenant": 1,
    "_v": 0
}

« Fields » : liste des champs déclarés dans le schéma de contrôle

  • Il s’agit d’un tableau de chaînes de caractères

  • Champ peuplé automatiquement par la solution logicielle Vitam

  • Cardinalité 0-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

4.7.6. Collection Agencies

4.7.6.1. Utilisation de la collection Agencies

La collection Agencies permet de référencer et décrire unitairement les services agents.

Cette collection est alimentée par l’import d’un fichier CSV contenant l’ensemble des services agents. Celui doit être structuré comme ceci :

Identifier

Name

Description

Identifiant du service agent

Nom du service agent

Description du service agent

Le fichier .csv doit avoir comme séparateur de champ la virgule.

4.7.6.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection Agencies

{
    "_id": "aeaaaaaaaaevq6lcaamxsak7psyd2uyaaadq",
    "Identifier": "Identifier5",
    "Name": "Identifier5",
    "Description": "une description de service agent",
    "_tenant": 2,
    "_v": 1
}

4.7.6.3. Détail des champs

« _id » : identifiant unique du service agent.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Name » : nom du service agent.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Description » : description du service agent.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« Identifier » : identifiant signifiant donné au service agent.

  • Le contenu de ce champ est obligatoirement renseigné dans le fichier CSV permettant de créer le service agent. En aucun cas la solution logicielle Vitam ne peut être maître sur la création de cet identifiant comme cela peut être le cas pour d’autres données référentielles.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« _tenant » : information sur le tenant.

  • Il s’agit de l’identifiant du tenant utilisant l’enregistrement

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

4.7.7. Collection Context

4.7.7.1. Utilisation de la collection

La collection Context permet de référencer et décrire unitairement les contextes applicatifs.

4.7.7.2. Exemple d’un fichier d’import de contexte applicatif

Les contextes applicatifs sont importés dans la solution logicielle Vitam sous la forme d’un fichier JSON.

{
    "Name": "My_Context_5",
    "Status": "ACTIVE",
    "SecurityProfile": "admin-security-profile",
    "Permissions": [
      {
        "tenant": 1,
        "AccessContracts": [
          "AccessContracts_1",
          "AccessContracts_2"
        ],
        "IngestContracts": [
          "IngestContracts_1",
          "IngestContracts_2"
        ]
      },
      {
        "tenant": 0,
        "AccessContracts": [
          "AccessContracts_5",
          "AccessContracts_6"
        ],
        "IngestContracts": [
          "IngestContracts_9",
          "IngestContracts_10"
        ]
      }
    ]
  }

4.7.7.3. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection Context

{
    "_id": "aegqaaaaaaevq6lcaamxsak7psqdcmqaaaaq",
    "Name": "admin-context",
    "Status": "ACTIVE",
    "EnableControl": false,
    "Identifier": "CT-000001",
    "SecurityProfile": "admin-security-profile",
    "Permissions": [
        {
            "tenant": 0,
            "AccessContracts": [],
            "IngestContracts": []
        },
        {
            "tenant": 1,
            "AccessContracts": [],
            "IngestContracts": []
        },
        {
            "tenant": 2,
            "AccessContracts": [],
            "IngestContracts": []
        },
        {
            "tenant": 3,
            "AccessContracts": [],
            "IngestContracts": []
        },
        {
            "tenant": 4,
            "AccessContracts": [],
            "IngestContracts": []
        },
        {
            "tenant": 5,
            "AccessContracts": [],
            "IngestContracts": []
        },
        {
            "tenant": 6,
            "AccessContracts": [],
            "IngestContracts": []
        },
        {
            "tenant": 7,
            "AccessContracts": [],
            "IngestContracts": []
        },
        {
            "tenant": 8,
            "AccessContracts": [],
            "IngestContracts": []
        },
        {
            "tenant": 9,
            "AccessContracts": [],
            "IngestContracts": []
        }
    ],
    "CreationDate": "2017-11-02T12:06:34.034",
    "LastUpdate": "2017-11-02T12:06:34.036",
    "_v": 0
}

Il est possible de mettre plusieurs contextes applicatifs dans un même fichier, sur le même modèle que les contrats d’entrée ou d’accès par exemple. On pourra noter que le contexte est multi-tenant et définit chaque tenant de manière indépendante. Il doit être enregistré dans le tenant d’administration.

Les champs à renseigner obligatoirement à la création d’un contexte applicatif sont :

  • Name

  • Permissions. La valeur de Permissions peut cependant être vide : « Permissions : [] »

4.7.7.4. Détail des champs

« _id » : identifiant unique du contexte applicatif.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Name » : nom du contexte applicatif.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Status » : statut du contexte applicatif.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir pour valeur : ACTIVE ou INACTIVE

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant donné au contexte applicatif.

  • Il est constitué du préfixe « CT- » suivi d’une suite de 6 chiffres. Par exemple : CT-001573.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« SecurityProfile » : nom du profil de sécurité utilisé par le contexte applicatif.

  • Il s’agit d’une chaîne de caractères correspondant à une valeur valide du champ « _id » de la collection SecurityProfile.

  • Cardinalité : 1-1

« Permissions » : début du bloc appliquant les permissions à chaque tenant.

  • C’est un mot clé qui n’a pas de valeur associée.

  • Il s’agit d’un tableau.

  • Peut être vide.

  • Cardinalité : 1-1

  • pour un tenant donné, il contient un objet JSON contenant les champs suivants :

    • « tenant » : tenant sur lequel sont appliquées les permissions.

      • Il s’agit d’un entier.

      • Cardinalité : 1-1

    • « AccessContracts » : tableau d’identifiants de contrats d’accès appliqués sur le tenant.

      • Il s’agit d’un tableau de chaînes de caractères.

      • Les identifiants valides correspondent au champ Identifier des documents de la collection AccessContract.

      • Peut être vide.

      • Cardinalité : 0-1

    • « IngestContracts » : tableau d’identifiants de contrats d’entrées appliqués sur le tenant.

      • Il s’agit d’un tableau de chaînes de caractères.

      • Les identifants valides correspondent au champ Identifier des documents de la collection IngestContract.

      • Peut être vide.

      • Cardinalité : 0-1

« CreationDate » : date de création du contexte applicatif.

  • Il s’agit d’une date au format ISO 8601.

  • Cardinalité : 1-1

    Exemple : "CreationDate": "2017-04-10T11:30:33.798",

« LastUpdate » : date de dernière modification du contexte applicatif.

  • Il s’agit d’une date au format ISO 8601.

  • Cardinalité : 1-1

  • Exemple : "LastUpdate": "2017-04-10T11:30:33.798",

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

« EnableControl » : activation des contrôles sur les tenants.

  • Il s’agit d’un booléen

  • Il peut avoir pour valeur « true » ou « false » et a la valeur par défaut : « false ».

    • « true » : le contrôle est actif

    • « false » : le contrôle est inactif

  • Cardinalité : 1-1

4.7.8. Collection FileFormat

4.7.8.1. Utilisation de la collection FileFormat

La collection FileFormat permet de référencer et décrire unitairement les différents formats de fichiers ainsi que leur description. La collection est initialisée à partir de l’import du fichier de signature PRONOM, mis à disposition par The National Archive (UK).

Cette collection est commune à tous les tenants. Elle est enregistrée sur le tenant d’administration.

4.7.8.2. Exemple de la description d’un format dans le XML d’entrée

Ci-après, la portion d’un fichier de signatures (DROID_SignatureFile_VXX.xml) utilisée pour renseigner les champs du JSON.

<FileFormat ID="105" MimeType="application/msword" Name="Microsoft Word for Macintosh Document" PUID="x-fmt/64" Version="4.0">
  <InternalSignatureID>486</InternalSignatureID>
  <Extension>mcw</Extension>
</FileFormat>

4.7.8.3. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection FileFormat

{
  "_id": "aeaaaaaaaahbl62nabduoak3jc2zqciaadiq",
  "CreatedDate": "2016-09-27T15:37:53",
  "VersionPronom": "88",
  "UpdateDate": "2016-09-27T15:37:53",
  "PUID": "fmt/961",
  "Version": "2",
  "Name": "Mobile eXtensible Music Format",
  "Extension": [
      "mxmf"
  ],
  "HasPriorityOverFileFormatID": [
      "fmt/714"
  ],
  "MimeType": "audio/mobile-xmf",
  "Group": "",
  "Alert": false,
  "Comment": "",
  "_v": 0
}

4.7.8.4. Détail des champs du JSON stocké en base

« _id » : identifiant unique du format.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« CreatedDate » : date de création de la version du fichier de signatures PRONOM utilisé pour créer l’enregistrement.

  • Il s’agit d’une date au format ISO 8601 YYYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

  • La date de création est à l’origine déclarée dans le fichier de signatures au niveau de la balise <FFSignatureFile> au niveau de l’attribut « DateCreated » .

  • Cardinalité : 1-1

    Exemple : "2016-08-19T16:36:07.942+02:00"

« VersionPronom » : numéro de version du fichier de signatures PRONOM utilisé pour créer l’enregistrement.

  • Il s’agit d’un entier.

  • Le numéro de version de PRONOM est à l’origine déclaré dans le fichier de signature au niveau de la balise <FFSignatureFile> au niveau de l’attribut « Version » .

  • Cardinalité : 1-1

Dans cet exemple, le numéro de version est 88 :

<FFSignatureFile DateCreated="2016-09-27T15:37:53" Version="88" xmlns="http://www.nationalarchives.gov.uk/pronom/SignatureFile">

« UpdateDate » : date de mise à jour de la version du fichier de signatures PRONOM utilisé pour mettre à jour la collection.

  • Il s’agit d’une date au format ISO 8601 YYYY-MM-DD + “T” + hh:mm:ss.millisecondes « + » timezone hh:mm.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    Exemple : "2016-08-19T16:36:07.942+02:00"

« PUID » : identifiant unique du format au sein du référentiel PRONOM.

  • Il s’agit d’une chaîne de caractères.

  • Il est issu du champ « PUID » de la balise <FileFormat>. La valeur est composée du préfixe « fmt » ou « x-fmt », puis d’un nombre correspondant au numéro d’entrée du format dans le référentiel PRONOM. Les deux éléments sont séparés par un « / ».

  • Cardinalité : 1-1

Par exemple : x-fmt/64

Les PUID comportant un préfixe « x-fmt » indiquent que ces formats sont en cours de validation par The National Archives (UK). Ceux possédant un préfixe « fmt » sont validés.

« Version » : version du format.

  • Il s’agit d’une chaîne de caractères.

  • Peut être vide.

  • Cardinalité : 1-1

Exemples de formats :

Version="3D Binary Little Endian 2.0"
Version="2013"
Version="1.5"

L’attribut « version » n’est pas obligatoire dans la balise <FileFormat> du fichier de signatures.

« Name » : nom du format.

  • Il s’agit d’une chaîne de caractères.

  • Le nom du format est issu de la valeur de l’attribut « Name » de la balise <FileFormat> du fichier de signature.

  • Cardinalité : 1-1

« MimeType » : Type MIME correspondant au format de fichier.

  • Il s’agit d’une chaîne de caractères.

  • Peut être vide.

  • Il est renseigné avec le contenu de l’attribut « MimeType » de la balise <FileFormat>. Cet attribut est facultatif dans le fichier de signatures.

  • Cardinalité : 1-1

« HasPriorityOverFileFormatID » : liste des PUID des formats sur lesquels le format a la priorité.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Peut être vide.

  • Cardinalité : 1-1

<HasPriorityOverFileFormatID>1121</HasPriorityOverFileFormatID>

Cet identifiant est ensuite utilisé dans Vitam pour retrouver le PUID correspondant.

S’il existe plusieurs balises <HasPriorityOverFileFormatID> dans le fichier XML initial pour un format donné, alors les PUID seront stockés dans le JSON sous la forme suivante :

"HasPriorityOverFileFormatID": [
    "fmt/714",
    "fmt/715",
    "fmt/716"
],

« Extension » : extension(s) du format.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Peut être vide.

  • Il contient les valeurs situées entre les balises <Extension> elles-mêmes encapsulées entre les balises <FileFormat>.

  • Cardinalité : 1-1

    Le champ <Extension> peut-être multivalué. Dans ce cas, les différentes valeurs situées entre les différentes balises <Extension> sont placées dans le tableau et séparées par une virgule.

Par exemple, pour le format dont le PUID est fmt/918 la représentation XML est la suivante :

<FileFormat ID="1723" Name="AmiraMesh" PUID="fmt/918" Version="3D ASCII 2.0">
    <InternalSignatureID>1268</InternalSignatureID>
    <Extension>am</Extension>
    <Extension>amiramesh</Extension>
    <Extension>hx</Extension>
  </FileFormat>

Les valeurs des balises <Extension> seront stockées de la façon suivante dans le JSON :

"Extension": [
     "am",
     "amiramesh",
     "hx"
 ],

« Group » : champ permettant d’indiquer le nom d’une famille de formats.

  • Il s’agit d’une chaîne de caractères.

  • Peut être vide.

  • C’est un champ propre à la solution logicielle Vitam.

  • Cardinalité : 1-1

« Alert » : alerte sur l’obsolescence du format.

  • Il s’agit d’un booléen dont la valeur est par défaut placée à false.

  • Cardinalité : 1-1

« Comment » : commentaire.

  • Il s’agit d’une chaîne de caractères.

  • Peut être vide.

  • C’est un champ propre à la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

    • 0 correspond à l’enregistrement d’origine.

    • Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

4.7.9. Collection FileRules

4.7.9.1. Utilisation de la collection FileRules

La collection FileRules permet de référencer et décrire unitairement les différentes règles de gestion utilisées dans la solution logicielle Vitam pour calculer les échéances associées aux unités archivistiques.

Cette collection est alimentée par l’import d’un fichier CSV contenant l’ensemble des règles. Celui-ci doit être structuré comme ceci :

RuleId

RuleType

RuleValue

RuleDescription

RuleDuration

RuleMeasurement

Id de la règle

Type de règle

Intitulé de la règle

Description de la règle

Durée de la règle

Unité de mesure de la durée de la règle

Le fichier .csv doit avoir comme séparateur de champs la virgule.

La liste des types de règle disponibles est en annexe.

Les valeurs renseignées dans la colonne unité de mesure doivent correspondre à une valeur de l’énumération RuleMeasurementEnum, à savoir :

  • MONTH

  • DAY

  • YEAR

4.7.9.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection FileRules

{
  "_id": "aeaaaaaaaahbl62nabduoak3jc4avsyaaaha",
  "RuleId": "ACC-00011",
  "RuleType": "AccessRule",
  "RuleValue": "Communicabilité des informations portant atteinte au secret de la défense nationale",
  "RuleDescription": "Durée de communicabilité applicable aux informations portant atteinte au secret de la défense nationale\nL’échéance est calculée à partir de la date du document ou du document le plus récent inclus dans le dossier",
  "RuleDuration": "50",
  "RuleMeasurement": "YEAR",
  "CreationDate": "2017-11-02T13:50:28.922",
  "UpdateDate": "2017-11-06T09:11:54.062",
  "_v": 0,
  "_tenant": 0
 }

4.7.9.3. Détail des champs

« _id » : identifiant unique.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« RuleId » : identifiant unique par tenant de la règle dans le référentiel utilisé.

  • Il s’agit d’une chaîne de caractères.

  • La valeur est reprise du champ RuleId du fichier d’import. Par commodité, les exemples sont composés d’un préfixe puis d’un nombre, séparés par un tiret, mais ce formalisme n’est pas obligatoire.

  • Cardinalité : 1-1

Par exemple :

ACC-00027

« RuleType » : type de règle.

  • Il s’agit d’une chaîne de caractères.

  • Il correspond à la valeur située dans la colonne RuleType du fichier d’import. Les valeurs possibles pour ce champ sont indiquées en annexe.

  • Cardinalité : 1-1

« RuleValue » : intitulé de la règle.

  • Il s’agit d’une chaîne de caractères.

  • Elle correspond à la valeur de la colonne RuleValue du fichier d’import.

  • Cardinalité : 1-1

« RuleDescription » : description de la règle.

  • Il s’agit d’une chaîne de caractères.

  • Elle correspond à la valeur de la colonne RuleDescription du fichier d’import.

  • Cardinalité : 1-1

« RuleDuration » : durée de la règle.

  • Il s’agit d’un entier compris entre 0 et 999.

  • Il peut également prendre la valeur « unlimited ».

  • Associé à la valeur indiquée dans RuleMeasurement, il permet de décrire la durée d’application de la règle de gestion. Il correspond à la valeur de la colonne RuleDuration du fichier d’import.

  • Cardinalité :

    • 1-1 pour toutes les catégories de règles à l’exception du gel

    • 0-1 pour les règles de gel

« RuleMeasurement » : unité de mesure de la durée décrite dans la colonne RuleDuration du fichier d’import.

  • Il s’agit d’une chaîne de caractères devant correspondre à une valeur de l’énumération RuleMeasurement, à savoir :

    • MONTH

    • DAY

    • YEAR

  • Cardinalité :

    • 1-1 pour toutes les catégories de règles à l’exception du gel

    • 0-1 pour les règles de gel

« CreationDate » : date de création de la règle dans la collection FileRules.

  • La date est au format ISO 8601.

  • Cardinalité : 1-1

    Exemple : "2017-11-02T13:50:28.922"

« UpdateDate » : Date de dernière mise à jour de la règle dans la collection FileRules.

  • La date est au format ISO 8601.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    Exemple : "2017-11-02T13:50:28.922"

« _v » : version de l’enregistrement décrit

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.7.10. Collection Griffin

4.7.10.1. Utilisation de la collection Griffin

La collection Griffin permet de référencer et décrire unitairement les griffons utilisés pour mettre en œuvre les opérations de préservation.

4.7.10.2. Exemple d’un fichier d’import de griffon

Le référentiel des griffons estt importé dans la solution logicielle Vitam sous la forme d’un fichier JSON.

[
  {
    "Identifier": "GRI-000004",
    "Name": "Griffon ImageMagick",
    "Description": "A griffin for griff the griffins",
    "CreationDate": "10/12/2016",
    "ExecutableName": "imagemagick-griffin",
    "ExecutableVersion": "V1.0.0"
  },
  {
    "Identifier": "GRI-000005",
    "Name": "Griffon Jhove",
    "Description": "A jhove griffin",
    "CreationDate": "2018-11-16T15:55:30.721",
    "ExecutableName": "jhove-griffin",
    "ExecutableVersion": "V1.0.0"
  }
]

Les champs à renseigner obligatoirement à l’import d’un griffon sont :

  • Name

  • Identifier

  • ExecutableName

  • ExecutableVersion

Un fichier d’import peut décrire plusieurs griffons.

4.7.10.3. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection Griffins

[
  {  
    "_id": "aeaaaaaaaahlopljab2wualhmuydxiaaaaaq",
    "Name": Imgmagic,
    "Identifier": "GRIFFIN1",
    "Description": "Griffon IMG",
    "CreationDate": "2016-12-10T00:00:00.000",
    "LastUpdate": "2018-12-07T04:25:57.510",
    "ExecutableName": "imagemagick-griffin",
    "ExecutableVersion": "V1",
    "_tenant": 1,
    "_v": 13
  }
]

4.7.10.4. Détail des champs

« _id » : identifiant unique faisant référence à un exécutable et à sa version.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Name » : nom du griffon.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant donné au griffon.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Description » : description du griffon.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« CreationDate » : date de création du griffon.

  • La date est enregistrée au format ISO 8601.

  • S’il n’est pas renseigné dans le fichier d’import, champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    "CreationDate": "2017-04-10T11:30:33.798"

« LastUpdate » : date de dernière mise à jour du griffon dans la collection Griffin.

  • La date est au format ISO 8601.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    "LastUpdate": "2017-04-10T11:30:33.798"

« ExecutableName » : nom technique du griffon utilisé pour lancer l’exécutable sur le système.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« ExecutableVersion » : version du griffon utilisé.

  • Un même exécutable (ExecutableName) peut être associé à plusieurs versions.

  • Cardinalité : 1-1

    « ExecutableName »: « imagemagick-griffin »

    « ExecutableVersion »: « V1.0.0 »

« _tenant » : information sur le tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

4.7.11. Collection IngestContract

4.7.11.1. Utilisation de la collection

La collection IngestContract permet de référencer et décrire unitairement les contrats d’entrée.

4.7.11.2. Exemple d’un fichier d’import de contrat

Les contrats d’entrée sont importés dans la solution logicielle Vitam sous la forme d’un fichier JSON.

[
    {
        "Name": "Contrat Archives Départementales",
        "Description": "Test entrée - Contrat Archives Départementales",
        "Status": "ACTIVE",
    },
    {
        "Name": "SIA archives nationales",
        "Description": "Contrat d'accès - SIA archives nationales",
        "Status" : "INACTIVE",
        "ArchiveProfiles": [
          "ArchiveProfile8"
        ],
        "LinkParentId": "aeaqaaaaaagbcaacaax56ak35rpo6zqaaaaq"
    }
]

Les champs à renseigner obligatoirement à l’import d’un contrat sont :

  • Name

  • Identifier (selon la configuration du tenant : Identifier n’est obligatoire que si l’identifiant du contrat d’entrée n’est pas généré par la solution logicielle Vitam)

Un fichier d’import peut décrire plusieurs contrats.

4.7.11.3. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection IngestContract

{
  "_id": "aefqaaaaaahbl62nabkzgak3k6qtf3aaaaaq",
  "Name": "SIA archives nationales",
  "Identifier": "IC-000012",
  "Description": "Contrat d'accès - SIA archives nationales",
  "Status": "INACTIVE",
  "CreationDate": "2017-04-10T11:30:33.798",
  "LastUpdate": "2017-04-10T11:30:33.798",
  "ActivationDate": "2017-04-10T11:30:33.798",
  "DeactivationDate": null,
  "MasterMandatory":true,
  "EveryDataObjectVersion":false,
  "DataObjectVersion":"PhysicalMaster",
  "ArchiveProfiles": [
      "ArchiveProfile8"
  ],
  "CheckParentLink": "ACTIVE",
  "LinkParentId":
    "aeaqaaaaaagbcaacaax56ak35rpo6zqaaaaq",
  "FormatUnidentifiedAuthorized":true,
  "EveryFormatType":false,
  "FormatType":["fmt/17","fmt/12"],
  "_tenant": 0,
  "_v": 0    }

4.7.11.4. Détail des champs de la collection IngestContract

« _id » : identifiant unique du contrat.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Name » : nom du contrat d’entrée.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant donné au contrat.

  • Il s’agit d’une chaîne de caractères.

  • Il est constitué du préfixe « IC- » suivi d’une suite de 6 chiffres dans le cas ou la solution logicielle Vitam peuple l’identifiant. Par exemple : IC-007485. Si le référentiel est en position esclave, cet identifiant peut être géré par l’application à l’origine du contrat.Cardinalité : 1-1

« Description » : description du contrat d’entrée.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« Status » : statut du contrat.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeur : ACTIVE ou INACTIVE

  • Cardinalité : 1-1

« CreationDate » : date de création du contrat.

  • La date est au format ISO 8601.

  • Cardinalité : 1-1

    Exemple : "CreationDate": "2017-04-10T11:30:33.798"

« LastUpdate » : date de dernière mise à jour du contrat dans la collection IngestContract.

  • La date est au format ISO 8601.

  • Cardinalité : 1-1

    Exemple : "LastUpdate": "2017-04-10T11:30:33.798"

« ActivationDate » : date d’activation du contrat.

  • La date est au format ISO 8601.

  • Cardinalité : 0-1

    Exemple : "ActivationDate": "2017-04-10T11:30:33.798"

« DeactivationDate » : date de désactivation du contrat.

  • La date est au format ISO 8601.

  • Cardinalité : 0-1

    Exemple : "DeactivationDate": "2017-04-10T11:30:33.798"

« CheckParentLink » : option permettant de définir le comportement à propos des rattachements déclarés dans les SIP.

  • Si le SIP déclare un rattachement alors que cette déclaration n’est pas autorisée, l’entrée est en KO. De même, si le SIP ne déclare pas de rattachement alors que cette déclaration est obligatoire, l’entrée est en KO.

  • Peut avoir comme valeur : « AUTHORIZED » (la déclaration d’un rattachement est autorisée, mais pas requise), « REQUIRED » (la déclaration d’un rattachement est obligatoire), « UNAUTHORIZED » (la déclaration d’un rattachement n’est pas autorisée).

  • Dans le fichier JSON du contrat à importer, ce champ peut être absent. Dans ce cas, il sera enregistré avec la valeur « AUTHORIZED » en base de données lors de l’import.

  • Cardinalité : 1-1

« ComputedInheritedRulesAtIngest » : activation de l’enregistrement automatique des règles de gestion héritées en base de données.

  • Il s’agit d’un booléen.

  • Cardinalité : 0-1

« LinkParentId » : point de rattachement automatique des SIP en application du contrat d’entrée correspondant à l’identifiant d’une unité archivistique standard, de plan de classement ou d’arbre de positionnement.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID et à une valeur valide du champ _id d’un enregistrement de la collection Unit.

  • Cardinalité : 0-1

« CheckParentId » : option permettant d’activer un contrôle sur les nœuds de rattachement déclarés dans le SIP.

  • Le nœud déclaré dans un SIP utilisant un contrat ayant cette variable doit impérativement être le nœud déclaré dans ce paramètre ou un de ses fils.

  • Il s’agit d’une ou plusieurs chaînes de 36 caractères correspondant à un GUID et à une valeur valide du champ _id d’un enregistrement de la collection Unit.

  • Cardinalité : 0-n

« MasterMandatory » : option qui rend obligatoire la présence d’un objet dont l’usage est de type Master (Physical ou Binary).

  • Il s’agit d’un booléen.

  • Peut avoir comme valeur : « true » ou « false ».

  • Dans le fichier JSON du contrat à importer, ce champ peut être absent. Dans ce cas, il sera enregistré avec la valeur « true » en base de données lors de l’import.

  • Cardinalité : 1-1

« EveryDataObjectVersion » : option qui permet de préciser que tous les types d’usages sont autorisés lors de l’entrée d’un SIP procédant à des rattachements d’objets à des groupes d’objets techniques déjà existants.

  • Il s’agit d’un booléen.

  • Peut avoir comme valeur : « true » ou « false ».

  • Si le champ a pour valeur « false », alors le champ DataObjectVersion sera utilisé. S’il a pour valeur « true », « DataObjectVersion » sera ignoré.

  • Dans le fichier JSON du contrat à importer, ce champ peut être absent. Dans ce cas, il sera enregistré avec la valeur « INACTIVE » en base de données lors de l’import.

  • Cardinalité : 1-1

« DataObjectVersion » : liste les types d’usages autorisés lors de l’entrée d’un SIP procédant à des rattachements d’objets à des groupes d’objets techniques déjà existants. Les usages des objets rattachés n’étant pas dans cette liste provoqueront une entrée en KO des SIP.

  • Il s’agit d’un tableau de chaîne de caractères.

  • Peut avoir comme valeur : « Dissemination », « TextContent », « PhysicalMaster », « BinaryMaster », « Thumbnail »

  • Dans le fichier JSON du contrat à importer, ce champ peut être absent. Si le champ « EveryDataObjectVersion » a pour valeur « true », ce champ sera ignoré.

  • Cardinalité : 0-1

« FormatUnidentifiedAuthorized » : option autorisant ou non l’entrée d’objets dont le format n’est pas identifié par la solution logicielle Vitam

  • Il s’agit d’un booléen.

  • Peut avoir comme valeur : « true » ou « false ».

  • Dans le fichier JSON du contrat à importer, ce champ peut être absent. Dans ce cas, il sera enregistré avec la valeur « false » en base de données lors de l’import.

  • Cardinalité : 1-1

« EveryFormatType » : option autorisant ou non l’entrée d’objets sans restriction de formats.

  • Il s’agit d’un booléen.

  • Peut avoir comme valeur : « true » ou « false ».

  • Si ce champ a comme valeur « false », alors le champ « FormatType » sera utilisé. S’il a comme valeur « true », alors le champ « FormatType » sera ignoré.

  • Dans le fichier JSON du contrat à importer, ce champ peut être absent. Dans ce cas, il sera enregistré avec la valeur « false » en base de données lors de l’import.

  • Cardinalité : 1-1

« FormatType » : liste de PUID de formats de fichiers autorisés lors de l’entrée d’un objet. Les objets n’étant pas dans cette liste de format provoqueront une entrée KO de leurs SIP

  • Il s’agit d’un tableau de chaîne de caractères correspondant à des identifiants valides du champ PUID de la collection FileFormat.

  • Si la variable EveryFormatType est à « true », ce champ sera ignoré.

  • Cardinalité : 0-1

    « ManagementContractId » : définition d’une stratégie de stockage dans le contrat d’entrée.

  • Il s’agit d’une chaîne de caractères, correspondant à l’identifiant du contrat de gestion associé au contrat d’entrée.

  • Cardinalité : 0-1

    « ArchiveProfiles » : profil(s) d’archivage associé(s) contrat d’entrée.

  • Il s’agit d’un tableau pouvant contenir une à plusieurs chaînes de caractères, correspondant à l’identifiant de profil(s) d’archivage défini dans le référentiel des profils d’archivage.

  • Cardinalité : 0-1

    « ComputeInheritedRulesAtIngest » : paramètre permettant d’activer l’enregistrement automatique des règles de gestion héritées par une unité archivistique en base de données dans un champ spécifique.

  • Il s’agit d’un booléen

  • Valeur par défaut : « false »

  • Cardinalité : 1-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

4.7.12. Collection ManagementContract

4.7.12.1. Utilisation de la collection ManagementContract

La collection ManagementContract permet de référencer et de décrire unitairement les contrats de gestion.

4.7.12.2. Exemple d’un fichier d’import de contrat de gestion

Les contrats de gestion sont importés dans la solution logicielle Vitam sous la forme d’un fichier JSON.

[
  {
		"Name": "Contrat de gestion avec stockage",
		"Identifier": "MCDefaultStorageAll",
		"Description": "Contrat de gestion valide déclarant pas de surcharge pour le stockage avec la stratégie par défaut",
		"Status": "ACTIVE",
		"Storage": {
			"UnitStrategy": "default",
			"ObjectGroupStrategy": "default",
			"ObjectStrategy": "default"
		}
	}
]

Les champs à renseigner obligatoirement à la création d’un contrat sont :

  • Name

  • Identifier (selon la configuration du tenant : Identifier n’est obligatoire que si l’identifiant du contrat d’accès n’est pas généré par la solution logicielle Vitam)

Un fichier d’import peut décrire plusieurs contrats.

4.7.12.3. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection ManagementContract

{
    "_id": "aefqaaaaaahjy6rtaapocalm6uiw5oqaaaaq",
    "Name": "Contrat de gestion avec stockage",
    "Identifier": "MCDefaultStorageAll",
    "Description": "Contrat de gestion valide déclarant pas de surcharge pour le stockage avec la stratégie par défaut",
    "Status": "ACTIVE",
    "CreationDate": "2016-12-10T00:00:00.000",
    "LastUpdate": "2019-09-03T03:00:56.115",
    "ActivationDate": "2016-12-10T00:00:00.000",
    "DeactivationDate": "2016-12-10T00:00:00.000",
    "Storage": {
        "UnitStrategy": "default",
        "ObjectGroupStrategy": "default",
        "ObjectStrategy": "default"
    },
    "VersionRetentionPolicy": {
        "InitialVersion": true,
        "IntermediaryVersion": "ALL",
        "Usages": [
            {
                "UsageName": "Thumbnail",
                "InitialVersion": false,
                "IntermediaryVersion": "NONE"
            },
            {
                "UsageName": "PhysicalMaster",
                "InitialVersion": false,
                "IntermediaryVersion": "NONE"
            },
            {
                "UsageName": "TextContent",
                "InitialVersion": false,
                "IntermediaryVersion": "NONE"
            },
            {
                "UsageName": "BinaryMaster",
                "InitialVersion": true,
                "IntermediaryVersion": "ALL"
            },
            {
                "UsageName": "Dissemination",
                "InitialVersion": false,
                "IntermediaryVersion": "NONE"
            }
        ]
    },
    "_tenant": 0,
    "_v": 0
}

4.7.12.4. Détail des champs

« _id » : identifiant unique du contrat pour un tenant donné.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    « Name » : nom du contrat de gestion.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant donné au contrat.

  • Il est constitué du préfixe « MC- » suivi d’une suite de 6 chiffres s’il est peuplé par la solution logicielle Vitam. Par exemple : MC-001223. Si le référentiel est en position esclave, cet identifiant peut être géré par l’application à l’origine du contrat et est unique sur le tenant.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Description » : description du contrat de gestion.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« Status » : statut du contrat.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeur : « ACTIVE » ou « INACTIVE ».

  • Cardinalité : 1-1

« CreationDate » : date de création du contrat.

  • La date est au format ISO 8601 et prend la forme suivante :

    "CreationDate": "2017-04-10T11:30:33.798"

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« LastUpdate » : date de dernière mise à jour du contrat

  • La date est au format ISO 8601 et prend la forme suivante :

    "LastUpdate": "2017-04-10T11:30:33.798"

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« ActivationDate » : date d’activation du contrat.

  • La date est au format ISO 8601 et prend la forme suivante :

    "ActivationDate": "2017-04-10T11:30:33.798"

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« DeactivationDate » : date de désactivation du contrat.

  • La date est au format ISO 8601 et prend la forme suivante :

    "DeactivationDate": "2017-04-10T11:30:33.798"

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 0-1

« Storage » : définition d’une stratégie de stockage pouvant être appliquée aux unités archivistiques, aux groupes d’objets techniques et/ou aux objets techniques.

  • Cardinalité : 0-1

  • Cet objet peut contenir les champs suivants :

    • « UnitStrategy » : stratégie de stockage définie pour les métadonnées correspondant aux unités archivistiques .

      • Il s’agit d’une chaîne de caractères.

      • Cardinalité : 0-1

    • « ObjectGroupStrategy » : stratégie de stockage définie pour les métadonnées correspondant aux groupes d’objets techniques.

      • Il s’agit d’une chaîne de caractères.

      • Cardinalité : 0-1

    • « ObjectStrategy » : stratégie de stockage pour les objets techniques.

      • Il s’agit d’une chaîne de caractères.

      • Cardinalité : 0-1

« VersionRetentionPolicy » : définition d’une politique de préservation pouvant être appliquée aux objets techniques de manière générique ou de manière spécifique par type d’usage.

  • Cardinalité : 1-1

  • Cet objet peut contenir les champs suivants :

    • « InitialVersion » : conservation de la valeur initiale des objets.

      • Il s’agit d’un booléen.

      • Si ce champ n’est pas défini lors de la création de l’enregistrement, alors il est par défaut true.

      • Cardinalité : 1-1

    • « IntermediaryVersion » : conservation des versions intermédiaires des objets.

      • Il s’agit d’une chaîne de caractères dont la valeur est égale à LAST ou ALL.

      • Si ce champ n’est pas défini lors de la création de l’enregistrement, alors il est par défaut LAST.

      • Cardinalité : 1-1

    • « Usages » : liste des usages définissant une politique de préservation spécifique.

      • Il s’agit d’un pouvant être vide.

      • Cardinalité : 0-1

      • Cet objet peut contenir les champs suivants :

        • «  UsageName » : nom de l’usage d’objet concerné.

          • Il s’agit d’une chaîne de caractères dont la valeur peut être égale à « BinaryMaster, Dissemination, TextContent, Thumbnail, PhysicalMaster).

          • Cardinalité : 0-1

        • « InitialVersion » : conservation de la valeur initiale des objets

          • Il s’agit d’un booléen.

          • La valeur est obligatoirement égale à « true » pour les objets d’usage « BinaryMaster ».

          • Cardinalité : 0-1

        • « IntermediaryVersion » : conservation des versions intermédiaires des objets.

          • Il s’agit d’une chaîne de caractères dont la la valeur peut être égale à « ALL », à « LAST » ou « NONE », ce dernier n’étant pas accepté pour les objets d’usage « BinaryMaster ».

          • Cardinalité : 0-1

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

4.7.13. Collection Ontology

4.7.13.1. Utilisation de la collection

La collection Ontology permet de référencer et décrire unitairement les champs définissant l’ontologie utilisée dans la solution logicielle Vitam.

4.7.13.2. Exemple d’un fichier d’import d’ontology

L’ontologie est importée dans la solution logicielle Vitam sous la forme d’un fichier JSON.

[ 
  {
    "Identifier" : "AcquiredDate",
    "SedaField" : "AcquiredDate",
    "ApiField" : "AcquiredDate",
    "Description" : "unit-es-mapping.json",
    "Type" : "DATE",
    "Origin" : "INTERNAL",
    "ShortName" : "AcquiredDate",
    "Collections" : [ "Unit" ]
  }, {
    "Identifier" : "BirthDate",
    "SedaField" : "BirthDate",
    "ApiField" : "BirthDate",
    "Description" : "unit-es-mapping.json",
    "Type" : "DATE",
    "Origin" : "INTERNAL",
    "ShortName" : "BirthDate",
    "Collections" : [ "Unit" ]
  },
]

[…]

Les champs à renseigner obligatoirement pour chaque définition de champ dans l’ontologie sont :

  • Identifier

  • Type

  • Origin

  • Collections

Un fichier JSON décrit la totalité des champs de l’ontologie (interne et externe).

4.7.13.3. Détail des champs de la collection Ontology

« _id » : identifiant unique d’un vocabulaire de l’ontologie.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant du vocabulaire de l’ontologie.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« SedaField » : nom du vocabulaire dans la nomenclature SEDA.

  • Il s’agit d’une chaîne de caractères.

  • Peut être vide.

  • Cardinalité : 1-1

« Description » : description du vocabulaire de l’ontologie.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« Type » : type d’indexation d’un vocabulaire de l’ontologie.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeur : DATE, TEXT, KEYWORD, BOOLEAN, LONG, DOUBLE, ENUM, GEO_POINT.

  • Cardinalité : 1-1

« Origin » : origine d’un vocabulaire de l’ontologie.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeur : INTERNAL ou EXTERNAL

  • Cardinalité : 1-1

« ShortName » : traduction signifiante du vocabulaire.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« Collections » : collections concernées par un vocabulaire de l’ontologie.

  • Il s’agit d’une liste de chaînes de caractères.

  • Cardinalité : 1-n

« _tenant » : information sur le tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

« ApiField » : identifiant d’un vocabulaire de l’ontologie qui sera retourné via le DSL.

  • Il s’agit d’une chaîne de caractères.

  • Peut être vide.

  • Cardinalité : 1-1

4.7.14. Collection PreservationScenario

4.7.14.1. Utilisation de la collection PreservationScenario

La collection PreservationScenario permet de référencer et décrire unitairement les scénarios de préservation utilisés pour lancer des opérations de préservation.

4.7.14.2. Exemple d’un fichier d’import de scénario de préservation

Les scénarios de préservation sont importés dans la solution logicielle Vitam sous la forme d’un fichier JSON.

[
  {
    "Identifier": "PSC-000002",
    "Name": "Transformation en GIF MINI",
    "Description": "Ce scenario transforme une image JPEG en GIF mini",
    "ActionList": [
      "GENERATE"
    ],
    "GriffinByFormat": [
      {
        "FormatList": ["fmt/41", "fmt/43"],
        "GriffinIdentifier": "GRI-000001",
        "TimeOut": 20,
        "MaxSize": 10000000,
        "Debug":true,
        "ActionDetail": [
          {
            "Type": "GENERATE",
            "Values": {
              "Extension": "GIF",
              "Args": [
                "-thumbnail",
                "100x100"
              ]
            }
          }
        ]
      }
    ]
  }
]

Les champs à renseigner obligatoirement à l’import d’un scénario de préservation sont :

  • Name ;

  • Identifier ;

  • ActionList ;

  • GriffinByFormat, avec les champs :

    • FormatList,

    • GriffinIdentifier,

    • Timeout,

    • MaxSize,

    • Debug,

    • ActionDetail,

    • Type.

Un fichier d’import peut décrire plusieurs scénarios de préservation.

4.7.14.3. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection PreservationScenario

{
    "_id": "aefqaaaabahn6dttabew6alha45dfgqaaaaq",
    "Identifier": "PSC-000023",
    "Name": "Normalisation d'entrée",
    "Description": "Ce scénario permet de faire une validation des formats et de créer une version de diffusion en PDF. Il est en général appliqué au contenu d'une entrée pour donner un retour de la qualité du versement et préparer une consultation fréquente.",
    "CreationDate": "2018-11-16T15:55:30.721",
    "LastUpdate": "2018-11-20T15:34:21.542",
    "ActionList": ["ANALYSE", "GENERATE"],
    "GriffinByFormat": [{
            "FormatList": ["fmt/136", "fmt/137", "fmt/138", "fmt/139", "fmt/290", "fmt/294", "fmt/292", "fmt/296", "fmt/291", "fmt/295", "fmt/293", , "fmt/297"],
            "GriffinIdentifier": "GRI-0000023",
            "TimeOut": 20,
            "MaxSize": 10000000,
            "ActionDetail": [{
                    "Action": "ANALYSE",
                    "Values": {
                        "Args": ["-strict"]
                    }
                }, {
                    "Action": "GENERATE",
                    "Values": {
                        "Extension": "pdf",
                        "Args": ["-f", "pdf", "-e", "SelectedPdfVersion=1"]
                    }
                }
            ]
        }, {
            "FormatList": ["fmt/41", "fmt/42", "x-fmt/398", "x-fmt/390", "x-fmt/391", "fmt/645",
                "fmt/43", "fmt/44", "fmt/112", "fmt/11", "fmt/12", "fmt/13", "fmt/935", "fmt/152",
                "fmt/399", "fmt/388", "fmt/387", "fmt/155", "fmt/353", "fmt/154", "fmt/153",
                "fmt/156", "x-fmt/392", "x-fmt/178", "fmt/408", "fmt/568", "fmt/567", "fmt/566"],
            "GriffinIdentifier": "GRI-0000012",
            "TimeOut": 10,
            "MaxSize": 10000000,
            "ActionDetail": [{
                    "Action": "ANALYSE"
                }, {
                    "Action": "GENERATE",
                    "Values": {
                        "Extension": "pdf",
                        "Args": ["-quality", "90"]
                    }
                }
            ]
        }
    ],
    "GriffinDefault": {
        "GriffinIdentifier": "GRI-0000005",
        "TimeOut": 10,
        "MaxSize": 10000000,
        "ActionDetail": [{
                "Action": "ANALYSE",
                "Values": {
                    "Args": ["-strict"]
                }
            }
        ]
    },
    " _tenant": 3,
    " _v": 2
}

4.7.14.4. Détail des champs

« _id » : identifiant unique du scénario de préservation.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Name » : nom du scénario de préservation.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant donné au scénario de préservation.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Description » : description du scénario de préservation.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« CreationDate » : date de création du scénario de préservation.

  • La date est enregistrée au format ISO 8601.

  • S’il n’est pas renseigné dans le fichier d’import, champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    "CreationDate": "2017-04-10T11:30:33.798"

« LastUpdate » : date de dernière de mise à jour du scénario de préservation.

  • La date est au format ISO 8601.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    "LastUpdate": "2017-04-10T11:30:33.798"

« ActionList » : liste des actions prévues par le scénario de préservation.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Il peut avoir comme valeurs : ANALYSE, GENERATE, IDENTIFY, EXTRACT, EXTRACT_AU.

  • Cardinalité : 1-1

« GriffinByFormat » : description des actions à effectuer pour une liste de formats.

  • Il s’agit d’un tableau d’objets.

  • Cardinalité : 1-1

  • Ce tableau est composé des champs suivants :

    • « FormatList » : identifiants des formats de fichiers sur lesquels l’action est effectuée. Ces identifiants doivent correspondre à des identifiants valides de la collection FileFormat.

      • Il s’agit d’un tableau de chaînes de caractères.

      • Cardinalités : 1-1

    • « GriffinIdentifier » : identifiant du griffon qui effectue l’action pour les objets identifiés par un format du champ FormatList. Cet identifiant doit correspondre à un identifiant valide de la collection Griffin.

      • Il s’agit d’une chaîne de caractères.

      • Cardinalité : 1-1

    • « Timeout » : temps en minutes au bout duquel la solution logicielle Vitam, en l’absence de réponse du griffon, arrêtera l’action de préservation.

      • Il s’agit d’un entier.

      • Cardinalités : 1-1

    • « MaxSize » : taille maximale en octet des objets sur lesquels l’action de préservation peut être effectuée en utilisant ce scénario de préservation.

      • Il s’agit d’un entier.

      • Cardinalités : 1-1

    • « Debug » : debug.

      • Il s’agit d’un booléen. Si la valeur est « true », les erreurs rencontrées sont remontées dans les logs de la solution logicielle Vitam.

      • Cardinalité : 1-1

    • « ActionDetail » : tableau d’objets permettant de décrire les commandes techniques associées à chaque action de préservation.

      • Cardinalité : 1-1

      • Cet objet est composé des champs suivants :

        • « Type » : action de préservation.

          • Ce champ doit avoir une chaîne de caractères faisant partie des valeurs autorisées pour le champ ActionList.

          • Cardinalité : 1-1

        • « Values » : valeurs précisant les commandes passées par le scénario de préservation au griffon.

          • Cardinalité : 0-1

          • pour les actions ANALYSE, GENERATE, EXTRACT et EXTRACT_AU, ce champ a pour valeur « null » ou peut être absent.

          • pour l’action GENERATE, c’est un objet possédant deux champs :

            • **« Extension » **: chaîne de caractère servant à rajouter une extension aux fichiers générés (ex : .pdf).

              • Cardinalité : 0-1

            • « Args » : liste d’arguments utilisés lors de la commande système qu’effectue le griffon sur les objets concernés.

              • Cardinalité : 0-1

          • pour l’action EXTRACT, c’est un objet possédant un

            champ :

            • « FilteredExtractedObjectGroupData » : liste de métadonnées à extraire.

              • Il s’agit d’un tableau de chaînes de caractères.

              • Ce champ peut contenir les valeurs suivantes : « ALL_METADATA », « RAW_METADATA » et/ou une liste de métadonnées internes en particulier (ex : resolution, compression, geometry).

              • Cardinalité : 0-1

« GriffinDefault » : description de l’action par défaut à effectuer si aucun format ne correspond à ceux attendus dans les objets de GriffinByFormat

  • Il s’agit d’un tableau d’objets reprenant la structure de ceux de GriffinByFormat.

  • S’il n’y a pas d’action par défaut à effectuer, ce champ peut être “null”.

  • Cardinalité : 0-1

« _tenant » : information sur le tenant.

  • Il s’agit de l’identifiant du tenant utilisant le scénario de préservation.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

4.7.15. Collection Profile

4.7.15.1. Utilisation de la collection Profile

La collection Profile permet de référencer et décrire unitairement les notices de profil d’archivage.

#### Exemple d’un fichier d’import de notices de Profils d’archivage

Un fichier d’import peut décrire plusieurs notices de profil d’archivage.

[
  {
    "Name":"ArchiveProfile0",
    "Description":"Description of the Profile",
    "Status":"ACTIVE",
    "Format":"XSD"
  },
    {
    "Name":"ArchiveProfile1",
    "Description":"Description of the profile 2",
    "Status":"ACTIVE",
    "Format":"RNG"
  }
]

Les champs à renseigner obligatoirement à la création d’un profil d’archivage sont :

  • Name

  • Format

4.7.15.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs de la collection Profile

{
  "_id": "aegaaaaaaehlfs7waax4iak4f52mzriaaaaq",
  "Identifier": "PR-000003",
  "Name": "ArchiveProfile0",
  "Description": "Description of the Profile",
  "Status": "ACTIVE",
  "Format": "XSD",
  "CreationDate": "2016-12-10T00:00",
  "LastUpdate": "2017-05-22T09:23:33.637",
  "ActivationDate": "2016-12-10T00:00",
  "DeactivationDate": "2016-12-10T00:00",
  "_v": 1,
  "_tenant": 1,
  "Path": "1_profile_aegaaaaaaehlfs7waax4iak4f52mzriaaaaq_20170522_092333.xsd"
}

4.7.15.3. Détail des champs

« _id » : identifiant unique de la notice de profil d’archivage.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant de la notice de profil d’archivage.

  • Si Vitam est maître dans la création de cet identifiant, il est alors constitué du préfixe « PR- » suivi d’une suite de 6 chiffres. Par exemple : PR-001573. Si le référentiel est en position esclave, cet identifiant peut être géré par l’application à l’origine de la notice du profil d’archivage.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Name » : nom de la notice du profil d’archivage.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« Description » : description du profil d’archivage.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« Status » : statut du profil d’archivage.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeur : ACTIVE ou INACTIVE

  • Si ce champ n’est pas défini lors de la création de l’enregistrement, alors il est par défaut INACTIVE.

  • Cardinalité : 1-1

« Format » : format attendu pour le fichier décrivant les règles du profil d’archivage.

  • Il s’agit d’une chaîne de caractères devant correspondre à l’énumération ProfileFormat.

  • Ses valeurs sont soit RNG, soit XSD.

  • Cardinalité : 1-1

« CreationDate » : date de création de la notice du profil d’archivage.

  • La date est au format ISO 8601.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    Exemple : "CreationDate": "2017-04-10T11:30:33.798",

« LastUpdate » : date de dernière mise à jour de la notice du profil d’archivage.

  • La date est au format ISO 8601

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    Exemple : "LastUpdate": "2017-04-10T11:30:33.798"

« ActivationDate » : date d’activation de la notice du profil d’archivage.

  • La date est au format ISO 8601

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    Exemple : "ActivationDate": "2017-04-10T11:30:33.798"

« DeactivationDate » : date de désactivation de la notice du profil d’archivage.

  • La date est au format ISO 8601

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • Exemple : "DeactivationDate": "2017-04-10T11:30:33.798"

« _tenant » : information sur le tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

« Path » : champ contribué par la solution logicielle Vitam lors d’un import de fichier XSD ou RNG.

  • Indique le chemin pour accéder au fichier du profil d’archivage.

  • Il s’agit d’une chaîne de caractères.

  • Le format de fichier doit correspondre à celui qui est décrit dans le champ Format.

  • Cardinalité : 0-1

4.7.16. Collection SecurityProfile

4.7.16.1. Utilisation de la collection

Cette collection référence et décrit les profils de sécurité mobilisés par les contextes applicatifs.

4.7.16.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    "_id": "aegqaaaaaaeucszwabglyak64gjmgbyaaaba",
    "Identifier": "SEC_PROFILE-000002",
    "Name": "demo-security-profile",
    "FullAccess": false,
    "Permissions": [
        "securityprofiles:create",
        "securityprofiles:read",
        "securityprofiles:id:read",
        "securityprofiles:id:update",
        "accesscontracts:read",
        "accesscontracts:id:read",
        "contexts:id:update"
    ],
    "_v": 1
}

4.7.16.3. Détail des champs

« _id » : identifiant unique du profil de sécurité.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Identifier » : identifiant signifiant donné au profil de sécurité.

  • Il est constitué du préfixe « SEC_PROFILE- » suivi d’une suite de 6 chiffres tant qu’il est défini par la solution logicielle Vitam. Par exemple : SEC_PROFILE-001573. Si le référentiel est en position esclave, cet identifiant peut être géré par l’application à l’origine du profil de sécurité.

  • Cardinalité : 1-1

« Name » : nom du profil de sécurité.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 1-1

« FullAccess » : mode super-administrateur donnant toutes les permissions.

  • Il s’agit d’un booléen.

  • S’il est à « false », le mode super-administrateur n’est pas activé et les valeurs du champ permission sont utilisées. S’il est à « true », le champ permission doit être vide.

  • Cardinalité : 1-1

« Permissions » : décrit l’ensemble des permissions auxquelles le profil de sécurité donne accès. Chaque API externe contient un verbe OPTION qui retourne la liste des services avec leur description et permissions associées.

  • Il s’agit d’un tableau de chaînes de caractères.

  • Peut être vide

  • Cardinalité : 0-1

  • Liste non exhaustive :

accesscontracts:create:json

distributionreport:id:read

objects:read

rulesfile:check

accesscontracts:id:read

elimination:action

ontologies:create:json

rulesreferential:id:read

accesscontracts:id:update

elimination:analysis

ontologies:id:read:json

rulesreport:id:read

accesscontracts:read

evidenceaudit:check

ontologies:read

securityprofiles:create:json

accessionregisters:id:accessionregisterdetails:read

forcepause:check

operations:id:delete

securityprofiles:id:read

accessionregisters:read

formats:create

operations:id:read

securityprofiles:id:update

accessionregisterssymbolic:read

formats:id:read

operations:id:read:status

securityprofiles:read

agencies:create

formats:read

operations:id:update

storageaccesslog:read:binary

agencies:id:read

formatsfile:check

operations:read

traceability:id:read

agencies:read

griffin:read

preservation:update

traceabilitychecks:create

agenciesfile:check

griffins:create

preservationScenario:read

units:id:objects:read:binary

agenciesreferential:id:read

griffins:read

preservationScenarios:create

units:id:objects:read:json

archiveunitprofiles:create:binary

ingestcontracts:create:json

preservationScenarios:read

units:id:read:json

archiveunitprofiles:create:json

ingestcontracts:id:read

probativevalue:create

units:id:update

archiveunitprofiles:id:read:json

ingestcontracts:id:update

profiles:create:binary

units:read

archiveunitprofiles:id:update:json

ingestcontracts:read

profiles:create:json

units:rules:update

archiveunitprofiles:read

ingests:create

profiles:id:read:binary

units:update

audits:create

ingests:id:archivetransfertreply:read

profiles:id:read:json

unitsWithInheritedRules:read

batchreport:id:read

ingests:id:manifests:read

profiles:id:update:binaire

workflows:read

contexts:create:json

ingests:local:create

profiles:id:update:json

contexts:id:read

logbookobjectslifecycles:id:read

profiles:read

contexts:id:update

logbookoperations:create

reclassification:update

contexts:read

logbookoperations:id:read

rectificationaudit:check

dipexport:create

logbookoperations:read

removeforcepause:check

dipexport:id:dip:read

logbookunitlifecycles:id:read

rules:create

rules:id:read

rules:read

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

4.7.17. Collection VitamSequence

4.7.17.1. Utilisation de la collection

Cette collection permet de générer des identifiants signifiants pour les enregistrements des collections suivantes :

  • AccesContract

  • AccessionRegisterDetail

  • AccessionRegisterSymbolic

  • Agencies

  • ArchiveUnitProfile

  • Context

  • FileFormat

  • FileRules

  • Griffin

  • IngestContract

  • PreservationScenario

  • Profile

  • SecurityProfile

Ces identifiants sont généralement composés d’un préfixe de deux lettres, d’un tiret et d’une suite de six chiffres. Par exemple : IC-027593. Il sont reportés dans les champs Identifier des collections concernées.

4.7.17.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
  "_id": "aeaaaaaaaahkwxukabqteak4q5mtmdyaaaaq",
  "Name": "AC",
  "Counter": 44,
  "_tenant": 1,
  "_v": 0
}

4.7.17.3. Détail des champs

« _id » : identifiant unique.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Name » : préfixe utilisé pour générer un identifiant signifiant.

  • La valeur contenue dans ce champ doit correspondre à la table de concordance du service VitamCounterService.java. La liste des valeurs possibles est détaillée en annexe.

  • Il s’agit d’une chaîne de caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Counter » : numéro incrémental.

  • Il s’agit du dernier numéro utilisé pour générer un identifiant signifiant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _tenant » : information sur le tenant.

  • Il s’agit de l’identifiant du tenant utilisant l’enregistrement.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • 0 correspond à l’enregistrement d’origine. Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

4.7.18. Collection Offset

4.7.18.1. Utilisation de la collection

Cette collection permet de persister les offsets des dernières données reconstruites des offres de stockage lors de la reconstruction au fil de l’eau pour les collections de la base Masterdata.

Il y a une valeur d’offset par couple tenant/collection.

4.7.18.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
  "_id": ObjectId("507f191e810c19729de860ea"),
  "offset": 1357,
  "collection": "PROFILE",
  "strategyId": "default",
  "_tenant": 1
}

4.7.18.3. Détail des champs

« _id » : identifiant unique mongo.

  • Il s’agit d’un champ de type mongo : ObjectId(<hexadecimal>).

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« offset » : la valeur de l’offset.

  • Il s’agit d’un entier encodé 64 bits.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« collection » : collection impactée.

  • les valeurs possibles sont UNIT et OBJECTGROUP.

    « strategyId » : identifiant de la stratégie de stockage.

  • Il s’agit d’une chaîne de caractère.

« _tenant » : identifiant du tenant.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.8. Base Report

La base Report contient des collections remplies temporairement, utilisées pour construire des rapports d’opérations dans la solution logicielle Vitam. Ces collections sont :

  • AuditObjectGroup

  • EliminationActionUnit

  • EliminationActionObjectGroup

  • InvalidUnit

  • PreservationReport

  • UpdateUnitReport

4.8.1. Collection AuditObjectGroup

4.8.1.1. Utilisation de la collection

La collection AuditObjectGroup permet à la solution logicielle Vitam de construire des rapports d’audit. Les données de cette collection sont temporaires et sont supprimées dès que les rapports correspondants sont créés. Il est donc possible de trouver la collection vide.

4.8.1.2. Détail des champs

« _id » : identifiant unique de l’enregistrement

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« processId » : identifiant de l’opération d’audit.

  • Il s’agit d’une chaîne de caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _metadata » objet contenant une liste de paramètres concernant les métadonnées du groupe d’objets. Il est composé comme suit :

  • « id » : identifiant du groupe d’objets.

  • « status » : statut de l’action d’audit pour ce groupe d’objets. Il s’agit d’une chaîne de caractères qui peut avoir comme valeurs : OK, WARNING, KO.

  • « opi » : identifiant de l’opération d’entrée du groupe d’objets.

  • « originatingAgency » : identifiant du service producteur du groupe d’objets.

  • « parentUnitIds » : identifiant des unités archivistiques parentes du groupe d’objets ayant été audités.

  • « objectIds » : identifiants des objets du groupe d’objets.

« _tenant » : information sur le tenant

  • Il s’agit de l’identifiant du tenant.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« creationDateTime » : date d’enregistrement du document.

  • Il s’agit d’une date.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.8.2. Collection EliminationActionUnit

4.8.2.1. Utilisation de la collection

La collection EliminationActionUnit permet à la solution logicielle Vitam de construire des rapports d’élimination d’unités archivistiques. Les données de cette collection sont temporaires et sont supprimées dès que les rapports correspondants sont créés. Il est donc possible de trouver la collection vide.

4.8.2.2. Détail des champs

« _id » : identifiant unique de l’enregistrement.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« processId » : identifiant de l’opération d’élimination.

  • Il s’agit d’une chaîne de caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

_metadata objet contenant une liste de paramètres concernant les métadonnées de l’unité archivistiques. Il est composé comme suit :

  • « id » : identifiant unique de l’enregistrement.

  • « status » : statut de l’action d’élimination pour cette unité archivistique. Il s’agit d’une chaîne de caractères qui peut avoir comme valeurs :

    • DELETED,

    • NON_DESTROYABLE_HAS_CHILD_UNITS,

    • GLOBAL_STATUS_KEEP,

    • GLOBAL_STATUS_CONFLICT.

  • « opi » : identifiant de l’opération d’entrée de cette unité archivistique.

  • « originatingAgency » : identifiant du service producteur de cette unité archivistique.

  • « objectGroupId » : identifiant du groupe d’objets attaché à cette unité archivistique.

« _tenant » : information sur le tenant.

  • Il s’agit de l’identifiant du tenant.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« creationDateTime » : date d’enregistrement du document.

  • Il s’agit d’une date.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.8.3. Collection EliminationActionObjectGroup

4.8.3.1. Utilisation de la collection

La collection EliminationActionObjectGroup permet à la solution logicielle Vitam de construire des rapports d’élimination des groupes d’objets techniques. Les données de cette collection sont temporaires et sont supprimées dès que les rapports correspondants sont créés. Il est donc possible de trouver la collection vide.

4.8.3.2. Détail des champs

« _id » : identifiant unique de l’enregistrement.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« processId » : identifiant de l’opération d’élimination.

  • Il s’agit d’une chaîne de caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _metadata » objet contenant une liste de paramètres concernant les métadonnées du groupe d’objets. Il est composé comme suit :

  • « id » : identifiant du groupe d’objets

  • « status » : statut de l’action d’élimination pour ce groupe d’objets. Il s’agit d’une chaîne de caractères qui peut avoir comme valeurs : DELETED, PARTIAL_DETACHMENT.

  • « opi » : identifiant de l’opération d’entrée du groupe d’objets.

  • « originatingAgency » : identifiant du service producteur du groupe d’objets.

  • « deletedParentUnitIds » : identifiant des unités archivistiques parentes du groupe d’objets et ayant été supprimées.

  • « objectIds » : identifiants des objets du groupe d’objets.

« _tenant » : information sur le tenant.

  • Il s’agit de l’identifiant du tenant.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« creationDateTime » : date d’enregistrement du document

  • Il s’agit d’une date.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.8.4. Collection PreservationReport

4.8.4.1. Utilisation de la collection

La collection PreservationReport permet à la solution logicielle Vitam de construire des rapports de préservation des groupes d’objets techniques. Les données de cette collection sont temporaires et sont supprimées dès que les rapports correspondants sont créés. Il est donc possible de trouver la collection vide.

4.8.4.2. Détail des champs

« _id » : identifiant unique de l’enregistrement.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« processId » : identifiant de l’opération de préservation.

  • Il s’agit d’une chaîne de caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _tenant » : information sur le tenant.

  • Il s’agit de l’identifiant du tenant.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« _action » : action mise en œuvre dans le cadre de l’opération de préservation.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeurs : ANALYSE, GENERATE, IDENTIFY, EXTRACT.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    « analyseResult » : statut de l’action de préservation pour ce groupe d’objets tel que renvoyé par le griffin.

  • Il s’agit d’une chaîne de caractères.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« creationDateTime » : date d’enregistrement du document.

  • Il s’agit d’une date.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    « inputName » : identifiant unique de l’objet ayant servi de source à l’opération de préservation.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    « objectGroupId » : identifiant unique du groupe d’objets ayant fait l’objet de l’opération de préservation.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    « outputName » : identifiant unique de l’objet créé lors de l’opération de préservation.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    « status » : statut de l’action de préservation pour ce groupe d’objets.

  • Il s’agit d’une chaîne de caractères.

  • Peut avoir comme valeurs : OK, KO, FATAL, WARNING.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

    « unitId » : identifiant unique de l’unité archivistique déclarant le groupe d’objets ayant fait l’objet de l’opération de préservation.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.9. Base Offer

La base Offer contient pour une offre les collections relatives aux ordres d’écriture opérés sur les offres. Pour l’offre froide, cette base contient aussi les données d’emplacement de stockage dans l’offre (bande magnétique).

4.9.1. Collection OfferLog

4.9.1.1. Utilisation de la collection OfferLog

La collection OfferLog contient les ordres d’écriture ou de suppression reçus par l’offre, ordonnés selon un numéro de séquence.

4.9.1.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    "_id": ObjectID("61c5e857e50db01443f204a7"),
    "Sequence": 1,
    "Time": "2021-12-24T15:33:43.827",
    "Container": "int_1_backup_operation",
    "FileName": "aeaaaaaaaaheill3abe5mal55ujzaciaaaaq",
    "Action": "write",
    "_FormatVersion": "V2"
}

4.9.1.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant unique Mongo.

  • Il s’agit d’un champ de type Mongo composé comme suit : ObjectId( < hexadecimal > ).

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Sequence » : numéro incrémental.

  • Il s’agit du dernier numéro utilisé pour définir l’ordre des données.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Time » : date.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Container » : identifiant du conteneur de la donnée

  • Il s’agit d’une chaîne de caractères.

  • Le format du conteneur est {environnement}_{tenant}_{repertoire}, où :

    • {environnement} est l’identifiant de l’environnement Vitam configuré

    • {tenant} est le tenant auquel appartient l’objet

    • {repertoire} est un répertoire de stockage dépendant du type de données. Ex « unit » pour les unités archivistiques et leurs journaux des cycles de vie, « object » pour les objets binaires, etc.

  • Ne peut être vide.

  • Cardinalité : 1-1

« FileName » : nom de l’objet stocké dans l’offre

  • Il s’agit d’une chaîne de caractères.

  • Ne peut être vide.

  • Cardinalité : 1-1

« Action » : action de l’ordre d’écriture

  • Il s’agit d’une chaîne de caractères.

  • Les valeurs attendues dans ce champ sont :

    • « write » : indique un ordre d’écriture de type « écriture »

    • « delete » : indique un ordre d’écriture de type « suppression »

  • Ne peut être vide.

  • Cardinalité : 1-1

« _FormatVersion » : version du schéma du modèle de données de l’ordre

  • Il s’agit d’une chaîne de caractères.

  • Les valeurs possibles dans ce champ sont :

    • « V1 » : ancienne version dépréciée

    • « V2 » : version courante

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.9.2. Collection CompactedOfferLog

4.9.2.1. Utilisation de la collection CompactedOfferLog

La collection CompactedOfferLog contient un regroupement d’anciens ordres d’écriture et de suppression.

4.9.2.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    "_id": ObjectID("6198de987cd1fd5f1f812c26"),
    "SequenceStart": 2424,
    "SequenceEnd": 22599,
    "CompactionDateTime": "2021-11-20T11:40:08.515022",
    "Container": "v5rc_0_accessionregisterdetail",
    "Logs": [
        {
            "Sequence": 2424,
            "Time": "2021-10-29T18:00:22.859",
            "Container": "v5rc_0_accessionregisterdetail",
            "FileName": "0_aehaaaaaaahcujfzabip2al4zu23rkyaaaaq.json",
            "Action": "write",
            "_FormatVersion": "V2"
        },
        ...
        {
            "Sequence": 22599,
            "Time": "2021-10-29T18:52:47.368",
            "Container": "v5rc_0_accessionregisterdetail",
            "FileName": "0_aehaaaaaaahcujfzabip2al4zvs3jpyaaaaq.json",
            "Action": "write",
            "_FormatVersion": "V2"
        }
    ]
}

4.9.2.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant unique Mongo.

  • Il s’agit d’un champ de type Mongo composé comme suit : ObjectId( < hexadecimal > ).

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« SequenceStart » : numéro de séquence du premier ordre du lot.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« SequenceEnd » : numéro de séquence du dernier ordre du lot.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« CompactionDateTime » : date de la compaction des ordres d’écriture.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Container »: identifiant du conteneur de la donnée

  • Il s’agit d’une chaîne de caractères.

  • Le format du conteneur est {environnement}_{tenant}_{repertoire}, où :

    • {environnement} est l’identifiant de l’environnement Vitam configuré

    • {tenant} est le tenant auquel appartient l’objet

    • {repertoire} est un répertoire de stockage dépendant du type de données. Ex « unit » pour les unités archivistiques et leurs journaux des cycles de vie, « object » pour les objets binaires, etc.

  • Ne peut être vide.

  • Cardinalité : 1-1

« Logs » : tableau de structure de type « OfferLog »

  • Pour la structure incluante, le tableau contient n structures incluses dans l’ordre par le champ « Sequence » pour un même « Container ».

  • Cardinalité : 1-1

  • S’agissant d’un tableau, les structures incluses ont pour cardinalités 1-n.

  • Ce champ existe uniquement pour la structure incluante.

4.9.3. Collection OfferSequence

4.9.3.1. Utilisation de la collection OfferSequence

Cette collection permet de générer des identifiants ordonnés pour les enregistrements de la Collection OfferLog.

4.9.3.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    "_id": "Backup_Log_Sequence",
    "Counter": 838338
}

4.9.3.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant unique.

  • Il s’agit d’une chaîne de caractères.

  • Les valeurs possibles dans ce champ sont :

    • « Backup_Log_Sequence » : identifiant de la séquence des ordres d’écriture

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« Counter » : numéro incrémental.

  • Il s’agit du dernier numéro utilisé comme identifiant ordonné.

  • Il s’agit d’un entier.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.9.4. Collection TapeCatalog (offre froide)

4.9.4.1. Utilisation de la collection TapeCatalog

La collection TapeCatalog regroupe l’ensemble des bandes magnétiques connues du système. Cette collection est peuplée par Vitam lors de l’initialisation de l’offre froide.

4.9.4.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    "_id": "aeaaaaaaaahar5sqaane4al55udhntqaaaaq",
    "queue_state": "RUNNING",
    "queue_last-update": "1642081219061",
    "queue_creation_date": "2021-12-24T15:19:23.601",
    "queue_message_type": "TapeCatalog",
    "queue_priority": 1,
    "code": "VIT001",
    "bucket": "admin",
    "label": {
        "_id": "aeaaaaaaaahar5sqaane4al55udhntqaaaaq",
        "code": "VIT001",
        "bucket": "admin",
        "creationDate": "2021-12-24T16:33:51.394"
    },
    "library": "TAPE_LIB_2",
    "written_bytes": 78499981,
    "tape_state": "OPEN",
    "file_count": 329,
    "current_location": {
        "index": 0,
        "locationType": "DRIVE"
    },
    "previous_location": {
        "index": 1,
        "locationType": "SLOT"
    },
    "compressed": false,
    "worm": false,
    "_v": 679
}

4.9.4.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant unique.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_state » : état de la bande dans la file d’attente interne à Vitam

  • Il s’agit d’une chaîne de caractères.

  • Les valeurs possibles dans ce champ sont :

    • « READY » : la bande est disponible

    • « RUNNING » : la bande est en cours d’utilisation dans un drive

    • « ERROR » : réservé à un usage futur

    • « COMPLETED » : réservé à un usage futur

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_last-update » : date de modification technique de l’état de la bande dans la file.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_creation_date » : date technique de création de l’enregistrement.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_message_type » : type technique de la file.

  • Il s’agit d’une chaîne de caractères.

  • Valeur fixe : « TapeCatalog »

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_priority » : réservé à un usage futur.

  • Il s’agit d’un entier.

  • Valeur fixe : 1.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« code » : code à barres identifiant la bande magnétique.

  • Il s’agit d’une chaîne de caractères.

  • Ne peut être vide.

  • Cardinalité : 1-1

« bucket » : identifiant permettant d’isoler physiquement les données d’une bande selon le tenant.

  • Il s’agit d’une chaîne de caractères.

  • Non renseigné si la bande est encore vide (« tape_state » est « EMPTY »).

  • Cardinalité : 0-1

« label » : décrit le tout premier fichier écrit sur une bande, qui a un rôle de « marqueur » pour l’identification unique de la bande. Il est notamment utilisé pour éviter toute erreur de manipulation de la bande par un autre applicatif (autre que l’offre froide de Vitam).

  • Cet objet, s’il existe, doit contenir les champs suivants :

    • « _id » : identifiant unique du format.

      • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

      • Cardinalité : 1-1

    • « code » : Code à barres identifiant la bande magnétique.

      • Il s’agit d’une chaîne de caractères.

      • Cardinalité : 1-1

    • « bucket » : Identifiant permettant d’isoler physiquement les données d’une bande selon le tenant.

      • Il s’agit d’une chaîne de caractères.

      • Ne peut être vide.

      • Cardinalité : 1-1

    • « creationDate » : Date de la création de label, qui correspond à la première écriture de donnée sur la bande.

      • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

      • Cardinalité : 1-1

  • Cardinalité : 0-1

« library » : identifiant de la bibliothèque de bandes.

  • Il s’agit d’une chaîne de caractères.

  • Ne peut être vide.

  • Cardinalité : 1-1

« written_bytes » : nombre de bytes écrits sur la bande.

  • Il s’agit d’un entier.

  • Ne peut être vide.

  • Cardinalité : 1-1

« tape_state » : état de la bande magnétique.

  • Il s’agit d’une chaîne de caractères.

  • Les valeurs possibles dans ce champ sont :

    • « EMPTY » : vierge

    • « OPEN » : en cours d’écriture

    • « FULL » : remplie

    • « CONFLICT » : en erreur

  • Ne peut être vide.

  • Cardinalité : 1-1

« file_count » : nombre de fichiers écrits sur la bande.

  • Il s’agit d’un entier.

  • Ne peut être vide.

  • Cardinalité : 1-1

« current_location » : localisation la bande magnétique dans la bibliothèque de bandes.

  • Cet objet, s’il existe, doit contenir les champs suivants :

    • « index » : numéro du lecteur ou de l’emplacement dans lequel se trouve la bande

      • Il s’agit d’un entier.

      • Cardinalité : 1-1

    • « location_type » : type d’emplacement de localisation de la bande magnétique

      • Il s’agit d’une chaîne de caractères.

      • Les valeurs possibles dans ce champ sont :

        • « DRIVE » : dans un lecteur

        • « SLOT » : rangée dans un emplacement

        • « OUTSIDE » : sortie du robot. Réservé à un usage futur

        • « IMPORT/EXPORT » : rangée dans un emplacement de type import/export. Réservé à un usage futur

      • Cardinalité : 1-1

  • Cardinalité : 0-1

« previous_location » : précédente localisation la bande magnétique dans la bibliothèque de bandes.

  • Cet objet, s’il existe, doit contenir les champs suivants :

    • « index » : Numéro du lecteur ou de l’emplacement dans lequel se trouvait précédemment la bande

      • Il s’agit d’un entier.

      • Cardinalité : 1-1

    • « location_type » : type d’emplacement de localisation de la bande magnétique

      • Il s’agit d’une chaîne de caractères.

      • Les valeurs possibles dans ce champ sont :

        • « DRIVE » : dans un lecteur

        • « SLOT » : rangée dans un emplacement

        • « OUTSIDE » : sortie du robot. Réservé à un usage futur

        • « IMPORT/EXPORT » : rangée dans un emplacement de type import/export. Réservé à un usage futur

      • Cardinalité : 1-1

  • Cardinalité : 0-1

« compressed » : indicateur si la compression matérielle est activée.

  • Il s’agit d’un booléen.

  • Cardinalité : 1-1

« worm » : indicateur si la bande est non réinscriptible.

  • Il s’agit d’un booléen.

  • Cardinalité : 1-1

« _v » : version de l’enregistrement décrit.

  • Il s’agit d’un entier.

  • Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

4.9.5. Collections TapeQueueMessage (offre froide)

4.9.5.1. Utilisation de la collection TapeQueueMessage

La collection TapeQueueMessage contient la liste (file d’attente) des ordres d’écriture vers une bande ou de lecture depuis une bande.

4.9.5.2. Exemples de JSON stockés en base comprenant l’exhaustivité des champs

{
    "_id" : "aeaaaaaaaacctyjaacrv6al6kq76acyaaaaq",
    "queue_state" : "RUNNING",
    "queue_last-update" : NumberLong(1642090979954),
    "queue_creation_date" : "2022-01-13T16:22:59.351",
    "queue_message_type" : "WriteOrder",
    "queue_priority" : 2,
    "bucket" : "myBucket1",
    "fileBucketId" : "myFileBucketId1",
    "filePath" : "myArchiveId1",
    "size" : NumberLong(1234567890123),
    "digest" : "digest1",
    "archiveId" : "myArchiveId1"
}
{
    "_id" : "aeaaaaaaaacctyjaacuvial6krcc5oyaaaaq",
    "queue_state" : "READY",
    "queue_last-update" : "2022-01-13T16:27:41.659",
    "queue_creation_date" : "2022-01-13T16:27:41.662",
    "queue_message_type" : "WriteBackupOrder",
    "queue_priority" : 2,
    "bucket" : "myBucket1",
    "fileBucketId" : "myFileBucketId1",
    "filePath" : "myArchiveId1",
    "size" : NumberLong(1234567890123),
    "digest" : "digest1",
    "archiveId" : "myArchiveId1"
}
{
    "_id" : "aeaaaaaaaacctyjaacxkial6kremcgaaaaaq",
    "queue_state" : "RUNNING",
    "queue_last-update" : NumberLong(1642091561882),
    "queue_creation_date" : "2022-01-13T16:32:41.269",
    "queue_message_type" : "ReadOrder",
    "queue_priority" : 1,
    "tapeCode" : "VIT0001",
    "bucket" : "myBucket",
    "filePosition" : 3,
    "fileName" : "tarId.tar",
    "fileBucketId" : "myFileBucketId",
    "size" : NumberLong(1234567890123)
}

4.9.5.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant unique.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_state » : état de traitement de l’ordre dans la file d’attente.

  • Il s’agit d’une chaîne de caractères.

  • Les valeurs possibles dans ce champ sont :

    • « READY » : ordre prêt à être exécuté

    • « RUNNING » : ordre en cours d’exécution

    • « ERROR » : ordre en erreur

    • « COMPLETED » : réservé à un usage futur

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_last-update » : date et heure de la dernière mise à jour l’ordre.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_creation_date » : date et heure de création de l’ordre.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_message_type » : type de l’ordre.

  • Il s’agit d’une chaîne de caractères.

  • Les valeurs possibles dans ce champ sont :

    • « ReadOrder » : ordre de lecture d’un fichier sur bande

    • « WriteOrder » : ordre d’écriture d’un fichier vers une bande

    • « WriteBackupOrder » : ordre d’écriture spécial pour les archives de type back-up de la base de données.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« queue_priority » : priorité de l’ordre. Réservée à un usage futur.

  • Il s’agit d’un entier.

  • Valeur fixe : 1.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« tapeCode » : identifiant de la bande magnétique cible (code à barres).

  • Il s’agit d’une chaîne de caractères.

  • Présent uniquement dans les cas d’un ordre de lecture (ReadOrder)

  • Cardinalité : 0-1

« bucket » : identifiant permettant d’isoler physiquement les données d’une bande selon le tenant.

  • Il s’agit d’une chaîne de caractères.

  • Ne peut être vide.

  • Cardinalité : 1-1

« filePosition » : position sur la bande magnétique.

  • Présent uniquement dans les cas d’un ordre de lecture (ReadOrder)

  • Il s’agit d’un entier.

  • Cardinalité : 0-1

« FileName » : nom de l’archive à écrire sur disque.

  • Présent uniquement dans les cas d’un ordre de lecture (ReadOrder)

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« fileBucketId » : identifiant permettant de regrouper les objets par type (metadata, objet binaire ou autre) au sein d’un bucket.

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« filePath » : chemin de l’archive à écrire sur disque

  • Présent uniquement dans les cas d’un ordre d’écriture (WriteOrder ou WriteBackupOrder)

  • Il s’agit d’une chaîne de caractères.

  • Cardinalité : 0-1

« size »: taille du fichier en octets.

  • Il s’agit d’un entier.

  • Ne peut être vide

  • Cardinalité : 1-1

« digest » : empreinte du fichier.

  • Il s’agit d’une chaîne de caractères

  • Cardinalité : 0-1

« archiveId » : identifiant unique de l’archive.

  • Présent uniquement dans les cas d’un ordre d’écriture (WriteOrder ou WriteBackupOrder)

  • Il s’agit d’une chaîne de caractères

  • Cardinalité : 0-1

4.9.6. Collection TapeObjectReferential (offre froide)

4.9.6.1. Utilisation de la collection TapeObjectReferential

La collection TapeObjectReferential écrit un objet archivé dans l’offre froide.

4.9.6.2. Exemple de JSON stocké en base comprenant l’exhaustivité des champs

{
    "_id": {
        "containerName": "frigo_1_report",
        "objectName": "aeeaaaaaaghghpjyabeugal55upghlyaaaaq.json"
    },
    "size": 22393,
    "digestType": "SHA-512",
    "digest": "b8f6aecf662642c9f9f64b9dc1a8c351118568af23db6d1f673afa053237937b1d5da522b08f2792971583947624ec16daaab0e78a5839b5c7bb8451b00c7dc4",
    "storageId": "aeeaaaaaaghghpjyabeugal55upghlyaaaaq.json-aeaaaaaaaahar5sqaan72al55upiavaaaaaq",
    "location": {
        "type": "tar",
        "tarEntries": [
            {
                "tarFileId": "20211224153343742-eface7d9-42c7-4dd5-a1fb-5edb36f8de72.tar",
                "entryName": "frigo_1_report/aeeaaaaaaghghpjyabeugal55upghlyaaaaq.json-aeaaaaaaaahar5sqaan72al55upiavaaaaaq-0",
                "startPos": 806912,
                "size": 22393,
                "digest": "b8f6aecf662642c9f9f64b9dc1a8c351118568af23db6d1f673afa053237937b1d5da522b08f2792971583947624ec16daaab0e78a5839b5c7bb8451b00c7dc4"
            }
        ]
    },
    "lastObjectModifiedDate": "2021-12-24T15:45:38.909",
    "lastUpdateDate": "2021-12-24T15:45:38.937"
}

4.9.6.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant technique du fichier objet.

  • Il s’agit d’un object composé des champs suivants :

    • « containerName » : identifiant du conteneur du fichier objet

    • « objectName » : nom de l’objet à persister

  • Cardinalité : 1-1

« size »: taille du fichier d’objet en octets.

  • Il s’agit d’un entier.

  • Ne peut être vide

  • Cardinalité : 1-1

« digestType » : algorithme de hachage.

  • Il s’agit d’une chaîne de caractères.

  • Il s’agit du nom de l’algorithme de hachage utilisé pour l’empreinte.

  • Cardinalité : 1-1

« digest » : empreinte du fichier d’objet.

  • Il s’agit d’une chaîne de caractères.

  • Ne peut être vide

  • Cardinalité : 1-1

« storageId » : identifiant unique de la version de l’objet.

  • Il s’agit d’une chaîne de caractères au format {objectName}-{guid}, où :

    • {objectName} est le nom de l’objet

    • {guid} est une chaîne de 36 caractères correspondant à un GUID.

  • Ne peut être vide

  • Champ peuplé par la solution logicielle Vitam à chaque écriture ou réécriture d’un objet.

  • Cardinalité : 1-1

« location » : localisation physique de l’objet.

  • Cet objet, doit contenir les champs suivants :

    • « type » : Type de stockage de l’objet

      • Il s’agit d’une chaîne de caractères.

      • Les valeurs possibles dans ce champ sont :

        • « input_file » : L’objet a été reçu par l’offre et écrit localement sur disque, mais n’a par encore été archivé dans une archive de type TAR

        • « tar » : le fichier d’objet est contenu dans une ou plusieurs archives de type TAR. Les archives peuvent être en cours de construction, prêtes à être écrites sur bande ou archivées définitivement sur bandes.

      • Cardinalité : 1-1

    • « tarEntries » : pour le cas d’un type « tar », les références aux fichiers TAR contenant le fichier d’objet (ou des parties du fichier d’objet) sous forme de tableau

      • Le tableau contient n structures contenant les champs suivants :

        • « tarFileId » : identifiant du fichier d’archive de type TAR

          • Il s’agit d’une chaîne de caractères.

          • Ne peut être vide

          • Cardinalité : 1-1

        • « entryName » : Nom de l’entrée (nom technique du fichier au sein de l’archive TAR)

          • Il s’agit d’une chaîne de caractères.

          • Ne peut être vide

          • Cardinalité : 1-1

        • « tarPosition » : Position, en octets, du fichier dans l’archive

          • Il s’agit d’un entier

          • Ne peut être vide.

          • Cardinalité : 1-1

        • « size » : taille du fichier d’objet en octets contenu dans l’archive

          • Il s’agit d’un entier.

          • Ne peut être vide

          • Cardinalité : 1-1

        • « digest » : empreinte du fichier d’objet en octets contenu dans l’archive

          • Il s’agit d’un entier.

          • Ne peut être vide

          • Cardinalité : 1-1

      • Cardinalité : 0-n

« lastObjectModifiedDate » : date et heure de l’écriture de la dernière version de l’objet.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« lastUpdateDate » : date et heure de la dernière modification technique du document.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

4.9.7. Collection TapeArchiveReferential (offre froide)

4.9.7.1. Utilisation de la collection TapeArchiveReferential

La collection TapeArchiveReferential écrit une archive de données archivée sur une bande magnétique ou en cours d’archivage.

4.9.7.2. Exemples de JSON stockés en base comprenant les différents cas possibles

{
    "_id": "20211225001023845-cca8fa6a-acd5-4192-8132-ba2d907ef6df.tar",
    "location": {
        "type": "on_tape",
        "tapeCode": "VIT006",
        "filePosition": 4
    },
    "entryTape": "DATA",
    "lastUpdateDate": "2021-12-25T01:10:34.549",
    "digest": "93fc8689667f5ae6c083fde08379c4469f92d43d19ec54f5434d94c892d700b3a54fa1f4d842576005fa6dd8013c1f19f7b1749bfafd1dd4a61800a56c7f9583",
    "size": 549888
}
{
    "_id": "20211225001023845-cca8fa6a-acd5-4192-8132-ba2d907ef6df.tar",
    "location": { 
        "type": "ready_on_disk" 
    },
    "entryTape": "DATA",
    "lastUpdateDate": "2021-12-25T01:10:34.549",
    "digest": "93fc8689667f5ae6c083fde08379c4469f92d43d19ec54f5434d94c892d700b3a54fa1f4d842576005fa6dd8013c1f19f7b1749bfafd1dd4a61800a56c7f9583",
    "size": 12346789
}
{
    "_id": "20211225001023845-cca8fa6a-acd5-4192-8132-ba2d907ef6df.tar",
    "location": {
        "type": "building_on_disk"
    },
    "entryTape": "DATA",
    "lastUpdateDate": "2022-01-13T15:15:27.983"
}

4.9.7.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant unique de l’archive.

  • Il s’agit d’une chaîne de caractères.

  • Le format est {timestamp}_{guid}.tar, où

    • {timestamp} est la date et heure de création de l’archive an format AAAAMMJJhhmmssmmmm.

    • {guid} est une chaîne de 36 caractères correspondant à un GUID.

  • Cardinalité : 1-1

« location » : décrit la localisation de l’archive TAR

  • Cet objet doit contenir les champs suivants :

    • « type » : Type de localisation

      • Il s’agit d’une chaîne de caractères.

      • Les valeurs possibles dans ce champ sont :

        • « building_on_disk » : l’archive TAR est en cours de construction sur le filesystem

        • « ready_on_disk » : l’archive TAR est sur filesystem et prête à être écrite sur une bande magnétique

        • « on_tape » : l’archive TAR est écrite sur une bande magnétique

      • Cardinalité : 1-1

    • « tapeCode » : Identifiant de la bande magnétique

      • Il s’agit d’une chaîne de caractères.

      • Doit être renseigné dans le cas où « type » est « on_tape »

      • Cardinalité : 0-1

    • « filePosition » : Position sur la bande magnétique

      • Il s’agit d’un entier.

      • Doit être renseigné dans le cas où « type » est « on_tape »

      • Cardinalité : 0-1

  • Cardinalité : 1-1

« entry_type » : type de l’archive

  • Il s’agit d’une chaîne de caractères.

  • Les valeurs possibles dans ce champ sont :

    • « DATA » : Archive de type TAR contenant des données standard Vitam à archiver

    • « BACKUP » : Pour les archives spéciales contenant des back-ups de la base de données (WriteBackupOrder)

  • Cardinalité : 1-1

« lastUpdateDate » : date de dernière mise à jour technique du document.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« digest » : empreinte définitive de l’archive TAR.

  • Il s’agit d’une chaîne de caractères.

  • Doit être renseigné dans les cas où « location.type » est « ready_on_disk » ou « on_tape »

  • Cardinalité : 0-1

« size » : taille définitive en octets de l’archive TAR.

  • Il s’agit d’un entier.

  • Doit être renseigné dans les cas où « location.type » est « ready_on_disk » ou « on_tape »

  • Cardinalité : 0-1

4.9.8. Collection TapeAccessRequestReferential (offre froide)

4.9.8.1. Utilisation de la collection TapeAccessRequestReferential

Cette collection contient les demandes d’accès aux archives contenues sur un stockage de type bandes magnétiques.

4.9.8.2. Exemples de JSON stockés en base comprenant l’exhaustivité des champs

{
    "_id": "aeaaaaaaaahjp2jaabukyal6nxps3eaaaaaq",
    "containerName": "prod_0_unit",
    "objectNames": [ "aeeaaaaaaghjko2fabdtwal6nxvvwyaaaaaq.json", "aecaaaaaawhjp2jaabllial6nx4l3biaaaaq.json" ],
    "creationDate": "2022-01-18T16:00:57.472",
    "readyDate": null,
    "expirationDate": null,
    "purgeDate": null,
    "unavailableArchiveIds": [ "20220118154732676-a075455e-e5ec-49c0-90b9-113dda067e37.tar", "20220118154732676-a075455e-e5ec-49c0-90b9-113dda067e37.tar" ],
    "_v": 5
}
{
    "_id": "aeaaaaaaaahjp2jaabukyal6nxps3eaaaaaq",
    "containerName": "prod_0_unit",
    "objectNames": [ "aeeaaaaaaghjko2fabdtwal6nxvvwyaaaaaq.json", "aecaaaaaawhjp2jaabllial6nx4l3biaaaaq.json" ],
    "creationDate": "2022-01-18T16:00:57.472",
    "readyDate": "2022-01-18T16:05:11.235",
    "expirationDate": "2022-02-17T16:05:11.235",
    "purgeDate": "2022-03-19T16:05:11.235",
    "unavailableArchiveIds": [],
    "_v": 6
}

4.9.8.3. Détail des champs du JSON stocké dans la collection

« _id » : identifiant de la requête d’accès.

  • Il s’agit d’une chaîne de 36 caractères correspondant à un GUID.

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« containerName » : identifiant du conteneur de la donnée concernée par la requête d’accès.

  • Il s’agit d’une chaîne de caractères.

  • Le format du conteneur est {environnement}_{tenant}_{repertoire}, où :

    • {environnement} est l’identifiant de l’environnement Vitam configuré

    • {tenant} est le tenant auquel appartient l’objet

    • {repertoire} est un répertoire de stockage dépendant du type de données. Ex « unit » pour les unités archivistiques et leur journal du cycle de vie, « object » pour les objets binaires, etc.

  • Ne peut être vide.

  • Cardinalité : 1-1

« objectNames » : liste des objets concernés par la requête d’accès.

  • le tableau contient des chaînes de caractères.

  • Ne peut être vide.

  • Cardinalité : 1-n

« creationDate » : date de création de la requête d’accès.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 1-1

« readyDate » : date à laquelle la demande d’accès est devenue prête. Une demande d’accès est prête lorsque tous ses objets sont disponibles pour lecture immédiate depuis le disque.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 0-1

« expirationDate » : date à laquelle la demande d’accès prête expirera. Une demande d’accès expire automatiquement après un délai configurable à partir du moment où elle devient prête.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 0-1

« purgeDate » : date à laquelle la demande d’accès prête sera purgée de la base de données. Une demande d’accès est purgée automatiquement après un délai configurable à partir du moment où elle devient prête.

  • Il s’agit d’une date au format ISO8601 AAAA-MM-JJ+ « T » +hh:mm:ss:[3 digits de millisecondes]

  • Champ peuplé par la solution logicielle Vitam.

  • Cardinalité : 0-1

« unavailableArchiveIds » : liste des identifiants des archives actuellement indisponibles sur disque et dont la lecture depuis une bande est en cours.

  • le tableau contient des chaînes de caractères.

  • Cardinalité : 0-n

_v »: version de la requête d’accès.

  • Il s’agit d’un entier.

  • Si le numéro est supérieur à 0, alors il s’agit du numéro de version de l’enregistrement.

  • Cardinalité : 1-1

4.10. Annexe 1 : Valeurs possibles pour le champ evType du LogBook Operation

L’ensemble des étapes, tâches et traitements sont détaillés dans la documentation Modèle de workflow.

4.11. Annexe 2 : Valeurs possibles pour le champ evType du LogBook LifeCycle

L’ensemble des étapes, tâches et traitements sont détaillées dans la documentation Modèle de workflow.

4.12. Annexe 3: Valeurs possibles pour le champ evTypeProc (type de processus)

Process Type

Valeur

Description

Archive Transfer process

ARCHIVE_TRANSFER

Transfert

Audit Type process

AUDIT

Audit

Bulk Update process

BULK_UPDATE

Mise à jour unitaire en masse

Check type process

CHECK

Vérification

ComputedInheritedRules process

COMPUTE_INHERITED_RULES

Calcul des règles de gestion applicables

Migration

DATA_MIGRATION

Migration

Delete GOT versions process

DELETE_GOT_VERSIONS

Suppression de versions d’objets

Destruction type process

ELIMINATION

Élimination

Evidence Audit type process

EVIDENCEAUDIT

Audit de traçabilité

DIP export

EXPORT_DIP

Export de DIP

Evidence probativevalue export

EXPORT_PROBATIVE_VALUE

Export d’un relevé de valeur probante

External

EXTERNAL

Opération Externe à VITAM

Filing scheme type process

FILINGSCHEME

Import de plan de classement

Holding scheme type process (tree)

HOLDINGSCHEME

Entrée de plan

Ingest type process

INGEST

Entrée

Ingest test type process

INGEST_TEST

Entrée à blanc

Mass update of archive units

MASS_UPDATE

Modification de masse

Rules Manager process

MASTERDATA

Données de base

Preservation type process

PRESERVATION

Préservation

Reclassification process (attachment/detachment)

RECLASSIFICATION

Modification d’arborescence

Storage Backup type process

STORAGE_BACKUP

Enregistrement du backup

Storage Logbook type process

STORAGE_LOGBOOK

Enregistrement des journaux

Storage Angencies type process

STORAGE_RULE

Enregistrement du référentiel des services agents

Traceability type process

TRACEABILITY

Sécurisation

Update process

UPDATE

Mise à jour

4.13. Annexe 4 : Catégories de règles possibles

Prefixe (Peut être modifié)

Type de règle correspondante

Description du type de règle

ACC

AccessRule

Règle d’accès / délai de communicabilité

APP

Appraisal

Règle correspondant à la durée d’utilité administrative (DUA)/ Durée de rétention / conservation

CLASS

ClassificationRule

Règle de classification

DIS

DisseminationRule

Règle de diffusion

REU

ReuseRule

Règle de réutilisation

STO

StorageRule

Durée d’utilité courante / durée de conservation au sens de la loi Informatique et Libertés

HOL

HoldRule

Gel

4.14. Annexe 5 : Valeurs possibles pour le champ Status de la collection AccessionRegisterDetail

Status type

Valeur

Le fonds est complet et sauvegardé

STORED_AND_COMPLETED

Le fonds est mis à jour et sauvegardé

STORED_AND_UPDATED

Le fonds n’est pas sauvegardé

UNSTORED

4.15. Annexe 6 : Valeurs possibles pour le champ Name de la collection VitamSequence

Prefixe

Type de collection correspondante

Description

AC

AccessContract

Contrats d’accès

AG

Agencies

Services agents

AUP

ArchiveUnitProfile

Profil d’unité archivistique

CT

Context

Contextes applicatifs

GR

Griffin

Griffons

IC

IngestContract

Contrats d’entrée

FORMATS

FileFormats

Formats

MC

ManagementContract

Contrats de gestion

ON

Ontology

Ontologie

PR

Profile

Profils d’archivage

PSC

PreservationScenario

Scénarios de préservation

REGISTER_DETAIL

AccessionRegisterDetail

Détail du registre des fonds

REGISTER_SYMBOLIC

AccessionRegisterSymbolic

Registre des fonds symboliques

RULE

FileRules

Règles de gestion

SEC_PROFILE

SecurityProfiles

Profils de sécurité

4.16. Annexe 7 : Type d’indexation des chaînes de caractères dans ElasticSearch par collection et par champ

Collection AccessContract

Champ

Type d’indexation

AccessLog

Non analysé

ActivationDate

Non analysé

CreationDate

Non analysé

DeactivationDate

Non analysé

DataObjectVersion

Non analysé

Description

Analysé

EveryDataObjectVersion

Non analysé

EveryOriginatingAgency

Non analysé

ExcludedRootUnits

Non analysé

Identifier

Non analysé

LastUpdate

Non analysé

Name

Analysé

OriginatingAgencies

Non analysé

RuleCategoryToFilter

Non analysé

RootUnits

Non analysé

Status

Non analysé

WritingPermission

Non analysé

WritingRestrictedDesc

Non analysé

Collection AccessionRegisterDetail

Champ

Type d’indexation

ArchivalAgreement

Non analysé

OperationIds

Non analysé

OriginatingAgency

Non analysé

Status

Non analysé

SubmissionAgency

Non analysé

Opc

Non analysé

Opi

Non analysé

OpType

Non analysé

LegalStatus

Analysé

AcquisitionInformation

Non analysé

Archive Profile

Non analysé

ObIdIn

Analysé

Comment

Analysé

Collection AccessionRegisterSummary

Champ

Type d’indexation

OriginatingAgency

Non analysé

Collection AccessionRegisterSymbolic

Champ

Type d’indexation

OriginatingAgency

Non analysé

Collection Agencies

Champ

Type d’indexation

Description

Analysé

Identifier

Non analysé

Name

Analysé

Collection Context

Champ

Type d’indexation

Identifier

Non analysé

Name

Analysé

Permissions.AccessContracts

Non analysé

Permissions.IngestContracts

Non analysé

SecurityProfile

Non analysé

Status

Non analysé

Collection FileFormat

Champ

Type d’indexation

Comment

Analysé

Extension

Non analysé

Group

Analysé

HasPriorityOverFileFormatID

Non analysé

MimeType

Analysé

Name

Analysé

PUID

Non analysé

Version

Non analysé

VersionPronom

Non analysé

Collection FileRule

Champ

Type d’indexation

RuleDescription

Analysé

RuleDuration

Non analysé

RuleId

Non analysé

RuleMeasurement

Non analysé

RuleType

Non analysé

RuleValue

Analysé

Collection Griffin

Champ

Type d’indexation

Name

Analysé

Description

Analysé

ExecutableVersion

Non analysé

ExecutableName

Non analysé

Identifier

Non analysé

Collection IngestContract

Champ

Type d’indexation

ActivationDate

Non analysé

CreationDate

Non analysé

DeactivationDate

Non analysé

ArchiveProfiles

Non analysé

ComputeInheritedRulesAtIngest

Non analysé

Description

Analysé

EveryDataObjectVersion

Non analysé

EveryFormatType

Non analysé

FormatUnidentifiedAuthorized

Non analysé

Identifier

Non analysé

LastUpdate

Non analysé

LinkParentId

Non analysé

CheckParentId

Non analysé

CheckParentLink

Non analysé

ManagementContractId

Non analysé

MasterMandatory

Non analysé

Name

Analysé

Status

Non analysé

DataObjectVersion

Non analysé

FormatType

Non analysé

Collection LogbookOperation

Champ

Type d’indexation

events.evDetData.evDetDataType

Non analysé

events.evDetData.LogType

Non analysé

events.evDetData.Hash

Non analysé

events.evDetData.TimeStampToken

Non analysé

events.evDetData.FileName

Analysé

events.evDetData.EvDetailReq

Non analysé

events.evDetData.AgIfTrans

Non analysé

events.evDetData.ArchivalAgreement

Non analysé

events.evDetData.ServiceLevel

Non analysé

events.evDetData.DigestAlgorithm

Non analysé

events.evDetData.SecurisationVersion

Analysé

events.evDetData.validateUnitReport.loadingURI

Analysé

events.evDetData.validateUnitReport.loadingURI

Analysé

events.agIdExt.originatingAgency

Non analysé

events.agIdExt.TransferringAgency

Non analysé

events.agIdExt.ArchivalAgency

Non analysé

events.rightsStatementIdentifier.ArchivalAgreement

Analysé

events.evTypeProc

Non analysé

events.evType

Non analysé

events.outcome

Non analysé

events.outDetail

Non analysé

events.outMessg

Analysé

events.agId

Analysé

events.obId

Non analysé

evId

Non analysé

evIdProc

Non analysé

evIdReq

Non analysé

evParentId

Non analysé

evTypeProc

Non analysé

evType

Non analysé

outcome

Non analysé

outMessg

Analysé

agId

Analysé

outMessg

Analysé

LegalStatus

Non analysé

obId

Analysé

Collection ManagementContract

Champ

Type d’indexation

ActivationDate

Non analysé

CreationDate

Non analysé

DeactivationDate

Non analysé

Description

Analysé

Identifier

Non analysé

InitialVersion

Non analysé

IntermediaryVersion

Non analysé

LastUpdate

Non analysé

Name

Analysé

ObjectGroupStrategy

Non analysé

ObjectStrategy

Non analysé

Status

Non analysé

UsageName

Non analysé

UnitStrategy

Non analysé


Collection ObjectGroup

Champ

Type d’indexation

FileInfo.CreatingApplicationName

Analysé

FileInfo.CreatingApplicationVersion

Analysé

FileInfo.CreatingOs

Analysé

FileInfo.CreatingOsVersion

Analysé

FileInfo.Filename

Analysé

_glpd

Non analysé

_opi

Non analysé

_ops

Non analysé

_profil

Non analysé

_qualifiers.qualifier

Non analysé

_qualifiers.versions.Algorithm

Non analysé

_qualifiers.versions.DataObjectGroupId

Non analysé

_qualifiers.versions.DataObjectVersion

Non analysé

_qualifiers.versions.FileInfo.CreatingApplicationName

Analysé

_qualifiers.versions.FileInfo.CreatingApplicationVersion

Analysé

_qualifiers.versions.FileInfo.CreatingOs

Analysé

_qualifiers.versions.FileInfo.CreatingOsVersion

Analysé

_qualifiers.versions.FileInfo.Filename

Analysé

_qualifiers.versions.FormatIdentification.Encoding

Non analysé

_qualifiers.versions.FormatIdentification.FormatId

Non analysé

_qualifiers.versions.FormatIdentification.FormatLitteral

Non analysé

_qualifiers.versions.FormatIdentification.MimeType

Non analysé

_qualifiers.versions.MessageDigest

Non analysé

_qualifiers.versions.PhysicalDimensions.Depth.unit

Non analysé

_qualifiers.versions.PhysicalDimensions.Diameter.unit

Non analysé

_qualifiers.versions.PhysicalDimensions.Height.unit

Non analysé

_qualifiers.versions.PhysicalDimensions.Length.unit

Non analysé

_qualifiers.versions.PhysicalDimensions.Shape

Non analysé

_qualifiers.versions.PhysicalDimensions.Thickness.unit

Non analysé

_qualifiers.versions.PhysicalDimensions.Weight.unit

Non analysé

_qualifiers.versions.PhysicalDimensions.Width.unit

Non analysé

_qualifiers.versions.PhysicalId

Non analysé

_qualifiers.versions.Uri

Non analysé

_qualifiers.versions._id

Non analysé

_qualifiers.versions._storage.offerIds

Non analysé

_qualifiers.versions._storage.strategyId

Non analysé

_score

notIndexed

_sp

Non analysé

_sps

Non analysé

_storage.offerIds

Non analysé

_storage.strategyId

Non analysé

_up

Non analysé

_us

Non analysé


Collection Ontology

Champ

Type d’indexation

ApiField

Non analysé

SedaField

Non analysé

Identifier

Non analysé

Description

Analysé

Type

Non analysé

Origin

Non analysé

ShortName

Non analysé

Collections

Non analysé

Collection PreservationScenario

Champ

Type d’indexation

Name

Analysé

Identifier

Non analysé

Description

Analysé

ActionList

Non analysé

FormatList

Non analysé

GriffinIdentifier

Non analysé

Type

Non analysé

Extension

Non analysé

Args

Analysé

Collection Profile

Champ

Type d’indexation

Description

Analysé

Format

Non analysé

Identifier

Non analysé

Name

Analysé

Path

Non analysé

Status

Non analysé

Collection Unit

Champ

Type d’indexation

Addressee.BirthName

Analysé

Addressee.BirthPlace.Address

Analysé

Addressee.BirthPlace.City

Analysé

Addressee.BirthPlace.Country

Analysé

Addressee.BirthPlace.Geogname

Analysé

Addressee.BirthPlace.PostalCode

Non analysé

Addressee.BirthPlace.Region

Analysé

Addressee.Corpname

Analysé

Addressee.DeathPlace.Address

Analysé

Addressee.DeathPlace.City

Analysé

Addressee.DeathPlace.Country

Analysé

Addressee.DeathPlace.Geogname

Analysé

Addressee.DeathPlace.PostalCode

Non analysé

Addressee.DeathPlace.Region

Analysé

Addressee.FirstName

Analysé

Addressee.Gender

Analysé

Addressee.GivenName

Analysé

Addressee.Identifier

Non analysé

Addressee.Nationality

Analysé

ArchivalAgencyArchiveUnitIdentifier

Non analysé

ArchiveUnitProfile

Non analysé

AuthorizedAgent.BirthName

Analysé

AuthorizedAgent.BirthPlace.Address

Analysé

AuthorizedAgent.BirthPlace.City

Analysé

AuthorizedAgent.BirthPlace.Country

Analysé

AuthorizedAgent.BirthPlace.Geogname

Analysé

AuthorizedAgent.BirthPlace.PostalCode

Non analysé

AuthorizedAgent.BirthPlace.Region

Analysé

AuthorizedAgent.Corpname

Analysé

AuthorizedAgent.DeathPlace.Address

Analysé

AuthorizedAgent.DeathPlace.City

Analysé

AuthorizedAgent.DeathPlace.Country

Analysé

AuthorizedAgent.DeathPlace.Geogname

Analysé

AuthorizedAgent.DeathPlace.PostalCode

Non analysé

AuthorizedAgent.DeathPlace.Region

Analysé

AuthorizedAgent.FirstName

Analysé

AuthorizedAgent.Gender

Analysé

AuthorizedAgent.GivenName

Analysé

AuthorizedAgent.Identifier

Non analysé

AuthorizedAgent.Nationality

Analysé

Coverage.Juridictional

Analysé

Coverage.Spatial

Analysé

Coverage.Temporal

Analysé

CustodialHistory.CustodialHistoryFile.DataObjectGroupReferenceId

Non analysé

CustodialHistory.CustodialHistoryItem

Analysé

Description

Analysé

DescriptionLanguage

Non analysé

DescriptionLevel

Non analysé

DocumentType

Analysé

Event.EventDetail

Analysé

Event.EventIdentifier

Non analysé

Event.EventType

Analysé

FilePlanPosition

Non analysé

Gps.GpsAltitude

Non analysé

Gps.GpsAltitudeRef

Non analysé

Gps.GpsDateStamp

Non analysé

Gps.GpsLatitude

Non analysé

Gps.GpsLatitudeRef

Non analysé

Gps.GpsLongitude

Non analysé

Gps.GpsLongitudeRef

Non analysé

Gps.GpsVersionID

Non analysé

Non analysé.Non analyséContent

Non analysé

Non analysé.Non analyséReference

Non analysé

Non analysé.Non analyséType

Non analysé

Language

Non analysé

OriginatingAgency.Identifier

Non analysé

OriginatingAgencyArchiveUnitIdentifier

Non analysé

OriginatingSystemId

Non analysé

Recipient.BirthName

Analysé

Recipient.BirthPlace.Address

Analysé

Recipient.BirthPlace.City

Analysé

Recipient.BirthPlace.Country

Analysé

Recipient.BirthPlace.Geogname

Analysé

Recipient.BirthPlace.PostalCode

Non analysé

Recipient.BirthPlace.Region

Analysé

Recipient.Corpname

Analysé

Recipient.DeathPlace.Address

Analysé

Recipient.DeathPlace.City

Analysé

Recipient.DeathPlace.Country

Analysé

Recipient.DeathPlace.Geogname

Analysé

Recipient.DeathPlace.PostalCode

Non analysé

Recipient.DeathPlace.Region

Analysé

Recipient.FirstName

Analysé

Recipient.Gender

Analysé

Recipient.GivenName

Analysé

Recipient.Identifier

Non analysé

Recipient.Nationality

Analysé

RelatedObjectReference.IsPartOf.ArchiveUnitRefId

Non analysé

RelatedObjectReference.IsPartOf.DataObjectReference.DataObjectGroupReferenceId

Non analysé

RelatedObjectReference.IsPartOf.DataObjectReference.DataObjectReferenceId

Non analysé

RelatedObjectReference.IsPartOf.RepositoryArchiveUnitPID

Non analysé

RelatedObjectReference.IsPartOf.RepositoryObjectPID

Non analysé

RelatedObjectReference.IsVersionOf.ArchiveUnitRefId

Non analysé

RelatedObjectReference.IsVersionOf.DataObjectReference.DataObjectGroupReferenceId

Non analysé

RelatedObjectReference.IsVersionOf.DataObjectReference.DataObjectReferenceId

Non analysé

RelatedObjectReference.IsVersionOf.RepositoryArchiveUnitPID

Non analysé

RelatedObjectReference.IsVersionOf.RepositoryObjectPID

Non analysé

RelatedObjectReference.References.ArchiveUnitRefId

Non analysé

RelatedObjectReference.References.DataObjectReference.DataObjectGroupReferenceId

Non analysé

RelatedObjectReference.References.DataObjectReference.DataObjectReferenceId

Non analysé

RelatedObjectReference.References.RepositoryArchiveUnitPID

Non analysé

RelatedObjectReference.References.RepositoryObjectPID

Non analysé

RelatedObjectReference.Replaces.ArchiveUnitRefId

Non analysé

RelatedObjectReference.Replaces.DataObjectReference.DataObjectGroupReferenceId

Non analysé

RelatedObjectReference.Replaces.DataObjectReference.DataObjectReferenceId

Non analysé

RelatedObjectReference.Replaces.ExternalReference

Analysé

RelatedObjectReference.Replaces.RepositoryArchiveUnitPID

Non analysé

RelatedObjectReference.Replaces.RepositoryObjectPID

Non analysé

RelatedObjectReference.Requires.ArchiveUnitRefId

Non analysé

RelatedObjectReference.Requires.DataObjectReference.DataObjectGroupReferenceId

Non analysé

RelatedObjectReference.Requires.DataObjectReference.DataObjectReferenceId

Non analysé

RelatedObjectReference.Requires.RepositoryArchiveUnitPID

Non analysé

RelatedObjectReference.Requires.RepositoryObjectPID

Non analysé

Sender.Activity

Non analysé

Sender.BirthName

Analysé

Sender.BirthPlace.Address

Analysé

Sender.BirthPlace.City

Analysé

Sender.BirthPlace.Country

Analysé

Sender.BirthPlace.Geogname

Analysé

Sender.BirthPlace.PostalCode

Non analysé

Sender.BirthPlace.Region

Analysé

Sender.DeathPlace.Address

Analysé

Sender.DeathPlace.City

Analysé

Sender.DeathPlace.Country

Analysé

Sender.DeathPlace.Geogname

Analysé

Sender.DeathPlace.PostalCode

Non analysé

Sender.DeathPlace.Region

Analysé

Sender.FirstName

Analysé

Sender.Function

Non analysé

Sender.Gender

Analysé

Sender.GivenName

Analysé

Sender.Identifier

Non analysé

Sender.Mandate

Analysé

Sender.Nationality

Analysé

Sender.Position

Analysé

Sender.Role

Analysé

Signature.Masterdata.Value

Non analysé

Signature.ReferencedObject.SignedObjectDigest.Algorithm

Non analysé

Signature.ReferencedObject.SignedObjectDigest.MessageDigest

Non analysé

Signature.ReferencedObject.SignedObjectId

Non analysé

Signature.Signer.Activity

Non analysé

Signature.Signer.BirthName

Analysé

Signature.Signer.BirthPlace.Address

Analysé

Signature.Signer.BirthPlace.City

Analysé

Signature.Signer.BirthPlace.Country

Analysé

Signature.Signer.BirthPlace.Geogname

Analysé

Signature.Signer.BirthPlace.PostalCode

Non analysé

Signature.Signer.BirthPlace.Region

Analysé

Signature.Signer.Corpname

Analysé

Signature.Signer.DeathPlace.Address

Analysé

Signature.Signer.DeathPlace.City

Analysé

Signature.Signer.DeathPlace.Country

Analysé

Signature.Signer.DeathPlace.Geogname

Analysé

Signature.Signer.DeathPlace.PostalCode

Non analysé

Signature.Signer.DeathPlace.Region

Analysé

Signature.Signer.FirstName

Analysé

Signature.Signer.Fullname

Analysé

Signature.Signer.Function

Non analysé

Signature.Signer.Gender

Analysé

Signature.Signer.GivenName

Analysé

Signature.Signer.Identifier

Non analysé

Signature.Signer.Nationality

Analysé

Signature.Signer.Position

Analysé

Signature.Signer.Role

Analysé

Signature.Validator.Activity

Non analysé

Signature.Validator.BirthName

Analysé

Signature.Validator.BirthPlace.Address

Analysé

Signature.Validator.BirthPlace.City

Analysé

Signature.Validator.BirthPlace.Country

Analysé

Signature.Validator.BirthPlace.Geogname

Analysé

Signature.Validator.BirthPlace.PostalCode

Non analysé

Signature.Validator.BirthPlace.Region

Analysé

Signature.Validator.Corpname

Analysé

Signature.Validator.DeathPlace.Address

Analysé

Signature.Validator.DeathPlace.City

Analysé

Signature.Validator.DeathPlace.Country

Analysé

Signature.Validator.DeathPlace.Geogname

Analysé

Signature.Validator.DeathPlace.PostalCode

Non analysé

Signature.Validator.DeathPlace.Region

Analysé

Signature.Validator.FirstName

Analysé

Signature.Validator.FullName

Analysé

Signature.Validator.Function

Non analysé

Signature.Validator.Gender

Analysé

Signature.Validator.GivenName

Analysé

Signature.Validator.Identifier

Non analysé

Signature.Validator.Nationality

Analysé

Signature.Validator.Position

Analysé

Signature.Validator.Role

Analysé

Source

Analysé

Status

Non analysé

SubmissionAgency.Identifier

Non analysé

SystemId

Non analysé

Tag

Non analysé

Title

Analysé

TransferringAgencyArchiveUnitIdentifier

Non analysé

Transmitter.Activity

Non analysé

Transmitter.BirthName

Analysé

Transmitter.BirthPlace.Address

Analysé

Transmitter.BirthPlace.City

Analysé

Transmitter.BirthPlace.Country

Analysé

Transmitter.BirthPlace.Geogname

Analysé

Transmitter.BirthPlace.PostalCode

Non analysé

Transmitter.BirthPlace.Region

Analysé

Transmitter.DeathPlace.Address

Analysé

Transmitter.DeathPlace.City

Analysé

Transmitter.DeathPlace.Country

Analysé

Transmitter.DeathPlace.Geogname

Analysé

Transmitter.DeathPlace.PostalCode

Non analysé

Transmitter.DeathPlace.Region

Analysé

Transmitter.FirstName

Analysé

Transmitter.Function

Non analysé

Transmitter.Gender

Analysé

Transmitter.GivenName

Analysé

Transmitter.Identifier

Non analysé

Transmitter.Nationality

Analysé

Transmitter.Position

Analysé

Transmitter.Role

Analysé

Type

Non analysé

Version

Non analysé

Writer.Activity

Non analysé

Writer.BirthName

Analysé

Writer.BirthPlace.Address

Analysé

Writer.BirthPlace.City

Analysé

Writer.BirthPlace.Country

Analysé

Writer.BirthPlace.Geogname

Analysé

Writer.BirthPlace.PostalCode

Non analysé

Writer.BirthPlace.Region

Analysé

Writer.DeathPlace.Address

Analysé

Writer.DeathPlace.City

Analysé

Writer.DeathPlace.Country

Analysé

Writer.DeathPlace.Geogname

Analysé

Writer.DeathPlace.PostalCode

Non analysé

Writer.DeathPlace.Region

Analysé

Writer.FirstName

Analysé

Writer.Function

Non analysé

Writer.Gender

Analysé

Writer.GivenName

Analysé

Writer.Identifier

Non analysé

Writer.Nationality

Analysé

Writer.Position

Analysé

Writer.Role

Analysé

_acd

Non analysé

_aud

Non analysé

_elimination.DestroyableOriginatingAgencies

Non analysé

_elimination.ExtendedInfo.ExtendedInfoDetails.DestroyableOriginatingAgencies

Non analysé

_elimination.ExtendedInfo.ExtendedInfoDetails.NonDestroyableOriginatingAgencies

Non analysé

_elimination.ExtendedInfo.ExtendedInfoDetails.ParentUnitId

Non analysé

_elimination.ExtendedInfo.ExtendedInfoType

Non analysé

_elimination.GlobalStatus

Non analysé

_elimination.NonDestroyableOriginatingAgencies

Non analysé

_elimination.OperationId

Non analysé

_history.data._mgt.ClassificationRule.ClassificationAudience

Non analysé

_history.data._mgt.ClassificationRule.ClassificationLevel

Non analysé

_history.data._mgt.ClassificationRule.ClassificationOwner

Analysé

_history.data._mgt.ClassificationRule.Inheritance.PreventRulesId

Non analysé

_history.data._mgt.ClassificationRule.Rules.Rule

Non analysé

_implementationVersion

Non analysé

_mgt.AccessRule.Inheritance.PreventRulesId

Non analysé

_mgt.AccessRule.Rules.Rule

Non analysé

_mgt.AppraisalRule.FinalAction

Non analysé

_mgt.AppraisalRule.Inheritance.PreventRulesId

Non analysé

_mgt.AppraisalRule.Rules.Rule

Non analysé

_mgt.ClassificationRule.ClassificationAudience

Non analysé

_mgt.ClassificationRule.ClassificationLevel

Non analysé

_mgt.ClassificationRule.ClassificationOwner

Analysé

_mgt.ClassificationRule.Inheritance.PreventRulesId

Non analysé

_mgt.ClassificationRule.Rules.ClassificationAudience

Analysé

_mgt.ClassificationRule.Rules.Rule

Non analysé

_mgt.DisseminationRule.Inheritance.PreventRulesId

Non analysé

_mgt.DisseminationRule.Rules.Rule

Non analysé

_mgt.ReuseRule.Inheritance.PreventRulesId

Non analysé

_mgt.ReuseRule.Rules.Rule

Non analysé

_mgt.StorageRule.FinalAction

Non analysé

_mgt.StorageRule.Inheritance.PreventRulesId

Non analysé

_mgt.StorageRule.Rules.Rule

Non analysé

_og

Non analysé

_opi

Non analysé

_ops

Non analysé

_sedaVersion

Non analysé

_sp

Non analysé

_sps

Non analysé

_storage.offerIds

Non analysé

_storage.strategyId

Non analysé

_unitType

Non analysé

_up

Non analysé

_us

Non analysé

Collection SecurityProfile

Champ

Type d’indexation

Identifier

Non analysé

Name

Analysé

Permissions

Non analysé

4.17. Annexe 8 : Correspondances des champs spéciaux dans Vitam

Les champs dont le nom est préfixé d’un « _ » ne sont pas accessibles directement, une correspondance est nécessaire pour y accéder.

Collection AccessContract

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection AccessionRegisterDetail

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection AccessionRegisterSummary

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection AccessionRegisterSymbolic

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection Agencies

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection Context

Champ

Champ interne

#id

_id

#version

_v

Collection FileFormat

Champ

Champ interne

#id

_id

#version

_v

Collection FileRule

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection Griffin

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection IngestContract

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection LogbookLifeCycle

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection LogbookOperation

Champ

Champ interne

#id

_id

#tenant

_tenant

Collection ObjectGroup

Champ

Champ interne

#id

_id

#profil

_profil

#qualifiers

_qualifiers

#size

_qualifiers.versions.size

#nbobjects

_nbc

#originating_agency

_sp

#originating_agencies

_sps

#unitups

_up

#storage

_storage

#operations

_ops

#opi

_opi

#score

_score

#version

_v

#tenant

_tenant

Collection Profile

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection Ontology

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection PreservationScenario

Champ

Champ interne

#id

_id

#tenant

_tenant

#version

_v

Collection Unit

Le champs « _uds » n’est pas accessible en externe.

Champ

Champ interne

#approximate_creation_date

_acd

#approximate_update_date

_aud

#id

_id

#management

_mgt

#min

_min

#max

_max

#nbunits

_nbc

#object

_og

#originating_agency »

_sp

#originating_agencies

_sps

#unitups

_up

#allunitups

_us

#nbunits

_nbc

#unitType

_unitType

#storage

_storage

#operations

_ops

#opi

_opi

#opts

_opts

#sedaVersion

_sedaVersion

#implementationVersion

_implementationVersion

#score

_score

#version

_v

#tenant

_tenant