cancel
Showing results for 
Search instead for 
Did you mean: 

Workflows y roles

jaime_martin
Champ in-the-making
Champ in-the-making
hola:
Definiendo desde ina interfaz gráfica un workflow he observado lo siguiente:
- Un usuario de perfil Coordinador puede usar ese workflow sin problemas
- Un usuario de perfil Colaborador en ese espacio, solo puede usar ese workflow en un archivo que él haya añadido.
Sin embargo, si intenta utilizarlo sobre un archivo que haya añadido un usuario coordinador, al pulsar sobre al acción del workflow sale un error de permisos.
¿no es posible que un colaborador ejecute acciones de un workflow sobre archivos añadidos sobre un coordinador? ¿se puede configuarra algo para que sí tenga permisos para ello?
gracias
7 REPLIES 7

pjcaracuel_2349
Confirmed Champ
Confirmed Champ
Buenas,

En concreto que tarea te falla? A priori los permisos de ambos roles sobre un documento son muy parecidos.(Cortar y borrar es lo que tiene Coordinador que no tiene Colaborador)

Saludos

jaime_martin
Champ in-the-making
Champ in-the-making
pues es un workflow de mover un item a otro espacio si se ejecuta la acción.
Es decir el caso de uso queda así:
- En un espacio esta definida una acción para mover un item a otro espacio
- Añado un archivo a ese espacio con un usuario coordinador.
- En el menu contextual de ese archivo me sale esa acción y se ejecuta y se mueve al otro espacio
Por otra parte
- Añado otro archivo a ese mismo espacio con un usuario coordinador.
- Ahora se entra con usuario colaborador, en el menu contextual de ese archivo sale esa acción y al ejecutarla sale un error de permisos
y ese archivo no se mueve.
- Si se repite con un archivo añadido por ese mismo usuario colaborador se mueve sin problemas.
El problema es que quiero que un usuario colaborador pueda ejecutar esa acción aunqeu los archivos hayan sido subidos por usuarios coordinadores ¿es posible?

pjcaracuel_2349
Confirmed Champ
Confirmed Champ
Para ello a la hora de subir el documento al espacio, deberias darle el rol de Coordinador al usuario/grupo de usuarios que tengan que mover el documento (Permiso a nivel de documento). Si este rol te parece excesivo, deberas crearte un rol nuevo donde le asignes los permisos adecuados para poder mover el documento de un espacio a otro.

Un post de este foro donde se trato el tema de permisos de una manera extensa fue:
http://forums.alfresco.com/es/viewtopic.php?f=11&t=505

TE sirve?

jaime_martin
Champ in-the-making
Champ in-the-making
muchas gracias. No veo ningun permisssiongroup específico para mover algo o workflows ¿alguna idea de cual puede ser?
Tras ojear permissionDefinitions.xml he intentado crear un permissionGroup nuevo, igual que Execute pero con allowFullControl a true en vez de a false poara ver si eso me vale para ejecutar algo de un contenido con total control para la regla de workflow.

      <permissionGroup name="ExecuteCol" allowFullControl="true" expose="false">
          <includePermissionGroup type="sys:base" permissionGroup="ExecuteContent"/>
      </permissionGroup>

Luego en el mismo archivo he añadido la referencia a collaborator

<!– A collaborator can do anything that an editor and a contributor can do –>
      <permissionGroup name="Collaborator" allowFullControl="false" expose="true">
         <includePermissionGroup permissionGroup="Editor" type="cm:cmobject" />
         <includePermissionGroup permissionGroup="Contributor" type="cm:cmobject" />
<!– anyadido –>
         <includePermissionGroup permissionGroup="ExecuteCol" type="sys:base" />
      </permissionGroup>

Al ejecutar me sale este error:

javax.faces.FacesException: org.apache.jasper.JasperException
caused by:
org.apache.jasper.JasperException
caused by:
javax.servlet.ServletException
caused by:
java.lang.StackOverflowError

¿alguna idea?

pjcaracuel_2349
Confirmed Champ
Confirmed Champ
Buenas,

Prueba con esto a ver si te funciona:
Sin necesidad de crear un nuevo rol:
!– A collaborator can do anything that an editor and a contributor can do –>
      <permissionGroup name="Collaborator" allowFullControl="false" expose="true">
         <includePermissionGroup permissionGroup="Editor" type="cm:cmobject" />
         <includePermissionGroup permissionGroup="Contributor" type="cm:cmobject" />
<!– anyadido –>
        <includePermissionGroup permissionGroup="DeleteNode" type="sys:base" />
      </permissionGroup>

Una vez que compruebas que funciona, define un nuevo rol p.e. MoverContenido y le asignas los mismos permisos del rol Collaborator, de esta forma no tocas el permiso "base" de Alfresco y trabajas con un propio y exclusivo para tu workflow.

Saludos

jaime_martin
Champ in-the-making
Champ in-the-making
gracias, pero me sale de nuevo este error al intentar ejecutar esa regla:
No se ha podido aprobar el documento debido a un error del sistema: Acceso denegado. No tiene los permisos apropiados para realizar esta operación.
seguire probando con otras.

pjcaracuel_2349
Confirmed Champ
Confirmed Champ
Puedes postear los permisos que tienen tanto el espacio origen como el destino?