jueves, 27 de octubre de 2016

Uso de la actividad de envío de emails y notificaciones de tareas por email en jBPM 6.x


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.

En este ejemplo seguiremos usando las definiciones realizadas en nuestra publicación anterior.

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!!!

2 comentarios: