Enviando e-mails via javascript em workflows Activiti no Alfresco
- Escrito por Marcio Junior Vieira
- Publicado em Tutoriais Alfresco ECM e BPM
- Hits: 2400
É possível enviar emails em diversos pontos de uma tarefa no Workflow do Alfresco / Activiti, porém alguns pontos devem estar bem claros para usar estes recursos.
Eventos de Execução - Event
Um User Task assim como outros elementos da BPMN podem ter 3 eventos (Event) que podemos adicionar uma regra usando Alfresco Javascript API:
- create - Executa no momento de criação da tarefa (logo após a finalização da anterior).
- complete - Executa no momento de finalização de uma tarefa.
- all - Neste caso é executado nos dois momentos (create e complete).
JavaScript para Envio de Email - Com e-mail fixo
Deve ser adicionado a um dos 3 eventos a regra a seguir em JavaScript a seguir, neste exemplo estamos adicionando o envio fixo para o email informado na regra, com a opção Alfresco Task script.
var mail = actions.create("mail"); // cria ação de email
mail.parameters.to = "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.";
mail.parameters.subject = "Uma Tarefa foi criada para seu usuário no Alfresco";
mail.parameters.from = "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo."; // Deve ser o mesmo email configurado no SMTP no alfresco-global.properties.
mail.parameters.text = "Uma tarefa foi criada para o seu usuário, acesse o Alfresco no menu Tarefas";
mail.execute(bpm_package.children[0]); // executa ação contra um documento, neste caso o primeiro documento da lista anexa ao workflow
JavaScript para Envio de Email - Capturando variável de formulário.
Neste exemplos o Email e capturado do formulário vinculado ao Fluxo, o Form tem nome : wfap01 e o campo EMAIL , a seguir como foi definido no Content Model:
<property name="wfap01:EMAIL">
<title>E-MAIL</title>
<type>d:text</type>
<mandatory>true</mandatory>
</property>
para isso devemos usar o método getVariable e converter o resultado para String na regra JavaScript.
var mail = actions.create("mail"); // cria ação de email
mail.parameters.to = execution.getVariable("wfap01_EMAIL").toString();
mail.parameters.subject = "Uma Tarefa foi criada para seu usuário no Alfresco";
mail.parameters.from = "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo."; // Deve ser o mesmo email configurado no SMTP no alfresco-global.properties.
mail.parameters.text = "Uma tarefa foi criada para o seu usuário, acesse o Alfresco no menu Tarefas";
mail.execute(bpm_package.children[0]); // executa ação contra um documento, neste caso o primeiro documento da lista anexa ao workflow
Sobre a Ambiente Livre
A Ambiente Livre é especialista em Open Source e Free Software e tem uma divisão especialista em ECM e BPM. Fornece implantação, integração, suporte, consultoria e treinamento em ECM e BPM com as plataformas Alfresco , Activiti, Flowable e Camunda a mais de 10 anos.
Já capacitou centenas de empresas para trabalhar com Business Intelligence, ECM, BPM, CRM e Big Data e usa uma metodologia própria de ensino.
Conheça também as divisões de Business Intelligence, CRM e CMS e Big Data e Data Science.
Autor

Marcio Junior Vieira
- 22 anos de experiência em informática, vivência em desenvolvimento e análise de sistemas de gestão empresarial e ciência de dados.
- CEO da Ambiente Livre atuando como Cientista de Dados, Engenheiro de Dados e Arquiteto de Software.
- Professor dos MBAs em Big Data & Data Science, Inteligência Artificial e Business Intelligence da Universidade Positivo.
- Professor de BPM no MBA de Business Intelligence da Universidade Positivo.
- Professor do MBA Artificial Intelligence e Machine Learning da FIAP.
- Pesquisador pela Universidade de Brasília no Laboratório de Tecnologias da Tomada de Decisão - UnB/LATITUDE.
- Graduado em Tecnologia em Informática(2004) e pós-graduado em Software Livre(2005) ambos pela UFPR.
- Palestrante FLOSS em: FISL, The Developes Conference, Latinoware, Campus Party, Pentaho Day, Ticnova, PgDay e FTSL.
- Organizador Geral: Pentaho Day 2017, 2015, 2019 e apoio nas ed. 2013 e 2014.
- Data Scientist, instrutor e consultor de Big Data e Data Science com tecnologias abertas.
- Ajudou a capacitar equipes de Big Data na IBM, Accenture, Tivit, Sonda, Serpro, Dataprev, Natura, MP, Netshoes, Embraer entre outras.
- Especialista em implantação e customização de Big Data com Hadoop, Spark, Pentaho, Cassandra e MongoDB.
- Contribuidor de projetos open sources ou free software internacionais, tais como Pentaho, Apache Hop, LimeSurvey, SuiteCRM e Camunda.
- Especialista em implantação e customização de ECM com Alfresco e BPM com Activiti, Flowable e Camunda.
- Certificado (Certified Pentaho Solutions) pela Hitachi Vantara (Pentaho inc).
- Ganhou o prêmio Camunda Champion em 2022 em reconhecimento a suas contribuições com o projeto Open Source Camunda.
- Membro da The Order Of de Bee (Comunidade Alfresco trabalhando para desenvolver o ecossistema Alfresco independente)