Nosso sistema de notificações do T6 permite visualizarmos com uma ampla gama de detalhamento as execuções realizadas, como cargas de dados, publicações do cubo e processos do workflow. Possibilitando visualizar o status da execução, o horário detalhado de início e fim e o tempo total da execução, e, em caso de erros durante a execução, será exibida a listagem dos erros, possibilitando selecionar um erro específico e verificar seu detalhamento.
Dentre as novas funcionalidades adicionadas no sistema de notificações, estão:
Para utilizarmos o sistema de notificações, precisaremos realizar uma ação que gere uma notificação, a partir de uma carga de dados, uma publicação do cubo ou realizar um processo do workflow.
Ao clicarmos em no canto superior da tela do T6, será exibido um panel na lateral com a listagem das notificações geradas pelo sistema e uma barra de status com a porcentagem executada, dentre elas teremos algumas possibilidades:
: Será exibido caso a ação disparada esteja sendo executada sem nenhuma falha até o momento;
: Será exibido caso a ação disparada seja executada e finalizada com sucesso;
: Será exibido caso a ação disparada esteja sendo executada com falhas;
: Será exibido caso a ação disparada tenha sido executada e finalizada, porém com falhas;
: Será exibido caso a a ação disparada tenha um ou mais erros que impossibilitam a sua execução e finalização.
Ao clicarmos em uma notificação, será aberta uma nova aba no T6, exibindo o detalhamento completo da ação disparada.
No caso de um erro que impossibilite a execução, a aba aberta exibirá, o título da ação disparada; uma breve explicação informando que a execução não foi realizada por erro; qual usuário disparou a ação; o status de erro; a data e hora detalhada de início da execução e um quadro informando o detalhamento do erro.
Ao publicarmos o cubo após a criação de uma ou mais fórmulas, o sistema exibirá uma notificação. Ao clicarmos na notificação, será aberta uma nova aba, na qual podemos visualizar o detalhamento das ações realizadas pelo sistema ao publicarmos o cubo.
Neste tela temos:
No caso das fórmulas, temos também os seguintes cards informativos:
Conforme o exemplo acima, em cada card temos:
Para mais informações quanto às fórmulas no T6, acesse: Fórmulas e Funções
Logo abaixo, temos uma listagem com todos os passos realizados pelo sistema ao publicarmos o cubo, e ao lado de cada passo temos o tempo de duração de cada ação, representados em milissegundos;
Ao executarmos uma carga de dados, o sistema exibe uma notificação. Ao clicarmos na notificação, é aberta uma nova aba, na qual podemos visualizar o detalhamento das ações realizadas pelo sistema ao executarmos a carga de dados.
Em caso de sucesso, a tela exibirá somente:
Em caso de execução concluída com falha por erro no mapeamento, além dos itens citados anteriormente, teremos também:
Um card onde está informado o nome do mapeamento realizado, o código de erro gerado, e um botão Corrigir mapeamento:
Ao clicarmos em Corrigir mapeamento seremos direcionados para uma nova aba no T6, contendo o formulário de dados utilizado para a carga de dados, permitindo fazermos as correções necessárias no formulário.
Podemos também fazer as alterações através do arquivo CSV utilizado para a carga, corrigindo as linhas que geraram erros e executando a carga novamente.
Logo abaixo do card, temos uma listagem das falhas encontradas na execução da carga de dados e seu detalhamento;
Nos dá a possibilidade de um usuário poder enviar uma mensagem a um grupo de usuários, ou, a um usuário específico quando está realizando uma atividade, com isso, podemos criar uma notificação onde podemos colocar qualquer informação e não somente as da aplicação.
Nossas notificações ficam salvas em tabelas do banco de dados que iniciam com REP_NOTIFICATION
, as informações que ficam armazenadas na tabela REP_NOTIFICATION
são as informações gerais de uma notificação.
Na tabela REP_NOTIFICATION
temos as seguintes colunas:
codNotification
: Identificador incremental, o qual é gerado automaticamente ao gerar uma notificação;codNotificationType
: Identificador de notificação que vem da tabela REP_NOTIFICATION_TYPE
, dentre os tipos de notificação disponíveis temos:
flgState
: Temos o estado da notificação, dentre os estados possíveis de uma notificação temos:
codUser
: Identificador do usuário que criou a notificação;dscObjectID
: Identificador de objeto que está associado à notificação;dscObjectName
: Nome do objeto que está associado à notificação;dscTitle
: Título da mensagem exibida na notificação;dscMessage
: Corpo da mensagem exibida na notificação;dscDetails
: Detalhes da mensagem exibida na notificação;datStart
: Data de início da notificação;datEnd
: Data de finalização da notificação;Temos também a tabela REP_NOTIFICATION_USER
, na qual podemos informar qual usuário gostaríamos que fosse notificado para a notificação criada.
Em uma notificação customizada nós vamos preencher um registro na tabela REP_NOTIFICATION
e um registro, ou mais, na tabela REP_NOTIFICATION_USER
.
Para inserirmos uma notificação customizada, vamos precisar acessar nosso banco de dados e realizar uma inserção na tabela REP_NOTIFICATION
, por exemplo:
INSERT INTO REP_NOTIFICATION (codNotificationType, flgState, codUser, dscObjectID, dscObjectName, dscTitle, dscMessage, dscDetails, datStart, datEnd)
VALUES
(8, 2, 1, NULL, NULL, 'Título de Exemplo', 'Exemplo do corpo da mensagem na notificação', 'Exemplo de detalhes', GETUTCDATE(), GETUTCDATE())
E precisaremos também realizar uma inserção na tabela REP_NOTIFICATION_USER
, por exemplo:
INSERT INTO REP_NOTIFICATION_USER (codNotification, codUser)
SELECT TOP 1 codNotification AS codNotification, 1 AS codUser FROM REP_NOTIFICATION ORDER BY codNotification DESC
Sempre que formos criar uma notificação customizada, precisamos primeiro fazer o INSERT na tabela
REP_NOTIFICATION
para termos o código da notificação que utilizaremos no INSERT da tabelaREP_NOTIFICATION_USER
.
O usuário será notificado somente uma vez, assim que a notificação for lida pelo usuário, o mesmo não receberá mais a mesma notificação.
Para chamar a notificação, utilizaremos a seguinte API: .../API/Notification/Notify?notificationCode=****, onde os **** serão substituídos pelo código da notificação que criamos anteriormente.
A notificação somente será gerada para os usuários definidos no INSERT da tabela REP_NOTIFICATION_USER
que estejam logados no momento da chamada da API, caso não tenha nenhum usuário logado no momento da chamada, a notificação simplesmente não será entregue, até que um dos usuários definidos faça login no T6.
A Notificação customizada será exibida da seguinte forma:
Ao clicarmos sob a notificação, teremos um maior detalhamento, exibindo o usuário que disparou a notificação, a data de início e a data de finalização: