cancel
Showing results for 
Search instead for 
Did you mean: 

BonjourVoila quelque jour que je m'interesse a ce...

seraphon
Champ in-the-making
Champ in-the-making
Bonjour

Voila quelque jour que je m'interesse a ce sujet car je trouve le fonctionnement du workflow simple assez limite. En effet, etre oblige de donner les droits necessaires pour creer,editer,effacer un fichier dans deux espaces a un utilisateur pour qu il puisse participer a un workflow et donc approuver un fichier, est plutot genant.

J ai reussi a peu pres a creer des roles custom quoique je ne suis pas tres sur quand a la stabilite de tels changement, changements que vous pouvez voir dans le forum anglais http://forums.alfresco.com/viewtopic.php?t=5057

J ai creer un role appele Tester et celui ci est censee avoir des droits de creation et destruction de documents pour que le workflow simple soit possible.
Mais mon but est de ne pas laisser la possibilite a un tel "Tester" d exercer ces droits. En fait je voudrais donner par example a ce Tester le droit de supprimer des documents mais que l'icone de poubelle pour supprimer lui soit cache.
Je pense etre sur la bonne voie pour l instant.

Pour faire cela j'ai modifie le fichier C:AlfrescotomcatwebappsalfrescoWEB-INFclassesalfrescoweb-client-config-actions.xml

<!– Delete document –>
         <action id="delete_doc">
            <permissions>
            <permission allow="false">Workf</permission>
               <permission allow="true">Delete</permission>
            </permissions>
            <evaluator>org.alfresco.web.action.evaluator.Del
……..
Cela fait l affaire si on fait bien attention a ne pas donner a Workf les memes permissions que le groupe Delete c'est a dire dans le fichier Permission
     <permissionGroup name="Delete" expose="true" allowFullControl="false">
           <includePermissionGroup type="sys:base" permissionGroup="DeleteNode"/>
           <includePermissionGroup type="sys:base" permissionGroup="DeleteChildren"/>
      </permissionGroup>
Par example si on met seulement DeleteChildren dans Workf, on a ce que l'on veut.
On pourrait aussi ajouter une permission 'bidon',  qui ne fait rien, dans Delete si on veut aussi avoir DeleteNode dans Workf.

Donc la question est de savoir quels sont les permissions elementaires necessaires et suffisante pour faire marcher l action <action id="approve_doc"> car avec pour l'instant DeleteChildren et CreateChildren cela ne marche pas.

Quelqu'un a t'il la reponse?
Je vais continuer a faire des tests et je posterais si je trouve mais toute aide est la bienvenue, et si je suis sur le mauvais chemin prevenez moi.

Cordialement
Seraphon
2 REPLIES 2

seraphon
Champ in-the-making
Champ in-the-making
Bonjour

Il semblerait que j'ai reussi a creer ce que je voulais c'est a dire un role qui permet a un utilisateur de voir les icones de workflow "approve" et "reject" si il y a un workflow simple active, avec la possibilite des les utiliser, et ce sans pouvoir voir les icones pour supprimer, creer, updater quoique ce soit.

Par contre j'ai du faire un nombre non negligeable de changement dans les fichiers precedemment nomme, permissionDefinition.xml et web-client-config-actions.xml
J'apprecierais donc si quelqu'un pourrait me dire si ces changements ne sont pas trop "sale" et si ils ne generont pas quelque chose dans le fonctionnement d'Alfresco. (une confirmation que cela marche autre part que sur ma machie serait aussi appreciable).

Pour ce qui est des changements j'ai applique le code cite precedemment plus quelques autres changements.

Premierement selon mes tests, pour pouvoir faire un deplacement de fichier (but du workflow) mon utilisateur Tester doit avoir les permissions suivantes (il y en a peut etre des inutiles, je n'ai pas teste a fond):
   
  <permissionGroup name="MoveChildren" expose="true" allowFullControl="false">
         <includePermissionGroup type="sys:base" permissionGroup="DeleteNode"/>
          <includePermissionGroup type="sys:base" permissionGroup="ReadProperties"/>
          <includePermissionGroup type="sys:base" permissionGroup="ReadChildren"/>
          <includePermissionGroup type="sys:base" permissionGroup="ReadContent"/>
          <includePermissionGroup type="sys:base" permissionGroup="DeleteChildren"/>
          <includePermissionGroup type="sys:base" permissionGroup="CreateChildren"/>
          <includePermissionGroup type="sys:base" permissionGroup="LinkChildren"/>
          <includePermissionGroup type="sys:base" permissionGroup="DeleteAssociations"/>
          <includePermissionGroup type="sys:base" permissionGroup="CreateAssociations"/>
          <includePermissionGroup type="sys:base" permissionGroup="Write"/>         
     </permissionGroup>
avec moveChildren dans la permission Workf que l'on accorde a l utilisateur Tester.

Ensuite on ajoute la nouvelle permission
     <permissionGroup name="DummyPermission" expose="true" allowFullControl="false" />
Dans les permissions Groups Delete, CreateChildren2 qui contient Createchildren et Write2 qui contient Write.
Je ne sais pas pourquoi mais on doit avoir la permission Write inchange pour pouvoir faire des workflows

Ensuite dans le fichier web-client-config-actions.xml remplacez tous les CreateChildren en CreateChildren2 et les Write en Write2


Vous avez maintenant un role Tester qui peut faire marcher des Workflows simples.

En esperant que cela soit utile a quelqu un

Cordialement seraphon

seraphon
Champ in-the-making
Champ in-the-making
Bonjour

Bien que ce sujet de rajouter/modifier des roles ne semble pas tres populaire, je me permet de le relancer un petit peu car on ne sait jamais cela peut servir.
Voila le probleme:
Dans le sujet http://forum.alfresco-fr.org/viewtopic.php?id=543
michael dans un de ces post dit qu'il vaut mieux eviter de modifier quoique ce soit dans webappsalfrescoWEB-INFclassesalfresco
sous peine de rencontrer de nombreux problemes.
Quelqu'un pourrait-il me decrire quels pourraient etre ces problemes? Car la je ne vois pas trop.
De plus si cela est si problematique comment faire pour rajouter un role et modifier des permissions comme je l'ai fait precedemment, car je pense que la possibilite de changer/creer des roles et des permissions est tres interressant.
Je sais que le mieux serait de faire des "surchages" dans le repertoire shared/…/alfresco/extension mais comment faire?

Cordialement
Seraphon