people.getGroup devuelve null

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

people.getGroup devuelve null

Estoy tratando de enviar correos a los miembros de un grupo.

El script es muy sencillo:

--------------------------------------------------------------------------------------------------------

     var mail = actions.create("mail");

     var grupo = people.getGroup("GROUP_G-CL1-Preparadores1");

     var personas = people.getMembers(grupo);        

     mail.parameters.subject = "Tiene un nuevo documento: " + document.name;

     mail.parameters.template = companyhome.childByNamePath("Data Dictionary/Email Templates/notify_user_email_cli.ftl");

     mail.parameters.text = "Texto alternativo si no encuentra el template"; 

     for(var persona in personas)

     {

            mail.parameters.to = persona.properties["cm:email"];

            mail.execute(document);

     }

----------------------------------------------------------------------------------------------------------

El problema es que people.getGroup("GROUP_G-CL1-Preparadores1") devuelve null.

El error en alfresco.log es "Group is a mandatory parameter".

El grupo "G-CL1-Preparadores1" existe y tiene 2 personas.

He buscado y parece que hay que agregar "GROUP_" delante del nombre corto del grupo.

He probado de ambas formas y el resultado es el mismo: devuelve null.

Por favor ¿alguna idea sobre el motivo?

Muchas gracias, un cordial saludo.

7 Replies
cesarista
Customer

Re: people.getGroup devuelve null

Hola:

Quizas este link del blog de Angel Borroy​​ te ayude:

Alfresco – Sending a notification email to Site Administrators by using JavaScript API | Programming...

Saludos.

--C.

pecdesarrollo
Active Member II

Re: people.getGroup devuelve null

Fue el ejemplo que tomé como base.

El problema con ese ejemplo es que site.listMembers solo admite seleccionar usuarios o por su Rol o por su Nombre.

Yo necesito seleccionar a los usuarios que pertenezcan a un Grupo.

De todas formas te agradezco mucho el tiempo que dedicas a ayudarme.

Seguiré investigando y si doy con la solución te la comento.

Un cordial saludo.

angelborroy
Alfresco Employee

Re: people.getGroup devuelve null

Buenas,

Prueba de esta manera:

people.getGroup("GROUP_G-CL1-Preparadores1");

var members = people.getMembers(group);

for (var i = 0; i < members.length; i++) {

    logger.log(members[i].properties["cm:email"]);

}

A veces el API JavaScript devuelve los objetos "iterables" como arrays.

Hyland Developer Evangelist
angelborroy
Alfresco Employee

Re: people.getGroup devuelve null

En cualquier caso, creo que también debería funcionarte:

     var mail = actions.create("mail");

     mail.parameters.subject = "Tiene un nuevo documento: " + document.name;

     mail.parameters.template = companyhome.childByNamePath("Data Dictionary/Email Templates/notify_user_email_cli.ftl");

     mail.parameters.text = "Texto alternativo si no encuentra el template";

     mail.parameters.to_many="GROUP_G-CL1-Preparadores1";

     mail.execute(document);

Y quizá sea más sencillo.

Hyland Developer Evangelist
pecdesarrollo
Active Member II

Re: people.getGroup devuelve null

Hola Ángel:

Muchas gracias por el tiempo que me dedicas.

Finalmente, después de muchas horas encontré el problema, es para partirse de risa.

Resulta que falla si el nombre del grupo tiene guiones altos "-", supongo que haberlos utilizado es un error de principiantes.

Bueno, hemos dado un pasito más .

Ahora solo me queda un problema, no está encontrando el template con companyhome.childByNamePath("Data Dictionary/Email Templates/Notify Email Templates/notify_user_email.html.ftl"); y el template existe.

¿Se te ocurre cuál puede ser el problema?

Un cordial saludo.

angelborroy
Alfresco Employee

Re: people.getGroup devuelve null

Prueba con "Diccionario de Datos" si has instalado en español

Hyland Developer Evangelist
pecdesarrollo
Active Member II

Re: people.getGroup devuelve null

Perfecto.

Funcionó poniendo todos los nombres en castellano.

Tema completamente cerrado Smiley HappySmiley HappySmiley Happy.

Muchas gracias, un cordial saludo.