10-25-2016 01:50 PM
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.
10-25-2016 04:20 PM
Hola:
Quizas este link del blog de Angel Borroy te ayude:
Saludos.
--C.
10-25-2016 05:56 PM
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.
10-25-2016 10:43 PM
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.
10-25-2016 11:22 PM
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.
10-26-2016 02:18 AM
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.
10-26-2016 02:36 AM
Prueba con "Diccionario de Datos" si has instalado en español
10-26-2016 04:34 AM
Perfecto.
Funcionó poniendo todos los nombres en castellano.
Tema completamente cerrado .
Muchas gracias, un cordial saludo.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.