Configuration des champs ObjectGroup devant être exclus de la recherche ####################################################################### Cette partie décrit le process d'exclure des propriétes des groupes d'objets lors de leurs recherche dans Vitam en tenant compte des différentes API qui remontent des données de groupes d'objets. Configuration ============= Il faudrait tout d'abord configurer la propriéte ``objectGroupBlackListedFieldsForVisualizationByTenant``, qui définit une Map associant un tenant à une black liste de propriétes de groupe d'objets. Cette liste de propriétes serait exclue d'affichage lors des recherchers faites sur la collection d'objet group pour le tenant concerné. Ci-dessous un exemple de cette configuration, qui existe dans le fichier access-external.conf : .. code-block:: text authentication: true jettyConfig: jetty-config.xml tenantFilter : true authorizeTrackTotalHits : false objectGroupBlackListedFieldsForVisualizationByTenant: 0: ['Filename', '#operations', 'Size'] 1: ['Filename', '#opi'] 2: ['Filename'] 3: ['Filename'] 4: ['Filename'] 5: ['Filename'] 6: ['Filename'] 7: ['Filename'] 8: ['Filename'] 9: ['Filename'] Par défaut, tout les tenants du système (9 dans cet exemple ) déclarent le champ ``Filename`` dans leur black liste. Ensuite, libre à l'exploitant de gérer cette liste en rajoutant, modifiant, voir même supprimant le champ par défaut. Fonctionnement ============== Une fois la configuration de la black liste est faite, et le(s) service(s) access-external démarré(s), les requêtes qui permettent de lancer des recherches sur les objets groupes, et qui prennent en considération un tenant d'utilisation, ne remontent plus au niveau des réponses, les propriétes déja mis dans la liste. Ci-dessous les points d'API concernés : .. code-block:: yaml /objects: displayName: Objects description: | API qui permet d'accéder aux objets groupes en se basant sur une requête qui utilisele langage de requête (DSL) de Vitam en entrée et retourne l'objet d'archives selon le DSL Vitam en cas de succès. get: description: | Requête qui retourne le résultat contenant un Object d'archives : ses métadonnées ou un de ses objets binaires. Dans le cas des métadonnées, la requête utilise le langage de requête DSL de type **recherche unitaire (GET BY ID)** de Vitam en entrée. 'Accept' header est 'application/octet-stream' (objet binaire) ou 'application/json' (métadonnées) Permissions requises: - objects:read is: [AccessTraits.AccessUniqueObjectQualifierResponse, AccessTraits.AccessUniqueObjectResponse] headers: Accept: required: true enum: [ "application/octet-stream", "application/json" ] .. code-block:: yaml /units/{{unit-id}}/objects: displayName: Objects of one ArchiveUnit description: | API qui définit les requêtes pour accéder à l'Objet d'archives associé à l'Unité d'archives s'il existe. La requête utilise le langage de requête (DSL) de Vitam en entrée et retourne l'objet d'archives selon le DSL Vitam en cas de succès. get: description: | Requête qui retourne le résultat contenant un Object d'archives : ses métadonnées ou un de ses objets binaires, rattachés à l'identifiant de l'unité archivistique en paramétre. Permissions requises: - units:id:objects:read:json ou - units:id:objects:read:binary is: [AccessTraits.AccessUniqueObjectQualifierResponse, AccessTraits.AccessUniqueObjectResponse] headers: Accept: required: true enum: [ "application/octet-stream", "application/json" ]