{"id":2340,"date":"2026-07-27T16:27:24","date_gmt":"2026-07-27T19:27:24","guid":{"rendered":"https:\/\/ocomon.com.br\/site\/?p=2340"},"modified":"2026-07-27T16:27:25","modified_gmt":"2026-07-27T19:27:25","slug":"versao-6-8-liberada","status":"publish","type":"post","link":"https:\/\/ocomon.com.br\/site\/versao-6-8-liberada\/","title":{"rendered":"Vers\u00e3o 6.8 liberada!"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Fala pessoal, tudo bem?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conforme anunciado, levou um bom tempo mas a vers\u00e3o <strong>6.8<\/strong> do OcoMon est\u00e1 pronta e dispon\u00edvel! <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inicialmente, a inten\u00e7\u00e3o era apenas de refatoramento exclusivamente voltado a quest\u00f5es de seguran\u00e7a. No entanto, aproveitei todo o processo de reescrita para lan\u00e7ar tamb\u00e9m algumas boas novidades. Considerando o volume de trabalho o impacto gerado na aplica\u00e7\u00e3o, a vers\u00e3o saltou da 6.3 para a <strong>6.8<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A seguir, destaco as quest\u00f5es mais relevantes relacionadas \u00e0 vers\u00e3o:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Seguran\u00e7a e depura\u00e7\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Refatoramento geral da aplica\u00e7\u00e3o, abordando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Controle aprimorado de sess\u00f5es;<\/li>\n\n\n\n<li>Controle centralizado de Content Security Policy (CSP) nos cabe\u00e7alhos para todas as requisi\u00e7\u00f5es;<\/li>\n\n\n\n<li>Sanitiza\u00e7\u00e3o mais rigorosa nas entradas de texto do sistema, especialmente por meio dos editores HTML;<\/li>\n\n\n\n<li>Novos controles de acesso em scripts de processamento de formul\u00e1rios;<\/li>\n\n\n\n<li>Utiliza\u00e7\u00e3o de &#8220;prepare statements&#8221; em diversas consultas que ainda n\u00e3o utilizavam;<\/li>\n\n\n\n<li>Alguns tipos de requisi\u00e7\u00f5es n\u00e3o possu\u00edam um controle adequado contra CSRF.<\/li>\n\n\n\n<li>Maior controle sobre o que \u00e9 retornado para o usu\u00e1rio;<\/li>\n\n\n\n<li>Controles para bloquear o acesso aos scripts de rotinas peri\u00f3dicas do Cron;<\/li>\n\n\n\n<li>Centraliza\u00e7\u00e3o das mensagens de erro apenas para o log do pr\u00f3prio PHP;<\/li>\n\n\n\n<li>Aprimoramento dos controles de acesso a recursos do sistema;<\/li>\n\n\n\n<li>Atualiza\u00e7\u00e3o de bibliotecas do sistema..<\/li>\n\n\n\n<li>Revis\u00e3o e limpeza geral do c\u00f3digo.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Desempenho<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e1rias a\u00e7\u00f5es foram realizadas no objetivo de tornar o sistema ainda mais perform\u00e1tico. Dentre elas, destaque para:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Diversas consultas do banco de dados legadas e complexas foram reescritas visando otimiza\u00e7\u00e3o e performance, adotando padr\u00f5es modernos de escrita e legibilidade;<\/li>\n\n\n\n<li>Otimiza\u00e7\u00e3o e aprimoramento no c\u00e1lculo de tempo \u00fatil:\n<ul class=\"wp-block-list\">\n<li>O mecanismo de c\u00e1lculo de tempos \u00fateis foi reescrito para consumir menos recursos (processamento e conex\u00f5es com o banco).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Melhorias em diversos processos visando impacto positivo no desempenho;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Funcionalidades e melhorias<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As seguintes novas funcionalidades foram desenvolvidas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Suporte para autentica\u00e7\u00e3o OAuth para contas do Gmail na configura\u00e7\u00e3o de abertura de chamados por e-mail (o suporte ao OAuth para Azure\/Office365 j\u00e1 existia);<\/li>\n\n\n\n<li>Suporte para autentica\u00e7\u00e3o OAuth para o processo de envio de e-mails, tanto para Gmail quanto para Azure\/Office365.<\/li>\n\n\n\n<li>Informa\u00e7\u00f5es sobre SLA no ato da abertura do chamado e na tela de detalhes;<\/li>\n\n\n\n<li>Novas vari\u00e1veis de ambiente para serem utilizadas nos e-mails relacionados aos chamados: %sla_resposta% e %sla_solucao% (exibe os tempos previstos para resposta e solu\u00e7\u00e3o);<\/li>\n\n\n\n<li>Delega\u00e7\u00e3o de acesso entre usu\u00e1rios b\u00e1sicos: Agora \u00e9 poss\u00edvel compartilhar a autoria de uma solicita\u00e7\u00e3o com outro usu\u00e1rio da mesma \u00e1rea solicitante e mesmo departamento. A delega\u00e7\u00e3o tamb\u00e9m pode ser realizada pelo gerente da \u00e1rea;<\/li>\n\n\n\n<li>Se\u00e7\u00e3o para cadastro e administra\u00e7\u00e3o de tempos para SLAs: at\u00e9 hoje o OcoMon sobreviveu sem uma \u00e1rea para cadastro e administra\u00e7\u00e3o dos tempos utilizados nas configura\u00e7\u00f5es para SLAs. Agora temos essa \u00e1rea!<\/li>\n\n\n\n<li>Nova coluna na listagem de coment\u00e1rios do chamado: na tela de detalhes dos chamados, na se\u00e7\u00e3o de listagem de coment\u00e1rios, agora h\u00e1 uma coluna indicando o status a partir do coment\u00e1rio.<\/li>\n\n\n\n<li>Novas colunas no resultado do filtro avan\u00e7ado: novas colunas de tempo relacionadas aos chamados. Todas as colunas de tempo que j\u00e1 existiam agora possuem suas correspondentes convertidas em fra\u00e7\u00f5es de hora. Al\u00e9m destas, h\u00e1 tamb\u00e9m uma nova coluna com o coment\u00e1rio mais recente do chamado e tamb\u00e9m uma coluna com a data do coment\u00e1rio mais recente.<\/li>\n\n\n\n<li>Lembretes em chamados: funcionalidade que permite a qualquer usu\u00e1rio adicionar lembretes em qualquer chamado que se tenha acesso. Os lembretes s\u00e3o exibidos na \u00e1rea de notifica\u00e7\u00f5es do sistema e tamb\u00e9m enviados por e-mail.<\/li>\n\n\n\n<li>Remo\u00e7\u00e3o de obrigatoriedade de preenchimento: agora \u00e9 poss\u00edvel configurar se os campos de descri\u00e7\u00e3o t\u00e9cnica e solu\u00e7\u00e3o s\u00e3o de preenchimento obrigat\u00f3rio para a conclus\u00e3o dos atendimentos;<\/li>\n\n\n\n<li>Nova m\u00e1scara para CNPJs de acordo com o novo padr\u00e3o j\u00e1 em vigor no Brasil;<\/li>\n\n\n\n<li>Gerentes de \u00e1reas agora podem adicionar coment\u00e1rios e arquivos aos chamados originados pelas \u00e1reas sob sua ger\u00eancia;<\/li>\n\n\n\n<li>Aprimoramento e unifica\u00e7\u00e3o dos scripts de servi\u00e7os de checagem da caixa de e-mail: <code>getMailAndOpenTicket.php<\/code> e <code>getMailAndOpenTicketAzure.php<\/code>. Agora, apenas o primeiro (<code>getMailAndOpenTicket.php<\/code>) \u00e9 necess\u00e1rio no agendador de tarefas. O segundo script, <code>getMailAndOpenTicketAzure.php<\/code> foi descontinuado;<\/li>\n\n\n\n<li>Tratamento aprimorado para chamados abertos por e-mail, agora o sistema busca identificar elementos de assinaturas para descart\u00e1-los;<\/li>\n\n\n\n<li>Remo\u00e7\u00e3o da biblioteca <code>ddeboer<\/code> e utiliza\u00e7\u00e3o exclusiva da biblioteca <code>webklex\\php-imap<\/code> para busca por mensagens via IMAP. Desta forma, o requisito para o m\u00f3dulo IMAP no PHP n\u00e3o \u00e9 mais necess\u00e1rio.<\/li>\n\n\n\n<li>Cria\u00e7\u00e3o de redund\u00e2ncia para o mecanismo que checa se uma mesma mensagem de e-mail j\u00e1 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;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mudan\u00e7a de entendimento<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tempos de atendimento no resultado do filtro avan\u00e7ado<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>At\u00e9 a vers\u00e3o 6.3.1, no resultado do filtro avan\u00e7ado, para os casos ondem ainda n\u00e3o havia primeira resposta, as colunas relacionadas aos tempos de atendimento consideravam o hor\u00e1rio corrente para c\u00e1lculo do tempo decorrido desde a abertura. Agora, para esses casos (onde n\u00e3o h\u00e1 primeira resposta), os tempos de atendimento aparecem zerados, assumindo a compreens\u00e3o de que n\u00e3o h\u00e1 atendimento prestado ainda.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Bugs corrigidos<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bug na edi\u00e7\u00e3o de \u00e1reas de atendimento: em alguns contextos, n\u00e3o estava salvando configura\u00e7\u00f5es de pr\u00e9-filtros;<\/li>\n\n\n\n<li>Bug na inclus\u00e3o de novas prioridades de atendimento;<\/li>\n\n\n\n<li>Bug na consulta por solu\u00e7\u00f5es n\u00e3o trazia resultados em alguns contextos;<\/li>\n\n\n\n<li>Melhoria na consulta de solu\u00e7\u00f5es, que agora ignora resultados em chamados com status marcados como &#8220;ignorados&#8221;;<\/li>\n\n\n\n<li>Bug no controle de inclus\u00e3o de tags repetidas durante a edi\u00e7\u00e3o;<\/li>\n\n\n\n<li>Bug no relat\u00f3rio por recursos aloc\u00e1veis: quando operadores n\u00e3o selecionavam a \u00e1rea, o resultado ignorava a restri\u00e7\u00e3o de retornar resultados apenas relacionados \u00e0s \u00e1reas do usu\u00e1rio;<\/li>\n\n\n\n<li>Na tela de detalhes dos chamados, o bot\u00e3o de &#8220;Solicitar retorno&#8221; nem sempre aparecia nos contextos em que deveria ser exibido;<\/li>\n\n\n\n<li>Nas categorias de tipos de solicita\u00e7\u00f5es, em alguns casos, o sistema n\u00e3o estava impedindo a exist\u00eancia de categorias diferentes com a mesma nomenclatura;<\/li>\n\n\n\n<li>Durante a reescrita do mecanismo de c\u00e1lculo de tempos \u00fateis foram identificados bugs silenciosos que, em condi\u00e7\u00f5es espec\u00edficas, geravam distor\u00e7\u00f5es no resultado.<\/li>\n\n\n\n<li>Uma serie de pequenos bugs que foram identificados durante o processo de refatora\u00e7\u00e3o geral..<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Procedimentos de atualiza\u00e7\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As instru\u00e7\u00f5es de atualiza\u00e7\u00e3o est\u00e3o aqui:&nbsp;<a href=\"https:\/\/ocomon.com.br\/site\/instalacao\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ocomon.com.br\/site\/instalacao\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sobre servi\u00e7os: caso precise de suporte, treinamento ou customiza\u00e7\u00f5es, n\u00e3o hesite em entrar em contato pelo endere\u00e7o&nbsp;<a rel=\"noreferrer noopener\" href=\"mailto:ocomon.oficial@gmail.com\" target=\"_blank\">ocomon.oficial@gmail.com<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O OcoMon \u00e9 um software brasileiro, de c\u00f3digo aberto, de uso livre, que \u00e9 desenvolvido e mantido pela cren\u00e7a na causa do Software Livre. Acreditar no Software Livre \u00e9 tamb\u00e9m acreditar que com coopera\u00e7\u00e3o somos mais fortes, e que dessa forma podemos obter realiza\u00e7\u00f5es e fazermos a diferen\u00e7a para nos tornarmos uma sociedade mais justa e mais humana.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se o OcoMon lhe tem sido \u00fatil, poupado seu trabalho e lhe permitido direcionar seus recursos para outros investimentos, considere&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/ocomon.com.br\/site\/doacoes\/\" target=\"_blank\">contribuir financeiramente<\/a>&nbsp;para a continuidade e crescimento do projeto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grande abra\u00e7o!<br>Fl\u00e1vio<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fala pessoal, tudo bem? Conforme anunciado, levou um bom tempo mas a vers\u00e3o 6.8 do OcoMon est\u00e1 pronta e dispon\u00edvel! [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2341,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[38],"tags":[36],"class_list":["post-2340","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","tag-nova-versao"],"_links":{"self":[{"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/posts\/2340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/comments?post=2340"}],"version-history":[{"count":1,"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/posts\/2340\/revisions"}],"predecessor-version":[{"id":2342,"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/posts\/2340\/revisions\/2342"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/media\/2341"}],"wp:attachment":[{"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/media?parent=2340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/categories?post=2340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ocomon.com.br\/site\/wp-json\/wp\/v2\/tags?post=2340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}