Continuando con los
artículos sobre jBPM 6.x, en esta oportunidad les traigo un
tema relacionado con el envió de emails y notificaciones por email.
Estas actividades
son muy frecuentes en los procesos de negocios, donde nos podemos
encontrar con la necesidad de enviar un email como parte de un
proceso, en una tarea específica. En este caso hacemos uso de la
tarea de servicio email.
Y en otras
ocasiones, podemos requerir el envío de emails cuando una tarea no
se ha iniciado por ejemplo, esto se logra mediante la configuración
de notificaciones en las tareas humanas.
Vayamos con el
primer caso, el uso de la tarea de servicio de enviar correos o
emails.
1.- Seleccione la
Tarea de servicio de Emails y agregarla al flujo.
2.- Configurar los
parámetros de envío de correo.
Para ello
seleccionamos en el flujo la tarea de emails
Y en las propiedades
de la tarea vamos a la sección de “tareas”, donde se nos abre
una ventana en la que encontramos los parámetros siguientes:
donde:
-
To, o Para, donde especificamos la variable que contiene el valor adecuado para el destinatario del email.
-
From, o Desde, el cual permite establecer la variable que contiene el valor adecuado para el usuario u origen del email.
-
Subject, o Asunto, donde especificamos la variable que contiene el valor adecuado para el asunto, tema o motivo del email.
-
Body, o cuerpo, el cual permite establecer la variable que contiene el valor adecuado para el contenido o cuerpo del email.
Hasta aquí todo
normal y sencillo.
Pero queda un paso
que usualmente se suele olvidar y cuya omisión es fuente de
problemas frecuentes en la configuración y uso de la actividad de
servicio de envío de emails. El paso a continuación.
3.- Configurar
manejador de item de trabajo.
-
Abrir el editor de proyecto y buscar la sección correspondiente al descriptor de despliegue o Deployment Descriptor.
-
Buscar la sección correspondiente al Work Item handlers, y pulsar el botón add o agregar.
En esta sección
agregamos un item al que denominaremos Email,
del tipo mvel.
Con el siguiente
contenido:
new org.jbpm.process.workitem.email.EmailWorkItemHandler("smtp.gmail.com", "587", "tucorreo@gmail.com", "tu_password", "true")
El cual especifica
el servidor de smtp, el puerto a usar, la cuenta de correo de
envío, el password de la cuenta y el uso del modo seguro.
Guardamos y
desplegamos nuestro proceso.
Con eso ya
deberíamos poder hacer las pruebas correspondientes.
Configuración de
notificaciones en tareas humanas.
Esta configuración
se realiza en el marco de dos grandes frentes. El primero es el
servidor de aplicaciones, Wildfly en nuestro ejemplo, y el segundo es
la configuración de las tareas humanas en si mismas.
-
Configurar el Servidor
Detener el servidor
Wildfly.
Ubicar los archivos
:
-
standalone.xml
-
standalone-full.xml
En ambos archivos
agregar lo siguiente:
Propiedades.Subsystem. Socket-binding-group.
Guardar los
archivos.
Ubicar el archivo
jbpm-console.war en el directorio deployments del standalone
de Wildfly.
Abrir el archivo con
algún editor adecuado para poder modificar y actualizar el .war
Ubicar el directorio
\jbpm-console.war\WEB-INF\classes\
Abrir el archivo
userinfo.properties y agregar el contenido siguiente:
admin=intellegoqa@gmail.com:en-UK:admin Administrator=intellegoqa@gmail.com:en-UK:Administrator Administrators=intellegoqa@gmail.com:en-UK:Administrators:[Administrator]
Guardar los cambios
y actualizar el .war.
Reiniciar el
servidor.
Abrir la aplicación
jbpm-console e ingresar las credenciales de administrador.
Abrir el proceso BPM
deseado.
Ubicar la tarea
humana a la que se le desea añadir Notificaciones.
En la ventana de
propiedades ubicar la propiedad Notificaciones (Notificatios) y abrir
la ventana desplegable.
Pulsar agregar
notificación
Seleccionar el tipo
de notificación para las tareas, iniciadas o No-iniciadas.
Establecer cuando
expira la tarea (1d = Un día, 1m = Un minuto, etc).
Indicar nombre de
usuario que se usará para enviar el email, no se deben colocar
cuentas de correos.
Indicar si es para
usuarios colocando los nombres de usuarios separados por coma que
recibiran el email.
Indicar si es para
un grupo, se colocan los nombres de grupo separados por coma.
Se indica el nombre
de usuario al que hay que responder.
Se especifica un
asunto del email.
Se especifica un
cuerpo del email.
Los valores
anteriores puede usar variables del proceso o de la tarea, referirse
a la documentación del producto para detalles.
Guardar el proceso y
desplegarlo.
Listo, ya deberíamos
poder tener notificaciones de correo en nuestras tareas. Enjoy it!!!
Excelente aporte. Se agradece!!
ResponderEliminarQue bueno que le haya sido de utilidad.
Eliminarutilizaremos el paquete javax.mail. Utilizando el SMTP indicado y el PUERTO indicado, funciona correctamente para cuentas de Gmail. Aunque cuidado, es posible que haya que indicar a Gmail en las opciones de personalización noticiasdesanxenxo.es/biografia-de-hanbin/
ResponderEliminar