Arquivo da categoria: Plugins

Migrando as tabelas de ID de chamados para Unsigned no GLPI – Behaviors

Uma ação em relação ao problema das IDs Integers do GLPI, que são chaves primárias e estrangeiras no banco de dados, foi tomada.

Após alguns debates por parte da equipe de desenvolvimento da Teclib’, foi definida uma alteração, que por ora, é opcional e não será executada automaticamente nem nas atualizações. Ou seja, é executada da mesma maneira que a migração do banco de dados para InnoDB: Através de um script na console do GLPI.

Devo alertar para 5 fatos importantes a serem considerados antes de executar qualquer comando que altere parâmetros dos bancos de dados:

  1. Sempre comece em uma base de homologação. Nunca em produção;
  2. Backup antes de tudo;
  3. Os plugins utilizados na sua base podem exigir execuções e correções manuais de alterações de IDs, updates em tabelas ou até recriação de constraints.
  4. Você tem acesso a todos os códigos e DEVE revisá-los para se certificar de que não impactarão negativamente no seu ambiente. Não terceirize suas decisões.
  5. Participe da discussão da solução lá no github caso o problema não seja resolvido na sua base.

O problema começou com 2022 pelo fato de um campo integer, utilizado nos IDs de chamados, aceitar caracteres limitados a 2.147.483.647, o que em Janeiro é facilmente ultrapassado por já iniciar em 202201010001 quando utilizado o formato ymd0001 do Behaviors.

Algumas correções de contorno foram sugeridas aqui, e a Teclib’ criou uma solução definitiva para que, quem quiser manter o formato de chamados, possa executar e continuar os IDs de chamados usando o padrão de protocolos com data na ID.

O script é executado da mesma maneira que o InnoDB – através da console do GLPI em pastadoglpi/bin usando o comando php console glpi:migration:unsigned_keys.

Dessa forma o script busca as tabelas que contêm chaves estrangeiras e primárias com formato integer e realiza a alteração para unsigned.

Na prática o script aumenta as possibilidades de IDs ao não mais reservar espaços de bits para números negativos que ocupam bits importantes no banco de dados.


Referência técnica:

Signed integers – YouTube
Unsigned integers – YouTube


Trouxe no vídeo uma maneira de aplicar o pull lá do github através do aplicativo ‘patch’ e como executar o comando de alteração, mais o update em uma das tabelas que traz um valor negativo e, por conta disso, o ‘script’ não consegue alterar o formato da tabela

Comandos utilizados no vídeo

apt-get install patch #instala o aplicativo patch
patch -p1 --dry-run < nomedopatch.patch #testa a integridade do patch 
patch -p1 < nomedopatch.patch #aplica o patch
php console glpi:migration:unsigned_keys #executa a migração das tabelas para unsigned
UPDATE glpi_events SET items_id = '0' WHERE items_id = '-1' AND type = 'system'; #atualiza os campos -1 na tabela glpi_events com tipo system para 0

Referências da solução proposta:

Add migration to use usigned int for primary/foreign keys; see #10262 by cedric-anne · Pull Request #10263 · glpi-project/glpi (github.com)

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

GLPI não abre mais chamado em 2022

Esse 2022 já veio que veio.

Para quem usa o Behaviors com o formato yymmaa0000 está sofrendo com uma limitação do Tipo campo no mysql do GLPI que é INT 32 bits e ao ultrapassar a ID 2.147.483.647 o banco não aceita novos incrementos na tabela.

Se você NÃO USA ESSE FORMATO de chamados no seu GLPI, esse artigo não se aplica a você!

Algumas soluções de contorno estão abaixo na ordem de mais para menos recomendado.

  1. Desativar o uso do Formato do número do chamado ymd0001 e Reiniciar o auto incremento para pegar o ID anterior e apenas incrementar para o próximo número
  2. Desativar o uso do Formato do número do chamado ymd0001 e Criar um novo incremento manualmente todos os anos ou meses
  3. Alterar as tabelas de ID para o formato BIGINT. Não recomendo neste momento por poucos testes realizados e por uma pequena parcela da comunidade ter colocado em produção.

Lembre-se de realizar ‘backups’ e testar em bases de homologação sempre que for mexer em bancos de dados ou arquivos do GLPI

Solução 1 — Reiniciar o autoincrement

ALTER TABLE glpi_tickets AUTO_INCREMENT = 1;

Se seu 2021 terminou com o chamado 2112310523, o próximo será 2112310524 e assim por diante.

