Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Atualização do guia de marca

...

É possível criar aplicativos, widgets etc., que criem e enviem notificações personalizadas, além de fazer este processo através de aplicações externas, utilizando a API Pública do fluigda plataforma Fluig.

Este tutorial tem o objetivo de mostrar passo a passo como criar um aplicativo que cria uma notificação customizada e envia para os usuários da empresa (tenant). Para fazer este mesmo processo através da API Pública do fluigda plataforma Fluig, consulte a documentação clicando aqui. As notificações enviadas pelo aplicativo são exibidas tanto na web, como nos dispositivos móveis. 

...

Deck of Cards
effectDuration0.5
historyfalse
idsamples
effectTypefade
Card
defaulttrue
id1
labelPasso 1



Card
id2
labelPasso 2


  • Após obter o projeto, é necessário fazer a compilação.
  • O projeto utiliza o padrão Maven, portanto para compilar execute "mvn clean install" na raiz do projeto.
  • Serão gerados os componentes alert-creator-sample-server.ear e holeritweb.rar.


Card
id3
labelPasso 3


  • Para fazer o deploy dos componentes gerados, pare o serviço do fluig Fluig e copie ambos os arquivos na pasta [Instalação do fluig]/appserver/apps. Em seguida, inicie novamente o fluig.
  • A partir de agora, o sistema deverá gerar um novo tipo de alerta. É possível verificar que o evento foi criado corretamente através da tela de configuração de notificações.
  • Será apresentado um novo agrupamento, chamado Notificações do RH, com um novo tipo de notificação, conforme imagem a seguir:


Card
id4
labelPasso 4


  • Após a instalação do componente, o sistema enviará de 2 em 2 minutos uma notificação fake informando o usuário que o holerit está disponível no RH Online, conforme a imagem a seguir:


Nota

É recomendada a leitura de todo este material, mesmo que o desenvolvedor utilize o projeto de exemplo como base. Este tutorial apresenta conceitos importantes para trabalhar corretamente com notificações dentro do fluigTOTVS Fluig Plataforma.


Entendendo os conceitos para criação de notificações personalizadas

...

Os módulos de notificação são apenas agrupadores, para que as notificações semelhantes se apresentem agrupadas para o usuário.

Os módulos padrão do fluig TOTVS Fuig Plataforma são:

Colaboração: notificações de apoiar, comentar, etc.

...

Antes de criar notificações personalizadas, é importante que fique claro o conceito de "Eventos de Notificações". Um evento é uma representação de alguma ação que pode gerar notificações no fluigna platafdorma Fluig. O evento contém todas as configurações das notificações.

...

Através do evento o usuário pode configurar o recebimento de notificações. Por exemplo: é possível configurar o recebimento das notificações do tipo "SHARE" por e-mail, as notificações do tipo "LIKE" apenas pela Central de Notificações do fluigda plataforma Fluig, e não receber nenhuma notificação do tipo "FOLLOW_REQUEST_ACCEPTED".

...

  • Tipode integração: Indica o tipo de integração que será utilizado para executar aquela ação. Atualmente o fluig a plataforma Fluig suporta três tipos de integrações:
    1. JMS: Ao executar aquela ação o sistema irá disparar uma mensagem JMS com os dados da ação. A mensagem JMS disparada é do tipo "EXECUTE_ALERT_ACTION_EVENT". Cabe ao desenvolvedor implementar uma rotina que se conecte ao tópico "TOTVSTechIntegrationListenerTopic", ouça estas mensagens e execute efetivamente as ações.
    2. HTTP: Ao executar aquela ação, o sistema fará uma chamada HTTP a uma URL cadastrada no momento da criação da notificação. Os métodos HTTP suportados atualmente são GET e POST. Cabe ao desenvolvedor disponibilizar um serviço que responda naquela URL e execute efetivamente a ação.
    3. NONE: Ao executar aquela ação o sistema a marcará como executada, mas não realizará nenhuma ação.

...

Existem duas formas de utilização da API de Notificações do fluigTOTVS Fluig Plataforma: através do módulo interno do fluig Fluig "foundation-alert-api" e através da API Pública. Este tutorial contém um exemplo utilizando o módulo "foundation-alert-api". Para mais informações sobre a API Pública, clique aqui.

