DET - Documento de Especificação Técnica - Central de Notificações

UnidadeNomeFonee-mail
GER-TIGuilherme Lopes de Morais Filho glopes@tce.go.gov.br
UnidadeNomeFonee-mail
Tipo de SolicitaçãoDET de Origem
Novo Desenvolvimento
Sistema operacional do servidor de aplicaçãoWindows 2012 R2
Sistema operacional das estações clienteWindows 7
Banco de dados e versão11g R2
Versão do Programa1.1

A Central de notificações, visa criar um canal de notificações para informar todos os usuários do Tribunal de Contas do Estado de forma individual. Estas mensagens poderão ser geradas por qualquer sistema do Tribunal afim de que o usuário possa receber de forma centralizada todas as atualizações, notificações, validações, etc. dos sistemas integrados com o TCENet.

Todos os subsistemas do Tribunal necessitam enviar mensagens ao usuário sobre processos, calendários entre outras ocorrências, seja por e-mail ou por outras formas. Estas mensagens muitas vezes são cadastradas em forma de notícias dentro do Tribunal ou enviadas por e-mail e acabam em caixas de spam e por consequência diversas vezes estas não chegam a todos os usuários que precisam ter ciência da ocorrência. O que gera uma ineficiência na comunicação do tribunal com seus usuários diretos e indiretos.

É necessário criar uma central de notificações para o usuário, de forma que quando o mesmo se conectar ao sistema central, o mesmo possa mostrar para o usuário comum todas as notificações pendentes dentro de cada sistema em que o mesmo tem acesso. Já para os supervisores dos informações enviadas aos usuários deve ser possível identificar a hora e o dia que o mesmo visualizou a informação pela primeira vez.

Esta central também deverá permitir que os subsistemas possam buscar e mostrar todas as notificações relacionadas a aquele subsistema dentro do seu ambiente. Caso a informação tenha sido enviada por e-mail ela também poderá aparecer na barra de notificações do usuário.

Os subsistemas que precisam enviar estas mensagens não devem implementar esta lógica, aumentando assim o desacoplamento dos sistemas.

A proposta de solução descrita neste escopo é uma sugestão e poderá sofrer mudanças durante o processo de desenvolvimento, caso se identifique a necessidade.

Devem ser criadas ao menos duas formas de comunicação da central de Notificações, afim de facilitar o uso do sistema. A primeira opção é o cadastro manual de uma notificação, permitindo que o usuário determine todos os detalhes da notificação. A segunda opção deverá ser a criação de um Web Service que permita a todos os subsistemas se comunicar com a central, fazendo chamados através de URLS, permitindo a criação, alteração, listagem e a marcação de notificações como visualizadas. No entanto o Web Service deverá implementar um nível de segurança verificando sempre as permissões do usuário informado na comunicação.

Existirão 3 níveis de acesso:

  1. O nível mais básico é apenas para visualização das notificações e marcar a mesma como lida, para o usuário em todos os sistemas cadastrados;
  2. O nível intermediário, chamado de moderador que poderá cadastrar notificações e acessar relatórios da sua área;
  3. O ultimo nível, chamado de administrador poderá cadastrar sistemas na central de notificações e também executara as mesmas ações do moderador.

Descrevemos abaixo todas as opções que devem ser disponibilizadas dentro do TceNet.

Os níveis não estão aparecendo no menu lateral.

6.1.1. Cadastro de Sistemas Autorizados

Será facultado apenas ao administrador o cadastramento dos sistemas/subsistemas que podem utilizar a central de notificações.

Só deverá ser permitido alterar ou excluir um sistema/subsistema já cadastrado se o mesmo não tiver nenhuma notificação já vinculada, caso exista alguma referencia o sistema/subsistema deverá dar a mensagem: “O Sistema XXXX já tem notificação associada, é possível apenas inativa-lo.”, onde XXX é o nome do sistema em questão. O sistema também deve permitir que o usuário faça a inativação/ativação do sistema/subsistema, sempre que desejar.

Atenção: Ao cadastrar um sistema/subsistema o sistema deverá apresentar um item chamado Geral que representará o TCENet.

Tela inicial. Tela de Cadastro do subsistema/sistema

Os campos que deverão ser armazenados:

CampoObrigatórioTipo(Tamanho)Observação
Id Interno Sim Long Id Interno
Id do Sistema Sim Long Id do Sistema.
Data Alteração Sim DateTime Data da ultima alteração no registro.
StatusSim Sim/Não Identifica se o sistema está ativo ou inativo.
Id do Usuário Sim Long Id do usuário que criou o registro.
Categoria Não string(255) Id da Categoria do informa ou outra categoria.
Descrição Sim string(255) Descrição criada pelo usuário para visualização no cadastro.

6.1.2. Central das Notificações

6.1.2.1. Tela Inicial das Notificações

Será facultado ao moderador a visualização das notificações criadas pelo próprio moderador. Já o administrador poderá visualizar todas as notificações criadas por todos os usuários.

Ao acessar a área das notificações, o sistema irá apresentar na tela inicial todas as notificações criadas pelo usuário logado no sistema, nesta tela inicial, será possível criar uma nova notificação e também acessar os detalhes das notificações criadas pelo usuário. Tela inicial.

6.1.2.2. Cadastro de Notificação

Será facultado ao moderador e ao administrador o cadastramento de notificações a serem enviadas ao usuários.

Ao clicar em inserir o sistema deverá apresentar a tela de cadastro de notificação com todas as informações necessárias para o cadastro de uma notificação, a tela com os atributos está relatado abaixo. Para selecionar os sistemas nos quais a notificação será vinculada o sistema abrirá uma tela modal assim também será o comportamento para a relação dos usuários e jurisdicionados que deverão receber a notificação.

Tela de Cadastro da notificação.

Ao clicar em Enviar o sistema deverá validar todos os campos quanto a sua obrigatoriedade e se ao menos um sistema foi informado e se ao menos um usuário foi relacionado, em seguida o sistema vai confirmar com o usuário que esta operação não poderá ser desfeita e só depois que o usuário confirmar a criação da notificação é que ela será criada e enviada aos interessados. O sistema não deverá permitir a exclusão nem a alteração de uma notificação.

* O campo prioridade define o posicionamento da notificação quando da apresentação ao usuário final, os Itens prioritários ficam em primeiro depois os normais e por ultimo os de baixa prioridade.

* O campo “Onde mostrar” contêm todas as possibilidades de notificação do usuário, inicialmente as opções:

  1. Push TCENet: Opção para mostrar no TceNet;
  2. Push Subsistemas: Opção para mostrar nos subsistemas escolhidos;
  3. Push Desktop: Opção para mostrar no desktop do destinatário;
  4. SMS / WhatsApp: Opção para enviar via SMS ou WhatsApp para o celular cadastrado do usuário destino.

Caso o usuário tenha escolhido a opção de SMS / Whatsapp o sistema deve verificar se todos os usuários destinatários da notificação tem um celular associado e em caso negativo o sistema deverá informar o usuário e desmarcar a caixa, obrigando o mesmo a apertar novamente o botão “enviar”.

Observações de revisão ao analista:
1-  A opção Desktop deve utilizar a Central de Ações (Windows 10) **somente para intranet**
2 - A funcionalidade de cadastramento deve dar opção na caixa de seleção dos usuários, todos os usuários ativos dos sistemas
3 - Pode haver a necessidade de enviar mensagem apenas a usuários internos ou externos. Por exemplo o sistema de Artigo 30 possui usuários destes dois tipos, sendo assim a seção de usuários deve também dar a opção usuários ativos internos, usuários ativos externos, além de todos os ativos
4 -  Dar solução para o caso de sistemas que realizam autenticação por LDAP. Neste caso deve permitir selecionar os usuários que estão no Active Directory por Unidade Administrativa do TCE-GO.
5 - Não vamos disponibilizar opção de meio comiunicação SMS, apenas Whatsapp

