AnsweredAssumed Answered

Conditionner les actions possibles via CIFS ou Webdav

Question asked by mlagneaux on Jul 15, 2010
Latest reply on Jul 29, 2010 by rguinot
Bonjour,

Je travaille actuellement sur une application basée sur Alfresco 3.2r Community. Dans cette application, j'ai modifié le modèle de telle manière qu'un statut est associé à chaque document : il s'agit d'une propriété pouvant prendre différentes valeurs (Brouillon, Approuvé, Obsolète, …).

Dans l'application, j'ai conditionné la possibilité de réaliser différentes actions en fonction de la valeur du statut (via l'utilisation de classes héritant de BaseActionEvaluator). Ainsi, un document au statut Approuvé ou Obsolète n'est pas modifiable à moins d'en créer une nouvelle version (le versioning est activé sur tous les documents) : les actions permettant de modifier un document sont donc masquées dans ce cas.

Mon problème est que les utilisateurs peuvent également utiliser CIFS et Webdav pour éditer les documents.

Est-il possible de conditionner les actions réalisées via CIFS ou Webdav ?

Plus précisément et en prenant un exemple concret :
J'ai un document à l'état Approuvé dans mon application : les actions permettant de modifier ce document (par exemple "Mettre à jour") n'apparaissent pas grâce au evaluators. Seule l'action "Editer hors ligne" apparaît et va obliger mon utilisateur à créer une nouvelle version.
Le problème est que, si je passe par CIFS, rien ne m'empêche d'ouvrir ce document, de le modifier et de le sauvegarder alors que cela ne devrait pas être possible compte-tenu de son statut.

Dans ce cas précis, lors de l'ouverture d'un document via CIFS ou Webdav, une solution pourrait être par exemple d'ouvrir le document en lecture seule s'il présente un statut Approuvé ou Obsolète et de l'ouvrir en écriture s'il est au statut Brouillon. Cela est-il possible ? Si oui, comment peut-on s'y prendre pour le développer ?

Une autre piste : peut-on configurer CIFS pour que tous les documents soient ouverts en lecture seule par défaut et développer une nouvelle "action" (semblables au fichier .exe disponibles dans les répertoires lors d'un accès par CIFS) permettant d'ouvrir un document en écriture ?

Merci d'avance pour votre aide.

Outcomes