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
Detener el servicio.
Implementar el adjunto “VelocityMailBuilderJob.class“ en “WEB-INF\classes\com\latintech\thuban\scheduler\job\” dentro del war.
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');
Eliminar la carpeta “thuban-web”.
Iniciar el servicio.