/
VelocityMailBuilderJob

VelocityMailBuilderJob

Función incluida en la versión 7.5.3

Job que permite preparar o bien enviar en línea mails basados en templates de velocity dinámicos. 

Parámetros

mainQuery <SQL>

Es la query principal en base a la cual se enviarán los mails.

Se envía un mail por cada resultado de la query.

 


recipientsQuery <SQL>

Es la query para obtener los destinatarios de los mails a enviar. Se ejecuta 1 vez por cada resultado de la mainQuery y requiere que devuelva una sola columna con todos los destinatarios separados por , o ;


 templateName <String>

Es el nombre de la plantilla de velocity a utilizar. El nombre del archivo final debe termina en html.vm y el nombre a incluir en el parámetro es hasta html.vm. Por ejemplo, si el archivo se llama plantillahtml.vm el nombre que va en el parámetro es plantilla.


subject <String>

Es el Asunto que van a tener los mails. El mismo para todos. 


alias <String>

Opcional

Alias para el from del mail. Tener en cuenta que con Cuentas de Microsoft no suele estar permitido. OPCIONAL. 


variablesQuery <SQL>

Opcional

Es la query para obtener las variables definiadas en la plantilla.

Se ejecuta una vez por resultado de la mainQuery. Debe devolver tantas columnas como variables tenga la plantilla y el nombre o alias de cada columna debe coincidir con el nombre dela variable definida en la plantilla.


onlineMode <String>

Opcional

True/False

Con valor true o false se indica si el envío debe ser online u offiline. Offline

Es el modo por default, en este caso se almacena la información del envío en la tabla Thuban_Mail para ser luego enviados los correos con el job "SendMailJob".

Online

Si esta en true, los correos se envían en línea, lo que puede hacer que tarde un poco más el proceso. La ventaja del modo online es que habilita el uso del parámetro opcional "afterSendUpdate" para ejecutar updates a la base de datos luego del envío del mail.


deliveryNotification <String>

Opcional

true/false

Le indica al sender si marcar para obtener notificaciones de recepción. Default false.


afterSendUpdate <SQL>

Opcional

Query de tipo update o sp que no retorna resultados para ejecutar luego el envío exitoso de cada mail. Disponible solo en modo Online.


 

Ubicación de la plantilla

Por default

La plantilla se deberá cargar en la carpeta config>context>templates

 

 

Personalizado

Para cambiar la carpeta donde se suben los templates hay que entrar en admin>configuracion

Datos para crear la configuracion:

Aplicacion: THUBAN-SERVER

Set: DEFAULT

Seccion: CONFIGURATION

Key: TEMPLATESDIRECTORY

Valor: Ruta donde se van a guardar los templates

 

 

Ejemplo

Template Name

AlertMailAutomatizacion

Los nombres de los templates van sin extensión.


subject

ALERTA - Automatización: Exceso de Documentos sin Procesar


recipientsQuery

WITH FilteredEmails AS ( SELECT DISTINCT u.USER_EMAIL AS Email FROM THUBAN_GRPMEMBERSHIP gm JOIN THUBAN_USERS u ON gm.GRPMEMBERSHIP_MEMBER_ID = u.USER_ID WHERE gm.GRPMEMBERSHIP_GRP_ID = 'TH_SUPPORT' AND u.USER_EMAIL IS NOT NULL ) SELECT STRING_AGG(Email, '; ') AS ConcatenatedEmails FROM FilteredEmails;

Se enviarán las notificaciones a todos los usuarios pertenecientes al grupo TH_SUPPORT.


mainQuery

SELECT COUNT(*) AS docCount FROM THUBAN_INDEXES_COMPROBANTES WITH (NOLOCK) WHERE T_ESTADO = 'Error' HAVING COUNT(*) >= 30;

Con esta query solo se enviará la notificación cuando hayan 30 o más documentos en estado de “error”.


variablesQuery

SELECT 'https://dominio.com:8080/thuban-web' AS  'thubanURL'

En esta query se referencia a la variable as thubanURL que esta en el template.


Implementación en versiones de Thuban anteriores a 7.5.3

  1. Detener el servicio.

  2. Implementar el adjunto “VelocityMailBuilderJob.class“ en “WEB-INF\classes\com\latintech\thuban\scheduler\job\” dentro del war.

  1. Ejecutar esta query sobre la base de datos de Thuban:

INSERT INTO THUBAN_JOBS (J_NAME, J_CLASS) VALUES('VelocityMailBuilderJob', 'com.latintech.thuban.scheduler.job.VelocityMailBuilderJob');
  1. Eliminar la carpeta “thuban-web”.

  2. Iniciar el servicio.

Related content