Para criação de um aplicativo interno ao fluig à plataforma Fluig que utilize a API de Notificações, é necessário criar um projeto Java (padrão Maven) e adicionar o seguinte trecho de código no arquivo "pom.xml":

...

  1. eventKey - String única que representa o evento no fluigFluig.
  2. required - Indica se o evento é requerido. Caso seja, o usuário não conseguirá configurar para não receber notificações do evento.
  3. descriptionKey - Descrição do evento. Pode ser um texto plano ou uma chave para obter descrição traduzida no I18n. Caso queira utilizar a tradução, a chave deve estar previamente cadastrada no I18n, no bundle "foundation_alert".
  4. singleDescriptionKey - Descrição da ação feita por um usuário. Pode ser um texto plano ou uma chave para obter descrição traduzida no I18n. Caso queira utilizar a tradução, a chave deve estar previamente cadastrada no I18n, no bundle "foundation_alert".
  5. groupDescriptionKey - Descrição da ação feita por por vários usuários. Pode ser um texto plano ou uma chave para obter a descrição traduzida no I18n. Caso queira utilizar a tradução, a chave deve estar previamente cadastrada no I18n, no bundle "foundation_alert".
  6. eventIcon - Ícone que representa o evento (opcional). Este ícone será exibido pelo sistema em notificações que não tenham um usuário que a enviou. Caso tenha um usuário "enviador", o sistema exibirá a foto deste usuário. Caso haja mais de um usuário "enviador", o sistema mostrará a foto do último usuário que enviou a notificação.
  7. moduleId - Módulo ao qual pertence este evento
  8. grouped - Indica se a notificação pode ser agrupada por ação e objeto.
  9. canRemove - Indica se a notificação pode ser removida.
  10. removeAfterExecAction - Indica se a notificação é removida após ser executada uma ação.
  11. onlyAdmin - Indica se o evento é válido somente para usuários administradores.
  12. tenantId - Empresa (tenant) para a qual o evento está sendo cadastrado.

...

Enviando Notificações

Para enviar uma notificação é necessário realizar uma chamada ao método "sendAlert", da interface "com.totvs.technology.foundation.alert.service.AlertService". Um exemplo de chamada deste método segue abaixo:

Bloco de código
languagejava
@Stateless(name = "AlertCreator", mappedName = "AlertCreator")
public class AlertCreator {
	
	@EJB(lookup = AlertService.JNDI_REMOTE_NAME)
	private AlertService alertService;
	
	public void sendHoleritAlert() {
		
		alertService.sendAlert("MY_EVENT", loginUserThatSendsTheNotification, loginUserThatIsGoingToReceiveTheNotification, objectAttached, placeWhereTheEventOccurs, actions, metadata);
				
	}
}

Os parâmetros para execução do método são:

  1. eventKey - Chave do evento cadastrado para envio de notificações.
  2. loginSender - login do usuário que envia a notificação. (opcional)
  3. loginReceiver - login do usuário que irá receber a notificação.
  4. object - objeto associado à notificação (opcional) - implementação padrão para a interface "AlertObject" é a classe "com.totvs.technology.foundation.alert.GenericAlertObject", da API de Notificações do fluigFluig.
  5. place - lugar onde a notificação foi gerada (opcional) - objeto e lugar são tratados com a mesma estrutura de dados - implementação padrão para a interface "AlertObject" é a classe "com.totvs.technology.foundation.alert.GenericAlertObject", da API de Notificações do fluigFluig.
  6. actions - ações disponibilizadas pela notificação (opcional) -  implementação padrão para a interface "AlertAction" é a classe "com.totvs.technology.foundation.alert.GenericAlertAction", da API de Notificações do fluigFluig.
  7. metadata - metadados da notificação (opcional).


Desabilitando eventos de Notificações

É possível desabilitar qualquer evento de notificações. Atualmente este serviço está disponível na API Pública do fluig da plataforma Fluig. Uma vez desabilitado, o sistema não gerará mais nenhuma notificação para aquele tipo de evento, e também não o exibirá mais na tela de configurações.

Nota
titleAtenção

Obrigatoriamente o valor informado deve ser um formulário. Outros tipos de documentos não serão tratados e ocorrerá erro na execução do evento.