L'affectation des permissions/rôles se fait dans le module ori-oai-workflow.
Elle peut se faire :
- soit lors d'une transition (passage d'un état de la fiche à un autre) dans un workflow donné ;
- soit de manière globale à l'ensemble du workflow concerné.
On prendra ici la 2ème option.
Localisation des fichiers sur lesquels nous allons intervenir :
[ORI_HOME]/src/ori-oai-workflow-svn/custom/properties/workflows/contrib_dc_3.
On souhaite ici que l'utilisateur dont l'identifiant est justin soit « ARCHIVER ». On préfère plutôt que d'affecter directement le rôle d'archiver à justin, l'affecter à un groupe DC3_archivers. Justin sera membre de ce groupe.
La première étape consiste à ajouter un groupe DC3_archivers dans le fichier groups.xml comme ceci :
<entry key="DC3_archivers"> <value><![CDATA[virtual:(&(objectClass=Person)(uid=justin))]]></value> </entry>
Il faut maintenant définir le rôle DC3_ARCHIVER au groupe DC3_archivers dans le fichier default-permissions-roles.xml comme ceci :
<bean class="org.orioai.workflow.beans.acls.OriAclRole"> <property name="objMask" value="DC3_ARCHIVER"/> <property name="recipient" value="DC3_archivers"/> </bean>
Ensuite, il est nécessaire de donner la permission DC3_ARCHIVE à tous ceux qui ont le rôle DC3_ARCHIVER dans le fichier default-permissions-roles.xml comme ceci :
<bean class="org.orioai.workflow.beans.acls.OriAclPermission"> <property name="objMask" value="DC3_ARCHIVE"/> <property name="recipient" value="DC3_ARCHIVER"/> </bean>
Enfin, il faut donner le droit d'utiliser le formulaire d'archivage au rôle DC3_ARCHIVER dans le fichier default-permissions-roles.xml comme ceci :
<bean class="org.orioai.workflow.beans.acls.OriAclPermission"> <property name="objMask" value="USE_DC3_ARCHIVE_FORM"/> <property name="recipient" value="DC3_ARCHIVER"/> </bean>
Pour que ces modifications soient prises en compte, faites la commande suivante depuis le dossier [ORI_HOME]/src/ori-oai-workflow-svn:
ant update-acls