Problème d'interopérabilité via CMIS et comportement de la GED
-
Bonjour,
Nous avons mis en place des connecteurs CMIS entre GoFAST et notre CMS.
Le fonctionnement nécessite la création d'un compte utilisateur sur GoFAST. Il sera utilisé par le CMS pour établir la synchronisation des contenus entre Alfresco et le gestinnaire de contenus du CMS à partir d'un espace définit comme point de montage dans GoFAST.La passerelle fonctionne mais ce fonctionnement rencontre actuellement des limites :
- Tous les contenus créés dans l'espace choisi en temps que point de montage ou dans son arborescence descendante sont synchronisés, qu'ils soient multifilés ou non par la suite.
- Tous les contenus présents dans l'espace ou dans son arborescence descendante et non-multifilés sont synchronisés.
- Tout contenu issu d'un autre espace et multifilé et dans l'espace du point de montage ou dans son arborescence descendante, ou tout dossier miroir issu d'un autre espace provoque une erreur lors de la synchronisation des contenus coté CMS.
C'est ce dernier cas de figure qui pose problème.
Après quelques tests, nous avons mis en évidence qu'ajouter le compte utilisé par le CMS pour se connecter à GoFAST dans les autres espaces où se trouvent les contenus / dossiers multifilés entraînant l'erreur, corrige le problème.
Toutefois, cette pratique multiplie la présence du compte utilisé par le connecteur dans différents espaces, ce qui est parfois limite en terme de RGPD.D'autre part, un document créé dans l'espace du point de montage puis multifilé par la suite n'engendre pas d'erreur. Comment expliquer ce comportement ?
Idéalement, notre fonctionnement nécessite que tous les emplacement multifilés soient traités de la même façon pour ne plus avoir ce blocage lorsqu'un document est partagé dans l'espace du point de montage.
Par avance, je vous remercie pour le temps que vous pourrez accorder à ce sujet.
Bonne journée.
-
Bonjour @Kévin-Jager
Effectivement l'utilisation d'un connecteur CMIS semble être approprié pour ce cas.
Pourriez vous préciser quelle est l'erreur rencontrée lorsque vous essayez de requêter un document multifillé ?
Effectivement il y a bien comme vous l'avez remarqué une "différence cachée" avec un contenu multifilé entre son emplacement d'origine et ses autres emplacements.
Dans GoFAST nous avons rendu cette différence transparente et cela m'étonne qu'elle vous impact lors de l'utilisation des API CMIS car nous ne sommes pas confronté à ce problème lors de notre utilisation pour l'usage interne de GoFAST.
Pourriez vous préciser exactement (en obfusquant les informations telles que le nom de domaine ou le nom des espaces bien sur) quelles sont les requêtes utilisés et quelles informations vous cherchez à extraire ?
Merci d'avance et bonne journée !
-
Bonjour,
nous allons avoir une erreur dans le CMS de type permission Denied.En gros, je vous donne le scénario :
Un fichier A qui est originaire de l'espace 1 est partagé dans un espace2.
Le compte créé pour la jonction a les droits admin sur l'espace 2 et pas l'espace 1.
Un connecteur CMIS pointe vers l'espace2.
Et donc le CMS indique qu'il ne peut pas se connecter car il n'a pas les droits.Voici le message d'erreur :
Permission denied: 102823141 Access Denied. You do not have the appropriate permissions to perform this operation. org.apache.chemistry.opencmis.commons.exceptions.CmisPermissionDeniedException: Permission denied: 102823141 Access Denied. You do not have the appropriate permissions to perform this operation. at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:497) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.read(AbstractAtomPubService.java:701) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.NavigationServiceImpl.getObjectParents(NavigationServiceImpl.java:276) at org.apache.chemistry.opencmis.client.runtime.AbstractFilableCmisObject.getParents(AbstractFilableCmisObject.java:58) at org.apache.chemistry.opencmis.client.runtime.AbstractFilableCmisObject.getParents(AbstractFilableCmisObject.java:50) at org.ametys.plugins.explorer.cmis.CMISResource.getParent(CMISResource.java:117) at org.ametys.plugins.explorer.resources.actions.ExplorerResourcesDAO.getResourceProperties(ExplorerResourcesDAO.java:393)
Lorsque l'on met les droits à l'utilisateur sur l'espace 1 l'erreur n'a pas lieu.
Bonne journée
Axel, Le Mans Université
-
Bonjour @Axel-P,
J'ai essayé de reproduire la situation sur un environnement témoin, j'ai donc :
- Crée un document avec le compte adm dans un espace quelquonque
- Crée un nouvel espace CMIS Test avec le compte adm
- Partagé le document dans l'espace CMIS Test
- Crée un nouveau compte cmis_test avec uniquement accès à l'espace CMIS Test
J'ai ensuite essayé via l'API CMIS de lister le contenu de l'espace, je retrouve alors bien mon document avec ses propriétés :
Puis j'ai ensuite essayer de demander le contenu de ce document toujours en utilisant l'API CMIS, et j'ai bien obtenu le contenu de mon document :
A savoir également que sur GoFAST, nous utilisons également les API CMIS dans l'interface (même si cela est fait en arrière plan), pour par exemple télécharger un document (dans le menu contextuel).
Par simple mesure de précaution pourriez vous essayer depuis le compte concerné de télécharger le document en utilisant le menu contextuel de la page du document ?
Hors éventuel problème sur un fichier isolé, je pense qu'il faudrait étudier d'autres pistes. Auriez vous quelque part accès à la requête utilisée qui déclenche ce message d'erreur ? Si ce n'est pas le cas vous pouvez si vous le souhaitez re faire un essai et me donner l'heure exacte de l'essai, j'irai vérifier ce qu'il se passe exactement.
Merci d'avance pour votre retour et bonne journée !
Cordialement,
-
Bonjour,
Pour ce qui est du téléchargement du document en utilisant le menu contextuel à partir de l'espace synchronisé sur le compte concerné, cela fonctionne normalement.
Il ne s'agit pas d'un cas isolé car nous avons pu reproduire ce comportement avec d'autres contenus et même des dossiers multifilés dans différents types d'espaces, y compris partageant un espace parent.Je laisse Axel reprendre la main pour la question d'accès à la requête.
Je vous remercie pour votre aide sur ce sujet.
Bonne journée.
-
Bonjour,
pour des raisons de sécurité, j'ai posté un ticket pour le détail de la problématique au niveau message d'erreur.
N'hésitez pas à me faire un retour sur celui-ci.
Nous pourrons déporter la solution finale sur ce post par la suite pas de soucis.Bien cordialement
Axel, Le Mans Université