A melhoria aprimora a segurança e o gerenciamento de dispositivos no ambiente mobile. Com esta atualização, é possível controlar quais dispositivos têm permissão para acessar a aplicação, permitindo bloqueios e gerenciamento detalhado de cada dispositivo.
    OBJETIVO
O principal objetivo é oferecer aos administradores de acesso a capacidade de gerenciar e controlar quais dispositivos podem sincronizar com o sistema. Isso inclui a possibilidade de bloquear dispositivos já cadastrados e gerenciar o acesso de novos dispositivos.
  ANTES DE COMEÇAR
Requisitos
A funcionalidade afeta o gerenciamento de dispositivos no TOTVS CRM SFA.
Parâmetro disponível sob a seção de sincronização de dispositivos.
  DETALHES FUNCIONAIS
Funções
Controle de acesso para novos dispositivos baseado no parâmetro "sim3g.dispositivo.bloqueio.novo"
Possibilidade de bloquear dispositivos e impedir novas sincronizações.
Use a opção "Bloqueio permanente" para controlar o acesso dos dispositivos.
Integração com o cadastro de profissionais para sugerir bloqueio de dispositivos ao inativar um usuário.
  COMO USAR?
Passo a Passo
Configuração do Parâmetro para Novos Dispositivos:
Ajuste o parâmetro "sim3g.dispositivo.bloqueio.novo" para controlar automaticamente o acesso de novos dispositivos que se conectam ao sistema pela primeira vez.
Gerenciamento de Dispositivos no Cadastro Geral:
Acesse a tela "Cadastro > Geral > Dispositivo" no TOTVS CRM SFA. Aqui, você pode visualizar e gerenciar tanto os dispositivos novos quanto os já existentes.
Uso da Opção 'Bloqueio Permanente':
Utilize o campo "Bloqueio permanente" disponível para cada dispositivo listado para controlar o acesso de dispositivos específicos. Marque como "Sim" para bloquear ou "Não" para permitir o acesso.
 EXEMPLO PRÁTICO
Desafio Antigo:
Dificuldade em controlar e gerenciar o acesso de dispositivos específicos ao sistema TOTVS CRM SFA.
Solução Atualizada:
Com a nova funcionalidade, os administradores podem agora gerenciar de forma eficiente o acesso dos dispositivos, oferecendo maior segurança e controle sobre a utilização da aplicação.
  DETALHES TÉCNICOS