Exemplo da central de ações do windows 10

Central de ações.

6.1.2.3. Detalhes da Notificação

Na tela inicial se o usuário clicar em detalhes o sistema deverá apresentar os detalhes na notificação conforme tela abaixo, apenas para visualização. Detalhes da Notificação.

6.1.3. Relatório das Notificações

Será permitido o acesso apenas ao moderador e ao administrador.

DUVIDA: para os moderadores o sistema deve mostrar apenas os sistemas que o mesmo tem acesso? Se sim, vamos mudar o cadastro dos sistemas e relacionar as autorizações

Observações de revisão ao analista:
1- O controle de acesso do moderador deve ocorrer somente nos sistemas que ele tem autorização.

Ao entrar na tela de relatórios o sistema irá carrega todas notificações enviadas, independentemente do usuário. Ainda nesta tela será possível ao usuário filtrar de acordo com a sua necessidade tento os campos como base para o filtro:

  • Data da criação da notificação
  • Sistema em que foi entregue a notificação
  • Usuário
  • Texto do título da notificação.

1ª Versão do relatório.

6.1.4. Central de Notificações no Portal TCENet

O sistema ira apresentar a todo os usuários duas opções de visualização das notificações. A primeira, é a visualização por sistema, onde o site deverá apresentar a quantidade de notificações pendentes para o usuário logado por sistema que ele tem permissão. O Sistema deverá levar em consideração o perfil associado ao momento da consulta.

Notificação por sistema.

A segunda tela é a centralização de todas as notificações, visualizadas ou não, independente do perfil selecionado no momento.

Resumo Notificações do Usuário

Observações de revisão ao analista:
1- Foi apresentada a notificação apenas no TCENet, porém a Central de ações do Windows 10 deve sr atendida neste quesito.
2 - As notificações enviadas por email, Whatsapp não possuirão a funcionalidade de marcar como lida na central de notificação. Se uma mensagem que foi enviada por Whatsapp, desktop e tcenet somente terá a marcação de lida quando for realizada esta operação nos meios de comunicação desktop e tcenet
3 - 

Todas as comunicações com o web service devem ser realizadas informando sempre o usuário, senha e sistema. Caso o serviço identifique que o usuário não tem autorização o serviço deverá informar ao usuário: “O usuário não tem permissão de acesso ao serviço.”, caso o serviço identifique que a senha do usuário está invalida o serviço deverá informar ao usuário: “Senha ou usuário invalida.”.

6.2.1 Cadastro de Notificações

Ao chamar este serviço o primeiro passo após a verificação de usuário e senha é a validação do sistema e caso o sistema informado não esteja cadastrado no item 6.1.1 Cadastro de Sistemas Autorizados o serviço deverá informar ao usuário: “O Sistema não está cadastrado.”, do contrário o sistema deverá proceder a validação das informações e o registro da notificação. Importante ressaltar que uma notificação não poderá ser editada!

Caso a notificação necessite de enviar um e-mail o mesmo deverá ser realizado imediatamente e o envio deverá ser registrado no controle de notificações.

CampoObrigatórioTipo(Tamanho)Observação
PrioridadeSimOpção Opções disponíveis 0 - Alta; 1 - Normal; 2 - Baixa;
Tipo NotificaçãoSimLista Lista com as opções escolhidas para a notificação: 0 - Tcenet, 1 - Desktop, 2 - Susbistemas, 3 - SMS/WhatsApp, 4 - Email
TítuloSimString(150) Define o titulo da notificação.
Tipo TextoSimOpção Só existem dois tipos: Texto plano ou Html, por padrão o tipo Html estará sempre marcado.
ConteúdoSimString(1.500) Texto detalhado da notificação.
SistemasSimLista Lista com os códigos dos sistemas que devem ser relacionados a esta notificação.
UsuáriosSimLista Lista com os códigos dos usuários que devem ser relacionados a esta notificação.