Prós

  • Você volta a abrir chamados instantaneamente
  • Se for alterado agum parâmetro que permita reutilizar o formato de ID, você pode voltar, pois, não serão usados IDs que se tornarão datas futuras (Não existem 37 dias em meses de dezembro.

Contra

  • Você perde a referência de ano, mês e dias do ID do chamado
  • Você terá “apenas” pouco mais de 35 milhões de IDs disponíveis para novos chamados.

Solução 2 — Criar um padrão regularmente

ALTER TABLE glpi_tickets AUTO_INCREMENT=2122010001;

Você precisa alterar todos os meses ou anos e vai perdendo os IDs entre esses avanços.

O campo anterior para Ano, se manterá 21 para sempre. O campo posterior é que será o ano e ignora-se os dois primeiros campos.

xx22010001
xx22020001

Exemplos:

Em Janeiro ALTER TABLE glpi_tickets AUTO_INCREMENT=2122010001;
Em Fevereiro ALTER TABLE glpi_tickets AUTO_INCREMENT=2122020001;
Em Março ALTER TABLE glpi_tickets AUTO_INCREMENT=2122030001;

Ou apenas alterar anualmente.

Prós

  • Você volta a abrir chamados instantaneamente
  • Você permanece com a referência de Ano e/ou Mês. A depender da maneira escolhida de incrementar o ID.

Contra

  • Você vai perdendo alguns milhares de ID a cada incremento futuro
  • Não tem volta. Você vai usando IDs de datas posteriores e não tem como voltar.

Solução 3 – Alterar o tipo de campo direto no MySQL

Para esse deixarei a discussão do github do plugin.

Invalide ticket format number · Issue #4 · yllen/behaviors (github.com)

Não tem como voltar o campo depois. Faça por sua conta e risco.

Se, em algum momento sair uma solução para a limitação de IDs em 2.147.483.647, podemos voltar a usar o behaviors com o parâmetro de ymd0001.

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Plugin OS para GLPI 9.5 está de volta e tem easter egg nessa versão

Faz um tempo que muitos pedem pelo plugin de Ordens de Serviços, desenvolvido pelo Junior Marcati e ele atualizou o responsável por prover a impressão de chamados em PDF com assinatura e tem até um plus nessa versão.

O plugin encontra-se em fase beta, segundo o desenvolvedor, mas não temos tido problemas com o mesmo até o momento.

No vídeo eu mostrei como instalar um plugin no GLPI se ser pelo marketplace e mostrei como imprimir o chamado em PDF para assinatura ou a etiqueta com QR Code para colar no equipamento que entra no laboratório para agilizar o processo de atendimento pela equipe técnica.

Veja abaixo algumas telas

Tela de configuração do plugin ordem de serviço
Pré visualização da Ordem de Serviço já em PDF
O campo de solução em branco para preencher a mão caso necessário
Visualização da etiqueta com QR Code que direciona para o chamado no GLPI

Sim, é compatível com GLPI 9.5.x

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Novo plugin que permite Anonimizar dados no GLPI

Novo plugin disponível para clientes da GLPI Network à partir do nível Basic ou clientes da GLPI Network Cloud platform permite a Anonimização de dados no GLPI diretamente da interface web ou linha de comando de forma individual ou com ações em massa.

É uma ótima iniciativa para prover compliance com #LGPD e #GDPR.

Com ele é possível anonimizar dados para perfis que não devem ver algum tipo de dado de algum cliente ou usuário no sistema.

Veja algumas telas retiradas da documentação oficial da GLPI Network

GLPI Network Anonymization
Fonte: GLPI Network – divulgação https://services.glpi-network.com/documentation/1688/file/README.md

A anonimização dos dados pode ser definida via perfis de anonimização.

Cada perfil determina:

  • Os elementos em que será executada (“Usuários”, “Computadores”).
  • Em cada elemento é possível aplicar uma estratégia aos mais variados campos (“Nome”, “Localização”, “Número de Série”…) e consiste em 5 opções de tratamento deste dado:
    • Manter o dado
    • Apagar o dado
    • Substituir o dado com um valor estático
    • Substituir o dado com um valor aleatório
    • Substituir o dado com um valor aleatório real
  • É possível também tratar os campos de histórico dos elementos:
    • Apagar o histórico;
    • Apagar parte do histórico definido por uma data e anonimizar o restante;
    • Anonimização completa do histórico do elemento.
  • Você pode definir uma lista de campos a serem pesquisados e substituídos
  • É possível definir um perfil de anonimização como padrão de um grupo de elementos ou campos.

A anonimização pode ser executada como Ação em Massa e também via linha de Comando como nos comandos abaixo:

Executar os perfis de anonimização padrão em todos objetos:
glpi:plugin:anonymize --all

Executar os perfil de anonimização X em todos objetos ou em um objeto:
glpi:plugin:anonymize --profile=X
glpi:plugin:anonymize --profile=X --item-id=X

Executar o perfil de anonimização padrão X em todos objetos ou em um objeto:
glpi:plugin:anonymize --itemtype=X
glpi:plugin:anonymize --itemtype=X --item-id=X

Você gostaria de ajudar o blog de alguma forma?

A lista de valores reais e aleatórios possíveis de serem substituídos até o momento é bem interessante:

campoTipologia
glpi_x.serialBase.randomAscii
glpi_x.otherserialBarcode.ean13
glpi_x.uuidUuid.uuid
glpi_contacts.namePerson.name
glpi_contacts.firstnamePerson.firstName
glpi_contacts.phonePhoneNumber.e164PhoneNumber
glpi_contacts.phone2PhoneNumber.e164PhoneNumber
glpi_contacts.mobilePhoneNumber.e164PhoneNumber
glpi_contacts.faxPhoneNumber.e164PhoneNumber
glpi_contacts.emailInternet.email
glpi_contacts.addressAddress.streetAddress
glpi_contacts.postcodeAddress.postcode
glpi_contacts.townAddress.city
glpi_contacts.stateAddress.state
glpi_contacts.countryAddress.country
glpi_networkports.ipInternet.ipv4
glpi_networkports.macInternet.macAddress
glpi_phones.number_linePhoneNumber.e164PhoneNumber
glpi_users.nameInternet.userName
glpi_users.passwordInternet.password
glpi_users.phonePhoneNumber.e164PhoneNumber
glpi_users.phone2PhoneNumber.e164PhoneNumber
glpi_users.mobilePhoneNumber.e164PhoneNumber
glpi_users.realnamePerson.name
glpi_users.firstnamePerson.firstName
glpi_users.languageMiscellaneous.locale
glpi_useremails.emailInternet.email
Fonte: GLPI Network – Divulgação

Veja mais informações na documentação oficial.

Se você não é cliente GLPI Network, pode testar o plugin e a plataforma de nuvem da Teclib’ por um período de 45 dias se cadastrando aqui https://myaccount.glpi-network.cloud/register.php

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Marketplace no GLPI 9.5 – Como ativar? Para quê serve?

A versão 9.5 do GLPI está a todo vapor. E uma das funcionalidades que eu mais gostei foi a do Marketplace que facilita muito a instalação de Plugins no melhor sistema de Gestão de Serviços e Service Desk que existe no mundo.

Quer aprender como fazer para ativar o marketplace? Olha aí!

Você gostaria de ajudar o blog de alguma forma?

O GLPI possui por característica padrão a possibilidade de estender suas funções através de plugins. Há quem goste de trabalhar mais com as funções padrões e há quem goste mais de diversificar com os plugins. O fato é que o processo de instalação sempre foi uma pergunta constante e uma tarefa, nem sempre, das mais prazerosas e simples de ser realizada, dependendo da expertise de cada administrador da ferramenta.

A Teclib, desenvolvedora oficial do GLPI, criou um modelo de negócios que viabiliza a possibilidade de entregar o GLPI como um serviço para aqueles que não querem se envolver tanto com as tarefas administrativas de se manter um serviço web em funcionamento, como backup, configuração, correções, provisionamento, solução de problemas de infraestrutura.

Lembrando que o software continua sendo open-source com uma comunidade bastante ativa e totalmente gratuito para quem quiser usar por sua conta.

Com a nova adoção de um modelo de GLPI como um Serviço em Nuvem, a instalação de plugins era um incômodo por exigir acesso à console administrativa do servidor onde o GLPI está hospedado. A partir da versão 9.5, isso não é mais necessário.

O Marketplace no GLPI veio justamente para que você instale os plugins do repositório oficial como se fossem aplicativos que você instala da sua loja de aplicativos favorita no celular.

Você seleciona o plugin, clica em instalar, e ele aparece instalado na sua base. Não maravilhoso?

Para fazer funcionar o Marketplace você precisa criar uma conta na GLPI-Network, que é gratuita, e adicionar o token ao seu GLPI 9.5.

O procedimento em vídeo você encontra aqui e em texto, para quem prefer ler, logo abaixo do vídeo.

Procedimento:

  • O local para execução do processo dentro do GLPI fica em Configurar > Plug-ins e clique no ícone que parece uma lojinha no topo da página logo ao lado do caminho de Menus que fica na parte superior.
  • Dentro deste ícone haverá um link para você se registrar na GLPI-Network, caso você não tenha uma conta ainda.
  • O processo de registro não é difícil, é rápido e tem versão gratuita.
  • Após adicionar seus dados, selecione a versão de assinatura de suporte que você precisar e/ou desejar.
  • Voltando ao GLPI, você navega para o mesmo ponto de antes (Configurar > Plugins > Lojinha no topo, e ao invés de selecionar Registrar na GLPI Network, clique em preencha com sua chave de registro na configuração.
  • Copie o token de registro da GLPI Network neste campo do seu GLPI
  • Seja feliz e instale seus plugins sem dores de cabeça.

Você gostaria de ajudar o blog de alguma forma?

31.GLPi – Plugin Actual Time da TICgal

A TICgal é uma empresa espanhola que atua no desenvolvimento de soluções para GLPi.
Alguns de seus produtos estão disponíveis no site da empresa ou nos repositórios oficias do GLPi.
O plugin Actual Time (Tempo real em tradução livre) permite a equipes de TI gravar exatamente o tempo de trabalho em uma tarefa através de um botão de início e parada mesmo que o sistema não esteja com a tela aberta.

O vídeo mostra exatamente como utilizar o plugin.

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

17.GLPI — Como e porque usar o plugin behaviors (comportamental)

Você já deve ter se deparado com casos em que utilizas os grupos do GLPI para distinguir os departamentos da empresa mas que os relatórios não alimentam os Grupos com quantidades de chamados e outras métricas.

Ou então queremos que os chamados sejam direcionados para os grupos de atendentes corretos, e visualizados pelos atendentes apenas quando o chamado estiver atribuído ao seu grupo.

Para isso precisamos adicionar os grupos dos requerentes ou até dos atendentes.

Para não termos de criar regras distintas para cada usuário e grupo, ou então ter que colocar na mão, existe um plugin chamado behaviors (ou comportamental em português)

5 motivos pelos quais eu prefiro o Fusioninventory em detrimento do OCS

Muito se discute nos canais de GLPI sobre qual ferramenta de inventário utilizar e porque.

Eu tenho minha preferência pessoal por experiência e gosto.

Portanto deixo aqui rapidamente quais os principais motivos que me fazem preferir e indicar o Fusioninventory em detrimento do OCS.

ESSA É MINHA OPINIÃO! NÃO QUER DIZER QUE O FUSIONINVENTORY É MELHOR DO QUE O OCS. APENAS É DE MINHA PREFERÊNCIA.

Prefiro o Fusioninventory por:

  • Ser o serviço padrão para o GLPI

O GLPI possui uma integração com o Fusioninventory a anos, sendo que se você navegares pelos menus Configurar > Geral > Ativos, encontrarás em qualquer instalação zerada do GLPI a opção que integra as categorias de software diretamente pelo Fusion

  • Não precisa de outra aplicação, outro banco de dados, outra administração de sistema

Diferente do OCS, o Fusion inventory não possui uma nova aplicação que exija administração de usuários, configuração, backup, bancos de dados….

  • Ser apenas um plugin para o GLPI

Apenas explicando o item 2. Ele não é uma aplicação separada. É um plugin que é instalado como todos os outros.

  • Menor complexidade de implementação

Instala o plugin, instala o agente e seja feliz.

  • Ainda não ter me deixado sem nada que o OCS tenha e o fusioninventory não.

Inclusive possui algumas opções adicionais em relação ao OCS

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

14-15.Instalando e Configurando o FusionInventory no GLPI — Configuração de agente no Windows

O Fusion Inventory é um plugin que facilita o controle de inventário no GLPI.

Ele é um fork, ou seja, uma variação melhorada, do OCS Server que se tornou a implantação de uma ferramenta desse tipo muito mais fácil, rápida e eficiente.

Para facilitar ainda mais, fiz dois vídeos mostrando como instalar e configurar o plugin FusionInventory no GLPI e também como instalar o agente em uma estação de trabalho Windows.

GLPI — Plugin Modifications Themes de Stevenes Donato | 10

Essa madrugada saiu nova versão do Plugin de alteração de tema e de adição de funções mais visuais ao GLPI criado e mantido pelo Stevenes Donato.

O plugin é uma melhoria deste complemento que antes era uma modificação manual de pastas e arquivos. Exigia um pouco mais de conhecimento e tempo para implementação. Essa nova versão em modo plugin diminui esse tempo e a possibilidade de cometermos erros na instalação do mesmo.

No vídeo abaixo mostro como realizar a instalação do plugin e uma pequena demonstração de como a ferramenta pode ser útil no seu dia dia no Service Desk.

Página oficial do Plugin https://sourceforge.net/projects/glpithemes/

Siga meu canal também no YouTube