Le mécanisme d’écriture en Y permet, lors d’une création ou d’une mise à jour de composant, d’écrire les données à la fois dans Alfresco et dans OpenSearch.
Ce processus est réalisé de manière séquentielle :
- 1. écriture dans Alfresco
- 2. écriture dans OpenSearch si la première écriture a abouti
Objectifs
L’objectif direct de l’écriture en Y est de pouvoir stocker, en double, les données dans le moteur de recherche OpenSearch. Les données stockées dans OpenSearch peuvent ainsi être utilisées pour :
- 1. alimenter des tableaux de bord OpenSearch Dashboards
- 2. changer le moteur de recherche utilisé (c’est-à-dire remplacer Solr)
Mise en place
De l’écriture en Y
Afin de mettre en place l’écriture en Y, il est nécessaire :
- d’activer le mécanisme en ajoutant la propriété
core.dao.multi=true
- de configurer la connexion à OpenSearch telle que définie dans la section d’installation du connecteur dédié
Des recherches OpenSearch
L’utilisation d’OpenSearch est facilement activable en ajoutant la propriété core.dao.multi.search.es=true
.
Ce mode doit toutefois être activé avec précaution. En effet, la sécurité portée par Alfresco ne peut être directement reflétée dans OpenSearch. Afin que les résultats de recherche tiennent compte des permissions de lecture, au moins une des propositions suivantes doit être vraie :
- les ACLs portées par les composants stockées dans OpenSearch doivent refléter les autorisations de lecture
- les groupes autorisés en lecture sur un noeud Alfresco doivent être reportés sur le composant stocké dans OpenSearch et être utilisés comme filtre de recherche
- utilisées pour déterminer les annotations d’un document
- comportant un contexte
language
égal àcmis
Sécurisation par ACL
La sécurisation des résultats de recherche à l’aide du mécanisme natif d’évaluation des ACLs est désactivée par défaut avec l’utilisation du connecteur Alfresco. En effet avec les APIs Alfresco, les résultats de recherche retournés tiennent compte des politiques de sécurités définies. Ce mécanisme n’est donc pas nécessaire.
Pour activer ce mécanisme, la propriété component.search.secure=true
doit être ajoutée.
Sécurisation par groupes autorisés
Ce type de sécurisation s’appuie sur les politiques de sécurité définies dans Alfresco. Lors de la création ou de la modification d’un noeud, les groupes autorisés en lecture sont récupérés et ajoutés comme tag durant la deuxième phase d’écriture dans OpenSearch.
component.tag.cleanup=authorizedGroups
alfresco.node.fieldToTag.authorizedGroup=authorizedGroups
Afin d’identifier les composants concernés par des modifications apportées directement auprès d’Alfresco, il peut être utile de reporter également le chemin de classement des noeuds dans OpenSearch. Pour cela, la configuration suivante peut être ajoutée :
component.tag.cleanup=authorizedGroups,path
alfresco.node.fieldToTag.path=path