Para atender a todas as opções de seleção de usuários o sistema irá manter algumas sobreposições da chamada de cadastro de notificações afim de facilitar o uso pelos demais aplicativos, conforme itens a seguir.

6.2.1.1 Sobreposição: Informando os Setores internos

Caso o usuário precise informar uma lista de setores internos, o sistema deverá manter uma sobreposição da chamada de cadastro permitindo que o mesmo informe uma lista de setores a serem relacionados com a notificação informada. Ao receber tal lista o sistema deverá buscar todos os usuários relacionados no momento da criação da notificação e associa-los a notificação recebida.

6.2.1.2 Sobreposição: Informando os Perfis de usuário

Caso o usuário precise informar uma lista de perfis de usuário, o sistema deverá manter uma sobreposição da chamada de cadastro permitindo que o mesmo informe esta lista de perfis a serem relacionados com a notificação informada. Ao receber tal lista o sistema deverá buscar todos os usuários relacionados no momento da criação da notificação e associa-los a notificação recebida.

6.2.1.3 Sobreposição: Informando os Órgãos de juridicionados

Caso o usuário precise informar uma lista de órgãos de jurisdicionados, o sistema deverá manter uma sobreposição da chamada de cadastro permitindo que o mesmo informe esta lista de órgãos a serem relacionados com a notificação informada. Ao receber tal lista o sistema deverá buscar todos os usuários relacionados no momento da criação da notificação e associa-los a notificação recebida.


6.2.2 Consulta Notificações

Ao chamar este serviço o usuário deverá informar seu usuário, senha, sistema. O primeiro passo após a verificação de usuário e senha é a validação do sistema e caso o sistema informado não esteja cadastrado no item 6.1.1 Cadastro de Sistemas Autorizados o serviço deverá retornar uma lista vazia. Contudo caso o sistema esteja cadastrado corretamente o serviço deverá retornar uma lista com as ultimas 20 notificações do usuário informado.

Os campos da notificações que serão retornados:

CampoTipoOberservação
Id Notificação long
Autor da Notificação dtousuarioObjeto com o nome do usuário.
Data da CriaçãoDateTime Data e hora da Criação da notificação.
Tipo do Texto Opção Opção do tipo de Texto (HTML ou Texto Plano).
Título string
Conteúdostring
PrioridadeOpção Opções disponíveis 0 - Alta; 1 - Normal; 2 - Baixa;
Já Visualizado Sim/Não Informa se a notificação já foi vista pelo usuário anteriormente.
Data da Visualização DateTime Data e hora em que a visualização
6.2.2.1 Sobreposição: Informando Data e hora inicial

Caso o usuário deseja buscar as notificações que ocorreram apartir de uma data e hora especificas o sistema deverá manter uma sobreposição da chamada permitindo que o mesmo informe esta data e hora.

6.2.2.2 Sobreposição: Informando Páginação

O sistema por padrão irá apresentar 20 notificações, caso o usuário deseja buscar uma notificação anterior, o sistema deverá aceitar um parametro que permitira ao usuário buscar a página 2 ou 3, por exemplo, das notificações fazendo com que o mesmo possa controlar de forma mais precisa a quantidade de registros que serão mostrados.


6.2.3 Confirmação de Visualização de Notificação

Todas vez que um usuário visualizar a notificação em questão os sistemas deverão chamar este serviço para que o mesmo possa marcar a notificação como lida. Para tanto este método deverá ser assíncrono para não atrapalhar o processamento dos outros sistemas. Quando uma notificação é visualizada em um sistema, todos os demais já deverão mostrar a mesma como lida.

O Usuário deverá informar, além das informações já previamente listadas, o id da informação, id do sistema e o id do usuário para que o serviço possa atualizar a notificação.

  • pres/gerti/servico_de_desenvolvimento_de_sistemas_de_informacao/projetos/central_notificacoes/documentacao_de_especificacao_tecnica.txt
  • Última modificação: 26/12/2017 18:49
  • por maugusto