Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Introdução

Diversos e-mails são disparados no Fluig, variando de notificações simples a alertas urgentes. Além disso, você pode criar seus próprios templates de e-mail e envia-los através dos scripts de personalização. Esta documentação reúne as principais informações sobre interceptar as notificações padrões do Fluig e como criar os seus próprios templates de e-mails personalizados.

Interceptando e personalizando o e-mail padrão (onNotify)

O onNotify é um evento global do Fluig que pode ser criado para interceptar notificações padrão do Fluig, permitindo alterações ou a geração de logs.

Envio de e-mails personalizados (notifier.nofity)

Enviando seus e-mails personalizados, podendo adicionar parâmetros e destinatários.

Criação de templates de e-mail

Um guia de como criar templates flexíveis e poderosos para serem usados no Fluig.

Personalizando o template de e-mail padrão

Um guia de como alterar dos templates de e-mail padrões do Fluig

Índice

Índice
outlinetrue
exclude.*ndice
stylenone

 

Personalização de E-mail

É possível incluir personalizações de e-mail sempre que uma notificação for disparada.

 

Envio de E-mail Padrão

Para interferir no envio de e-mail padrão, deve ser utilizado o evento onNotify, que é disparado no exato momento em que uma notificação será emitida. Nesse evento, podem ser feitas alterações, como por exemplo adicionar outros destinatários (além daqueles que estão participando do processo), modificar os valores dos parâmetros utilizados no template de e-mail, etc.

Abaixo se encontra um exemplo de como implementar esse evento:

Bloco de código
languagejavascript
themeEclipse
firstline1
linenumberstrue
function onNotify(subject, receivers, template, params) {
	if (template.match("TPLPROCESS_NEW_STATE_TO_MANAGER") != null) {
		receivers.add("[email protected]");
	}
}
Nota
titleAtenção

A partir da Atualização 1.3.3, recomenda-se fazer a validação do template utilizando template == "TPLPROCESS_NEW_STATE_TO_MANAGER" ao invés da função match(), evitando assim redundâncias na personalização, pois o match() pode retornar true para mais de um template em casos como TPLNEW_TASK e TPLNEW_TASK_POOL_GROUP.

 

O evento onNotify está disponível na lista de eventos globais. Portanto, ao selecionar esse evento na lista de eventos disponíveis, a assinatura da função acima já será preenchida automaticamente. Este evento disponibiliza os seguintes parâmetros:

ParâmetroDescrição
subjectÉ o assunto do e-mail. A alteração desta variável irá implicar que todos os usuários recebam o e-mail com o novo assunto configurado, inclusive aqueles que participam do processo. Exemplo de utilização: subject.add("ASSUNTO");
receiversLista de e-mails destinatários. Também é possível adicionar outros e-mails, de usuários que não participam do processo. Inclusive, podem ser adicionados e-mails de usuários que não estão cadastrados na plataforma, caso seja necessário notificar uma pessoa que não tenho acesso ao sistema.
templatePermite validar qual tipo de e-mail está sendo enviado (por exemplo, template de nova tarefa, notificação de gestor, etc). Com base nessa variável podemos distinguir quais e-mails queremos personalizar. É recomendável que sempre seja verificado o código do template, para evitar que ocorram alterações em outros tipos de e-mail, que não necessitariam de personalização.
paramsÉ um mapa de dados que permite alterar/incluir parâmetros para que sejam apresentados no e-mail. O nome dos parâmetros informados nesse mapa devem ser os mesmos que são utilizados dentro do arquivo de template.

No exemplo que foi apresentado acima está sendo validado se o template é o TPLPROCESS_NEW_STATE_TO_MANAGER (que corresponde a Notificação do Gestor), em caso positivo, um novo e-mail será adicionado na lista de destinatários. Ou seja, além do gestor do processo, outra pessoa será notificada, recebendo uma cópia do e-mail que o gestor irá receber. Como está sendo validado o código do template, os demais tipos de e-mail não serão afetados.

Os templates podem ser consultados dentro do diretório do volume, em: <VOLUME>\templates\tplmail. Se for necessário adicionar algum parâmetro no e-mail padrão, os templates podem ser editados diretamente nesse diretório.

 

Envio de E-mail Personalizado

