Conocer los usuarios de un grupo

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

Conocer los usuarios de un grupo

Hola,

Estoy aquí con la interfaz estándar de Alfresco (hostname:8080/alfresco) y quiero averiguar por cada grupo, qué usuario tiene.

He usado las acciones disponibles en "Manage User Groups" pero eso solamente está disponible desde el administrador y açun así no me convence, pues lo que quiero es dado un nombre de usuario, que salgan los grupos o authoritiers a los que pertenece.

E incluso si esa consulta puede hacerla un usario normal sin permisos necesariamente especiales.

Gracias. Un saludo.
3 Replies
nemrp
Member II

Re: Conocer los usuarios de un grupo

Hola Tremal.

Lo que buscas, así por defecto, no lo tienes en Alfresco. Aunque existen varias opciones para conseguir hacerlo.

  1. Consulta en el explorador de nodos

  2. Es la más sencilla de las opciones. Tan sólo tienes que ir a la consola de administración y pulsar sobre la opción "Explorador de Nodos" o "Navegador de Nodos", dependiendo de qué versión estés usando. Después pulsa sobre "user://alfrescoUserStore" y en la siguiente pantalla selecciona "lucene" del desplegable. A continuación, introduce la siguiente consulta, sustituyendo USERNAME por el nombre de usuario que quieras buscar.
    +TYPE:"{http://www.alfresco.org/model/user/1.0}authorityContainer" +@usr\:members:*USERNAME*
    Esto te dará una lista de los grupos a los que pertenece el usuario y, además, puedes navegar por esos grupos para comprobar cuántos usuarios más hay en ellos.

  3. Creación de un webscript

  4. Puedes crear un webscript que te permita hacer esto de manera más cómoda, sobre todo si quieres que sea una opción para todos los usuarios y no sólo para el administrador. Para ello, vete a este hilo donde palba responde a una pregunta parecida a esta.
Espero que te haya servido de ayuda. Un saludo.
rmacian
Member II

Re: Conocer los usuarios de un grupo

Es una función no se viene en Alfresco por defecto pero es posible obtenerlo mediante un web-script.

grupos.get.js


/*
Get User Groups Webscript Javascript file
*/
var person = people.getPerson(args["name"]);
model.groups = people.getContainerGroups(person);
model.test = new Array();
var containerGroups = people.getContainerGroups(person);
for(var i=0;i<containerGroups.length;i++){
   model.test = containerGroups[i].getQnamePath();
}

model.personName = person;

grupos.get.html.ftl

<img src="/alfresco/images/logo/AlfrescoLogo32.png" alt="Alfresco" style="padding-right: 10px;"/><span class="mainTitle">User Groups</span>
<div style="margin-top: 10px;">
   User ${personName.properties.userName} (${personName.properties.firstName} ${personName.properties.lastName}) is part of the groups:
   <ul>
   <#list groups as group>
      <li>
         ${group.qnamePath}
   </#list>
   </ul>
</div>

grupos.get.desc.xml

<webscript>
  <shortname>Listado de grupos por usuario</shortname>
  <description>Listado de grupos por usuario</description>
  <url>/grupos</url>
  <authentication>admin</authentication>
</webscript>


A continuacion en la barra de direcciones pones

http://localhost:8080/alfresco/service/grupos?name=usuario

Originalmente en

http://forums.alfresco.com/en/viewtopic.php?t=8122
sgalan
Member II

Re: Conocer los usuarios de un grupo

Hola,
Fantástico Webscript. Millón de gracias.
Sólo un detalle (para que no os volváis locos como me ha pasado a mí): Para que Afresco reconozca el webscript, hay que reiniciar el servicio (al menos en la 3.4.d).  Smiley Very Happy
Salu2!
- Sergio -