Informe o fichero con la estructura grupo/usuarios

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

Informe o fichero con la estructura grupo/usuarios

Estimados:

Alguno sabe si hay algún punto de los menús o algún script ya hecho que permita obtener la estructura completa de grupos con los usuarios que pertenecen a esos grupos (solo tengo dos niveles, no hay grupos asignados a grupos).

Sería algo así como:

Grupo1

      Usuario 1

      Usuario 2

      Usuario n

Grupo2

      Usuario 3

      Usuario 4

      Usuario n

Si además a continuación del usuario se pudiera poner el e-mail ya sería perfecto.

Muchas gracias, un cordial saludo.

7 Replies
angelborroy
Alfresco Employee

Re: Informe o fichero con la estructura grupo/usuarios

var groups = groups.getAllRootGroups();

for each (var group in groups) {
     
  logger.log("GROUP: " + group.getShortName());
     
  var node = people.getGroup("GROUP_" + group.getShortName());
  var members = people.getMembers(node);

  for (var i=0; i < members.length; i++) {
       logger.log("Member: " + members[i].properties["cm:userName"] +
                     ", " + members[i].properties["cm:email"]);
  }
 
  var subGroups = group.getAllGroups();
 
  for each (var subGroup in subGroups) {
    logger.log("SUBGROUP: " + subGroup.getShortName());
      
    var node = people.getGroup("GROUP_" + subGroup.getShortName());
    var members = people.getMembers(node);

    for (var i=0; i < members.length; i++) {
         logger.log("Member: " + members[i].properties["cm:userName"] +
                     ", " + members[i].properties["cm:email"]);
    }
      
  }

}
Hyland Developer Evangelist
nicecons
Active Member II

Re: Informe o fichero con la estructura grupo/usuarios

Muchas gracias Ángel.

Por favor, ¿podrías decirme cual es el directorio/fichero donde lo deja?

Un cordial saludo.

angelborroy
Alfresco Employee

Re: Informe o fichero con la estructura grupo/usuarios

En el ejemplo anterior, la salida se escribe al log del sistema.

A continuación un ejemplo que lo escribe en "Shared/lista-usuarios.txt"

var sharedFolder = companyhome.childByNamePath("/Shared");
var file = sharedFolder.createFile("lista-usuarios.txt");

var content = "";
                                   
var groups = groups.getAllRootGroups();

for each (var group in groups) {
     
  content = content + "GROUP: " + group.getShortName() + "\n";
     
  var node = people.getGroup("GROUP_" + group.getShortName());
  var members = people.getMembers(node);

  for (var i=0; i < members.length; i++) {
       content = content + "Member: " + members[i].properties["cm:userName"] +
                     ", " + members[i].properties["cm:email"] + "\n";
  }
 
  var subGroups = group.getAllGroups();
 
  for each (var subGroup in subGroups) {
    content = content + "SUBGROUP: " + subGroup.getShortName() + "\n";
      
    var node = people.getGroup("GROUP_" + subGroup.getShortName());
    var members = people.getMembers(node);

    for (var i=0; i < members.length; i++) {
         content = content + "Member: " + members[i].properties["cm:userName"] +
                     ", " + members[i].properties["cm:email"] + "\n";
    }
      
  }
     
  file.content = content;
  file.save();

}
Hyland Developer Evangelist
nicecons
Active Member II

Re: Informe o fichero con la estructura grupo/usuarios

Hola Ángel:

Esta opción parece mucho mejor.

Cuando la ejecuto me responde con un error como que no puede ejecutar el método createFile para null.

Supongo que es por 

sharedFolder = companyhome.childByNamePath("/Shared");

Como en esto "toco de oído" tengo dos dudas:

1. ¿companyhome es C:alfresco-community (el directorio donde lo instalé)?

2. En tu respuesta anterior dices que lo escribe en el log del sistema ¿cómo se llama el fichero? ¿dónde está?

Otra vez muchísimas gracias por tu ayuda.

Un saludo.

angelborroy
Alfresco Employee

Re: Informe o fichero con la estructura grupo/usuarios

Cambia “Shared” por “Compartido”

Hyland Developer Evangelist
nicecons
Active Member II

Re: Informe o fichero con la estructura grupo/usuarios

Buenos días Ángel:

Con el cambio a "Compartido" lo ejecuta sin problemas, pero no encuentro el fichero ·lista-usuarios.txt en el disco.

Tendría que estar, porque si intento volver a ejecutarlo da el error "fichero lista-usuarios.txt ya existe".

¿Tienes alguna idea al respecto?

Desde ya muchísimas gracias por tu ayuda.

angelborroy
Alfresco Employee

Re: Informe o fichero con la estructura grupo/usuarios

Dale al botón Compartido de la barra negra superior de Share. Ahí está el archivo.

Hyland Developer Evangelist