5.3. 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.
5.3.1. 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 :
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.
5.3.2. 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 :
/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" ]
/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" ]