Vérouiller des noeuds

cancel
Showing results for 
Search instead for 
Did you mean: 
cviaud
Member II

Vérouiller des noeuds

Dans le cadre de mon projet, j'ai besoin de vérouiller des noeuds sur certaines actions d'un utilisateur.

Simplement, l'utilisateur doit lancer la génération d'un document depuis un espace. Ce document est généré en utilisant tous les documents stockés dans cet espace. Suite à cette génération, tous les noeuds de cet espace doivent être verouillés. Jusque là, rien de trop compliqué. La particularité est que ce doit être un utilisateur appartenant un un AUTRE groupe qui doit pouvoir faire l'action de déverouiller les noeuds. Or dans Alfresco, les utilisateurs ayant le rôle adéquate ont la possibilité de dévérouiller un noeud.

Pour faire cela, j'ai utilisé l'API LockService, avec le code suivant :

lockService.lock(actionedUponNodeRef, LockType.READ_ONLY_LOCK, 0, true);

J'ai préalablement modifié le user courant via la méthode suivante :

authenticationService.authenticate(SYSTEM_USERNAME, SYSTEM_PASSWORD);

J'ai pensé que du coup, le owner du lock serait l'utilisateur avec lequel je vient de m'authentifier, soit SYSTEM_USER.

Est-ce que ce que je raconte à du sens ?

Est-ce que quelqu'un saurait si je suis sur la bonne piste ? Ou est-ce que j'utilise mal la notion de lock de LockService ?

Par avance merci.
1 Reply
pdubois
Active Member

Re: Vérouiller des noeuds

Bonjour,

je ne suis pas certain de répondre à la question mais j'essayerai qqc comme ceci:

        RunAsWork<Object> work = new RunAsWork<Object>()
        {
            public Object doWork() throws Exception
            {
               //mettez ici ce qu'il y a à faire comme si vous étiez l'utilisateur "runAs"
                return null;
            }
        };
        AuthenticationUtil.runAs(work, runAs);