Fala pessoal, tudo bem?

Conforme anunciado, levou um bom tempo mas a versão 6.8 do OcoMon está pronta e disponível!

Inicialmente, a intenção era apenas de refatoramento exclusivamente voltado a questões de segurança. No entanto, aproveitei todo o processo de reescrita para lançar também algumas boas novidades. Considerando o volume de trabalho o impacto gerado na aplicação, a versão saltou da 6.3 para a 6.8.

A seguir, destaco as questões mais relevantes relacionadas à versão:

Segurança e depuração

Refatoramento geral da aplicação, abordando:

  • Controle aprimorado de sessões;
  • Controle centralizado de Content Security Policy (CSP) nos cabeçalhos para todas as requisições;
  • Sanitização mais rigorosa nas entradas de texto do sistema, especialmente por meio dos editores HTML;
  • Novos controles de acesso em scripts de processamento de formulários;
  • Utilização de “prepare statements” em diversas consultas que ainda não utilizavam;
  • Alguns tipos de requisições não possuíam um controle adequado contra CSRF.
  • Maior controle sobre o que é retornado para o usuário;
  • Controles para bloquear o acesso aos scripts de rotinas periódicas do Cron;
  • Centralização das mensagens de erro apenas para o log do próprio PHP;
  • Aprimoramento dos controles de acesso a recursos do sistema;
  • Atualização de bibliotecas do sistema..
  • Revisão e limpeza geral do código.

Desempenho

Várias ações foram realizadas no objetivo de tornar o sistema ainda mais performático. Dentre elas, destaque para:

  • Diversas consultas do banco de dados legadas e complexas foram reescritas visando otimização e performance, adotando padrões modernos de escrita e legibilidade;
  • Otimização e aprimoramento no cálculo de tempo útil:
    • O mecanismo de cálculo de tempos úteis foi reescrito para consumir menos recursos (processamento e conexões com o banco).
  • Melhorias em diversos processos visando impacto positivo no desempenho;

Funcionalidades e melhorias

As seguintes novas funcionalidades foram desenvolvidas:

  • Suporte para autenticação OAuth para contas do Gmail na configuração de abertura de chamados por e-mail (o suporte ao OAuth para Azure/Office365 já existia);
  • Suporte para autenticação OAuth para o processo de envio de e-mails, tanto para Gmail quanto para Azure/Office365.
  • Informações sobre SLA no ato da abertura do chamado e na tela de detalhes;
  • Novas variáveis de ambiente para serem utilizadas nos e-mails relacionados aos chamados: %sla_resposta% e %sla_solucao% (exibe os tempos previstos para resposta e solução);
  • Delegação de acesso entre usuários básicos: Agora é possível compartilhar a autoria de uma solicitação com outro usuário da mesma área solicitante e mesmo departamento. A delegação também pode ser realizada pelo gerente da área;
  • Seção para cadastro e administração de tempos para SLAs: até hoje o OcoMon sobreviveu sem uma área para cadastro e administração dos tempos utilizados nas configurações para SLAs. Agora temos essa área!
  • Nova coluna na listagem de comentários do chamado: na tela de detalhes dos chamados, na seção de listagem de comentários, agora há uma coluna indicando o status a partir do comentário.
  • Novas colunas no resultado do filtro avançado: novas colunas de tempo relacionadas aos chamados. Todas as colunas de tempo que já existiam agora possuem suas correspondentes convertidas em frações de hora. Além destas, há também uma nova coluna com o comentário mais recente do chamado e também uma coluna com a data do comentário mais recente.
  • Lembretes em chamados: funcionalidade que permite a qualquer usuário adicionar lembretes em qualquer chamado que se tenha acesso. Os lembretes são exibidos na área de notificações do sistema e também enviados por e-mail.
  • Remoção de obrigatoriedade de preenchimento: agora é possível configurar se os campos de descrição técnica e solução são de preenchimento obrigatório para a conclusão dos atendimentos;
  • Nova máscara para CNPJs de acordo com o novo padrão já em vigor no Brasil;
  • Gerentes de áreas agora podem adicionar comentários e arquivos aos chamados originados pelas áreas sob sua gerência;
  • Aprimoramento e unificação dos scripts de serviços de checagem da caixa de e-mail: getMailAndOpenTicket.php e getMailAndOpenTicketAzure.php. Agora, apenas o primeiro (getMailAndOpenTicket.php) é necessário no agendador de tarefas. O segundo script, getMailAndOpenTicketAzure.php foi descontinuado;
  • Tratamento aprimorado para chamados abertos por e-mail, agora o sistema busca identificar elementos de assinaturas para descartá-los;
  • Remoção da biblioteca ddeboer e utilização exclusiva da biblioteca webklex\php-imap para busca por mensagens via IMAP. Desta forma, o requisito para o módulo IMAP no PHP não é mais necessário.
  • Criação de redundância para o mecanismo que checa se uma mesma mensagem de e-mail já originou algum chamado. Esse mecanismo evita a abertura recorrente de tickets baseados em uma mesma mensagem em casos de algum erro no retorno da API de abertura;

Mudança de entendimento

Tempos de atendimento no resultado do filtro avançado

  • Até a versão 6.3.1, no resultado do filtro avançado, para os casos ondem ainda não havia primeira resposta, as colunas relacionadas aos tempos de atendimento consideravam o horário corrente para cálculo do tempo decorrido desde a abertura. Agora, para esses casos (onde não há primeira resposta), os tempos de atendimento aparecem zerados, assumindo a compreensão de que não há atendimento prestado ainda.

Bugs corrigidos

  • Bug na edição de áreas de atendimento: em alguns contextos, não estava salvando configurações de pré-filtros;
  • Bug na inclusão de novas prioridades de atendimento;
  • Bug na consulta por soluções não trazia resultados em alguns contextos;
  • Melhoria na consulta de soluções, que agora ignora resultados em chamados com status marcados como “ignorados”;
  • Bug no controle de inclusão de tags repetidas durante a edição;
  • Bug no relatório por recursos alocáveis: quando operadores não selecionavam a área, o resultado ignorava a restrição de retornar resultados apenas relacionados às áreas do usuário;
  • Na tela de detalhes dos chamados, o botão de “Solicitar retorno” nem sempre aparecia nos contextos em que deveria ser exibido;
  • Nas categorias de tipos de solicitações, em alguns casos, o sistema não estava impedindo a existência de categorias diferentes com a mesma nomenclatura;
  • Durante a reescrita do mecanismo de cálculo de tempos úteis foram identificados bugs silenciosos que, em condições específicas, geravam distorções no resultado.
  • Uma serie de pequenos bugs que foram identificados durante o processo de refatoração geral..

Procedimentos de atualização

As instruções de atualização estão aqui: https://ocomon.com.br/site/instalacao/

Sobre serviços: caso precise de suporte, treinamento ou customizações, não hesite em entrar em contato pelo endereço ocomon.oficial@gmail.com.

O OcoMon é um software brasileiro, de código aberto, de uso livre, que é desenvolvido e mantido pela crença na causa do Software Livre. Acreditar no Software Livre é também acreditar que com cooperação somos mais fortes, e que dessa forma podemos obter realizações e fazermos a diferença para nos tornarmos uma sociedade mais justa e mais humana.

Se o OcoMon lhe tem sido útil, poupado seu trabalho e lhe permitido direcionar seus recursos para outros investimentos, considere contribuir financeiramente para a continuidade e crescimento do projeto.

Grande abraço!
Flávio

Deixe um comentário