Caso seja necessário incluir um novo tipo de e-mail, além daqueles que são disponibilizados pelo produto, o fluig permite que o usuário cadastre templates de e-mails personalizados, através da opção Templates de Emails presente na aba Gerais do Painel de Controle.

Para incluir um novo Template, basta acionar a opção Adicionar no menu e preencher os dados solicitados. Nesta etapa também deve ser feito upload do arquivo de template.

Para adicionar parâmetros dentro de um arquivo de template (TXT ou HTML), deve-se utilizar a seguinte notação:

Sem Formato
${NOME_DO_PARAMETRO}

Neste caso, será utilizado o identificador "NOME_DO_PARAMETRO" durante a personalização para atribuir um valor a este parâmetro. Os templates disponíveis no volume da empresa (<VOLUME>\templates\tplmail) podem ser consultados para mais exemplos de utilização de parâmetros.

 

Após cadastrar um novo template, é possível utilizá-lo para enviar e-mail a partir de qualquer um dos eventos do processo (exceto no onNotify – ver "Envio de E-mail Padrão"). Para efetuar um envio de e-mail, em base de um template personalizado, é utilizado o objeto notifier, chamando a função "notify", conforme o código abaixo:

Bloco de código
languagejavascript
themeEclipse
firstline1
linenumberstrue
try{
	//Monta mapa com parâmetros do template 
	var parametros = new java.util.HashMap();
	parametros.put("NOME_USUARIO", "JOAO");
	parametros.put("CODIGO_USUARIO", "01");

	//Este parâmetro é obrigatório e representa o assunto do e-mail
	parametros.put("subject", "ASSUNTO");

	//Monta lista de destinatários
	var destinatarios = new java.util.ArrayList();
	destinatarios.add("CODIGO-DESTINATARIO");

	//Envia e-mail
	notifier.notify("MATRICULA-REMETENTE", "CODIGO-TEMPLATE", parametros, destinatarios, "text/html");

} catch(e){
	log.info(e);
}

Onde:

  • O primeiro parâmetro que a função notify recebe é o código/matrícula do usuário que irá enviar o e-mail (remetente).
  • O segundo parâmetro é o código do template que foi cadastrado no fluig.
  • O terceiro parâmetro é um mapa de dados (java.util.HashMap) que contém os parâmetros que serão utilizados para preencher as variáveis do template.
    Por padrão, os parâmetros WDK_VirtualDir (diretório virtual) e WDK_AdviceUser (Nome do colaborador remetente) são adicionados ao mapa de parâmetros automaticamente e podem ser utilizados no template, sem que os valores sejam adicionados pela personalização.
  • O quarto parâmetro representa a lista de usuários que irão receber o e-mail (java.util.ArrayList). Esta lista de usuários consiste em uma lista de códigos de usuários cadastrados no fluig e/ou e-mails diretos para caso seja necessário enviar o e-mail a endereços externos de destinatários não cadastrados na plataforma.
  • O quinto e último parâmetro especifica qual será o formato do e-mail enviado. Os valores aceitos são "text/html" e "text/plain".

 

Nota

Para que o envio de e-mails externos seja concluído corretamente o servidor SMTP responsável deve estar habilitado para enviar e-mails para fora da intranet do seu servidor.

 

Outra forma de executar o método de envio de email é informando o número do registro de formulário, conforme exemplo:

Bloco de código
languagejavascript
themeEclipse
notifier.notify("MATRICULA-REMETENTE", NUMERO DO REGISTRO DO FORMULARIO, "CODIGO-TEMPLATE", parametros, destinatarios, "text/html");

 

Ao executar este método, automaticamente os parâmetros abaixo serão adicionados na lista de parâmetros e podem ser utilizados no template:

ParâmetroDescrição
WDK_CardContentConteúdo HTML do formulário (simula a visualização)
WDK_DocumentAuthorNome do Autor
WDK_DocumentCommentsComentário adicional
WDK_DocumentDescriptionDescrição do formulário
WDK_DocumentIconImageImagem do ícone do formulário
WDK_DocumentNumberNúmero do formulário
WDK_DocumentUpdatedDateData de atualização do formulário
WDK_DocumentVersionVersão do formulário
WDK_DocumentViewLinkLink para acesso ao formulário