Banco de Dados
• Tools, Opção 3: No sistema, adicionar na tabela 'wssynclog' a coluna 'iddispositivo', que é uma FK para a tabela 'dispositivo', e pode ser nula.
• Tools, Opção 5: Criar um novo registro na tabela 'parâmetro' seguindo o especificado no changeSet fornecido, detalhando as características do novo parâmetro relacionado ao bloqueio de dispositivos.
Banco de DadosRefatoração de tela de cadastro dispositivo
• A tela "Cadastro > Geral > Dispositivo" deverá possuir grid com as seguintes especificações:
◦ "Descrição": Campo textual, editável, default vazio. Persistência no campo dispositivo.descricao
◦ "Marca": Campo textual, não editável, inserido pela sincronização persistindo a informação da marca do dispositivo. Persistência no campo dispositivo.marca
◦ "Modelo": Campo textual, não editável, inserido pela sincronização persistindo a informação do modelo do dispositivo. Persistência no campo dispositivo.modelo
◦ "ID": Campo textual, não editável, inserido pela sincronização persistindo a informação do "AndroidId" do dispositivo. Persistência no campo dispositivo.identificador
◦ "Telefone": Campo numérico, editável, máscara de telefone. Persistência no campo dispositivo.numero
◦ "Profissional": Campo pesquisa, não editável, exibindo nome do usuário associado ao dispositivo. Dispositivos que não autenticaram corretamente com um usuário, não devem ser cadastrados. A intenção é que esse campo nunca seja vazio. Persistência no campo dispositivo.idusuario
◦ "Veículo": Campo pesquisa, editável, buscando a entidade veiculo, exibindo somente registros ativos. Persistência no campo dispositivo.idveiculo
◦ "Última transmissão": Campo textual, não editável, exibindo data/hora da última sincronização associada ao dispositivo. Persistência no campo dispositivo.ultimatransmissao
◦ "Situação": Campo check-box, editável, opções Sim/Não. Ao sincronizar, caso o dispositivo estiver inativado o dispositivo será atualizado para ativo. O bloqueio do dispositivo deverá acontecer somente pelo campo "Bloqueado". Persistência no campo dispositivo.idnativo
◦ "Sistema Operacional": Campo textual, não editável, inserido pela sincronização persistindo a informação do SO do dispositivo. Persistência no campo dispositivo.sistemaoperacional
◦ "Versão": Campo textual, não editável, inserido pela sincronização persistindo a informação do número da versão do SO do dispositivo. Persistência no campo dispositivo.versaoso
◦ "Bloqueado": Campo check-box, editável, opções Sim/Não. Persistência no campo dispositivo.idnbloqueiopermanente
• A tela deverá receber os seguintes novos filtros avançados:
◦ "Usuário": campo de pesquisa, múltipla escolha, exibindo usuarios ativos. Ao selecionado, fará filtragem pelo campo dispositivo.idusuario
◦ "Situação": Checkbox, com opções: "Ativo" e "Inativo". Somente a opção Ativo deve vir marcada por padrão. Ao carregar a tela, somente deverão ser exibidos registros de dispositivos ativos. Ao selecionado, fará filtragem pelo campo dispositivo.idnativo
◦ "Bloqueado": Checkbox, com opções "Sim" e "Não". As duas opções devem vir marcadas por padrão. Ao selecionado, fará filtragem pelo campo dispositivo.idnbloqueiopermanente
• Ao sincronizar, caso a combinação dos campos dispositivo.identificador + dispositivo.idusuario não esteja cadastrada no sistema, o sistema deverá adicionar novo registro na tabela dispositivo. Caso a combinação dos campos dispositivo.identificador + dispositivo.idusuario esteja cadastrada no sistema, o sistema deverá atualizar o registro de dispositivo.
◦ Em ambos os casos, os seguintes campos deverão ser atualizados:
◦ Marca
◦ Modelo
◦ Última transmissão
◦ Situação
◦ Sistema Operacional
◦ Versão
• Vinculação de dispositivos com controle de sincronização (wssynclog)
◦ Ao sincronizar, autenticando com sucesso, ao persistir o registro de log na tabela wssynclog, o sistema deverá popular a coluna wsynclog.iddispositivo, buscando o iddispositivo pela consulta a seguir:
/*
select iddispositivo from dispositivo where identificador = ${AndroidID} and idusuario = ${wssynclog.idusuario}
*/
◦ Caso não seja encontrado, um novo dispositivo deverá ser persistido na tabela dispositivo.
◦ Caso o parâmetro "sim3g.dispositivo.bloqueio.novo" estiver com valor 1,
◦ O campo dispositivo.idnbloqueiopermanente deverá ser persistido como 1.
Caso contrário,
◦ O campo dispositivo.idnbloqueiopermanente deverá ser persistido como 0.
Sugestão de bloqueio de usuários inativados
• Na tela de cadastro de profissionais,
◦ Ao inativar um profissional e clicar em gravar,
◦ O sistema deverá consultar se existem dispositivos ativos ("Bloqueio permanente" = "Não") associados a ele, através da consulta a seguir:
/* select iddispositivo from dispositivo where idusuario = ? and idnbloqueiopermanente = 0 */
• Se retornarem registros , o sistema deverá exibir pop-up de confirmação (Sim/Não), com a pergunta: "O profissional foi inativado, deseja bloquear os seus dispositivos associados?".
◦ Caso selecionado "Sim", o sistema deverá atualizar a tabela de dispositivos do usuário, marcando o campo como "Bloqueio permanente" = "Sim"
/* update dispositivo set idnbloqueiopermanente = 1 where idusuario = ? */
Implementação de bloqueio de dispositivos
• Ao sincronizar, autenticando com sucesso,
◦ Caso o aparelho contenha dados,
• Caso o dispositivo associado à sincronização (Ponto 3) possua o campo dispositivo.idnbloqueiopermanente = 1,
◦ O sistema deverá receber os dados do aparelho (Aparelho > Servidor), porém, na etapa de receber dados (Servidor > Aparelho), o sistema deverá notificar o usuário com a seguinte mensagem: "O aparelho foi bloqueado para utilização do sistema e terá seus dados removidos".
◦ Após a mensagem, o sistema deverá ter excluido todos os dados (DATS) do aparelho, encaminhando o usuário para a tela de login.
◦ Caso contrário,
◦ O sistema deverá executar a sincronização normalmente, sem bloqueios.
• Caso o aparelho não contenha dados,
◦ Caso o dispositivo associado à sincronização (Ponto 3) possua o campo dispositivo.idnbloqueiopermanente = 1,
◦ O sistema deverá cancelar a sincronização após a autenticação, e notificar o usuário com a seguinte mensagem: "O aparelho está bloqueado para utilização do sistema. Solicite liberação ao responsável, informando o código do dispositivo a seguir: ${AndroidID com opção para copiar o conteúdo para a clipboard}".
• Caso contrário,
◦ O sistema deverá executar a sincronização normalmente, sem bloqueios.
PERGUNTAS FREQUENTES
question_answerPosso desbloquear um dispositivo depois de marcá-lo como permanentemente bloqueado?
Sim, você pode alterar o status de "Bloqueio Permanente" para "Não" para permitir novamente a sincronização do dispositivo.