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.
Hola:
Quizas este link del blog de Angel Borroy te ayude:
Saludos.
--C.
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.
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.
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.
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.
Prueba con "Diccionario de Datos" si has instalado en español
Perfecto.
Funcionó poniendo todos los nombres en castellano.
Tema completamente cerrado .
Muchas gracias, un cordial saludo.
Content from pre 2016 and from language groups that have been closed.
Content is read-only.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.