Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
<dependency> <groupId>com.fluig</groupId> <artifactId>foundation-alert-api</artifactId> <version>1.2.0-SNAPSHOT</version> <scope>compile</scope> </dependency> |
...
Cadastrando módulos de Notificações:
Para criação de um novo módulo de notificações, é necessário realizar uma chamada ao método "registerModule", da interface "com.totvs.technology.foundation.alert.service.AlertModuleService". Um exemplo de chamada deste método segue abaixo:
Bloco de código | ||
---|---|---|
| ||
@Singleton(mappedName = "HoleritEventRegisterMyModuleRegister", name = "HoleritEventRegisterMyModuleRegister") public class EventRegisterModuleRegister { @EJB(lookup = AlertModuleService.JNDI_REMOTE_NAME) private AlertModuleService alertModuleService; public void registerModule() { /* * Cria um novo módulo de notificações. Os módulos padrão do Fluig são: * 1. DOCUMENT * 2. PROCESSES * 3. PORTAL * 4. COLABORATION * * Caso o novo evento de notificações se encaixe em um destes módulos, * não é necessário criar um novo. */ final AlertModuleVO modulemyModule = alertModuleService.registerModule( "RH_MODULE", "Notificações do RH", myTenantId); } } |
...
- moduleKey: Chave única de identificação do módulo
- description: É a descrição do módulo. Pode ser um texto plano ou uma chave para tradução. Para que a tradução funcione, a chave deve estar previamente cadastrada no serviço I18n, no bundle "foundation_alert".
- tenantId: Id do tenant para qual o módulo está sendo criado.
Cadastrando eventos de Notificações:
Para criação de um novo evento de notificações, é necessário realizar uma chamada ao método "createEvent", da interface "com.totvs.technology.foundation.alert.service.AlertEventService". Um exemplo de chamada deste método segue abaixo:
Bloco de código | ||
---|---|---|
| ||
@Singleton(mappedName = "MyEventRegister", name = "MyEventRegister")
public class EventRegister {
@EJB(lookup = AlertEventService.JNDI_REMOTE_NAME)
private AlertEventService alertEventService;
public void registerEvent() {
alertEventService.createEvent(
"MY_EVENT",
Boolean.FALSE,
"Meu evento customizado",
"criou",
"criaram",
"/myapp/myimg.jpg",
myModule.getId(),
Boolean.TRUE,
Boolean.TRUE,
Boolean.FALSE,
Boolean.FALSE,
tenantId);
}
} |
Os parâmetros para execução do método são:
- eventKey - String única que representa o evento no Fluig.
- required - Indica se o evento é requerido. Caso seja, o usuário não conseguirá configurar para não receber notificações do evento.
- 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".
- 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".
- 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".
- 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.
- moduleId - Módulo ao qual pertence este evento
- grouped - Indica se a notificação pode ser agrupada por ação e objeto.
- canRemove - Indica se a notificação pode ser removida.
- removeAfterExecAction - Indica se a notificação é removida após ser executada uma ação.
- onlyAdmin - Indica se o evento é válido somente para usuários administradores.
- tenantId - Tenant para o 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 | ||
---|---|---|
| ||
@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);
}
} |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas