GLPI — Nova função de regras na versão 0.85

Na semana passada, como todos sabem, saiu a nova versão do GLPI. A 0.85. Nesta nova versão uma nova função muito útil para quem usa as regras de negócio para chamados foi adicionada.

 Nas versões antigas não existia a opção de as regras funcionarem nos chamados após abertos. Ou seja, as regras de negócios só eram aplicadas nos chamados no momento da abertura do mesmo. Caso houvesse a necessidade de que alguma automatização de chamado fosse executada após a abertura do mesmo, não era possível.

 Na versão 0.85 existe uma opção na criação da regra para Adicionar ou Atualizar. Essa opção nada mais é do que o seguinte:

  • Adicionar: A regra será executada apenas na abertura do chamado como nas versões antigas.
  • Atualizar: A regra será executada na atualização do chamado baseado nos critérios escolhidos.

Agora ficou perfeita a opção de regras para negócios no GLPI.

www.bavierati.com.br

GLPI — Plugin Dashboard — Versão 0.5.4

Na última semana saiu a versão nova do plugin Dashboard para GLPI.

 

 Nesta nova versão, o plugin seguiu a tendência do momento (que diga-se de passagem eu adoro) que é o uso do tema chamado Material, que nada mais é do que um tema baseado nas qualidades particulares do papel. Fundos lisos e bordas invisíveis.

 Além de ganhar nova cara, o plugin recebeu algumas correções de bugs e um ajuste no gráfico de chamados por grupos.

 Uma opção adicionada nesta versão merece ser destacada visto que o projeto é feito por amor e não pelo dinheiro. Quem quiser doar alguma quantia, mesmo que simbólica, agora tem essa opção dentro do plugin através do botão Donate do Paypal.


Parabéns novamente +Stevenes Donato e obrigado pelo projeto!!!

Implantação de um sistema de Help Desk — Parte 5 (Homologação e Treinamento)

Continuando essa série de posts sobre a implantação de um software de Helpdesk onde começamos falando sobre as mudanças e melhorias que o software de Helpdesk pode trazer para uma equipe de suporte ou até apara uma empresa, de TI ou não. Em um segundo momento foram expostas informações e argumentos para justificar a implantação de um software com este objetivo. Na terceira parte a escolha do software foi o objetivo principal. O quarto post falou muito sobre o novo fluxo de atendimento da equipe de suporte e da cultura dos usuários da empresa. Agora, na quinta e última parte partiremos para a fase final do projeto que será a Homologação do uso deste software junto a área de TI e posteriormente aos usuários em geral e por fim o treinamento a ser dado a todos que utilizarão o sistema.

 Lembrando que essa é apenas uma sugestão de implantação. A qual utilizei e foi muito bem sucedida trazendo menor impacto ao negócio e usuários finais.

Homologação

O processo de homologação pode ser feito de forma bastante simples. Primeiramente, os administradores do sistema recebem as instruções de como abrir um chamado, inserir tarefas e concluir chamados. Se for necessário passar mais informações, fica a critério de cada ambiente. Em um ambiente onde só se faz necessária a administração dos chamados o pequeno treinamento é suficiente.

 Após o pequeno treinamento os administradores passam a receber os chamados que permanecem sendo solicitados via telefone, e-mail, pessoalmente, Skype, Fax e afins e cadastrar os mesmos no sistema de chamados em nome dos requerentes já pré cadastrados, e não mais em planilhas, papéis e post-it. Os usuários começam a receber os e-mails das interações e começam a ver que as informações estão todas ali, de forma transparente e instantânea. Isso traz a visibilidade e transparência para os usuários de que falamos em posts anteriores. Com essa visibilidade os usuários passam a se interessar nas novidades e benefícios que esse novo software traz.

 Lembre-se, é mais fácil mudar uma coisa de cada vez. (Primeiro o software, depois o fluxo)

 Após um período previamente definido de 30 a 60 dias de Homologação desse software trabalhando da forma sugerida, inserindo novas categorias de chamados, categorias de tarefas, ajustes para o bom andamento do novo fluxo a ser implementado, passamos para o Treinamento dos demais usuários para o uso da ferramenta.

Treinamento

Para o treinamento é de grandiosíssima importância que seja elaborado um manual de instruções de forma digital E IMPRESSA. Lembre-se que a grande parte dos usuários ainda se acerta mais com um manual em papel do que um documento na tela. Não crie mais bloqueios para o usuário, não tente empurrar goela a baixo uma nova forma de trabalho que muda a vida da equipe de TI mas que não traz mudança nenhuma (em um primeiro momento) para os demais usuários.

Outra dica importante é, crie turmas de Workshop para todos ou a maior parte dos usuários que utilizarão o software e ensine de forma visual (sem prática) como abrir um chamado, acompanhar um chamado, inserir informações e demais atividades que o usuário passará a fazer.

Abra a porta da TI para que os usuários tirem dúvidas referentes ao software. Não parta do princípio que o manual está lá e o usuário é obrigado a entender o que está lá. O usuário tem dificuldades já no dia dia. Se criares novas dificuldades, dificilmente obterás sucesso no projeto.

Por fim, trabalhe incansavelmente na CONSCIENTIZAÇÃO dos recursos humanos que trabalharão no software ou com o software!!

Até a próxima!!

GLPI — Versão 0.84.5 disponível


Saiu agora a pouquinho a nova versão com correções de bugs e 3 novas features para o GLPI versão 0.84.x.

 O pacote parece ter mudado bem pouco. Apenas correções mesmo.

 Segue mensagem de lançamento original em Inglês

GLPI 0.84.5 AVAILABLE

The official GLPI 0.84.5 version is now available from download

This version correct several minor bugs.

See changelog for more details

Changelog original:

  • Bug #4765: Validation for post-only
  • Bug #4771: Email subject bad decoded
  • Bug #4772: Clean HTML try to avoid extra spaces
  • Bug #4773: Delete Request source / update writer of followups
  • Bug #4779: Create ticket : changing type reload form but do not check if category is always valid
  • Bug #4789: Fix select Item for tickets when no create ticket right
  • Bug #4790: Migration of status for bookmark
  • Bug #4791: Create a ticket from an item
  • Bug #4792: Bug htmlLawed for embedded lists
  • Bug #4794: Display software installation with use of is_dynamic in glpi_computers_softwareversions
  • Bug #4806: Add recursivity on creation form of a user
  • Bug #4808: Computer loses licenses during transfer
  • Bug #4809: Trouble on regex result with quotes
  • Bug #4810: Delete task notification to users
  • Feature #4764: Add type of contract in search engine for an item
  • Feature #4776: Redirect after delete a group or a user in ticket, change, problem
  • Feature #4801: Add tag mobile phone

Link para download do GLPI 0.84.5: https://forge.indepnet.net/attachments/download/1693/glpi-0.84.5.tar.gz

E você? Vai instalar? Vai esperar? Se instalou. Teve algum problema que encontrou?

GLPI — Quer remover o link “Esqueceu sua senha?” da home page do GLPI

ATUALIZAÇÃO — 10/01/2018

Testado na versão 9.2.x e continua funcionando.

Depois de um bom tempo em “recesso” por motivos pessoais e também pelas merecidas férias (que não deixa de ser particular hehehe) estou voltando com um post de uma necessidade que eu tive aqui e acabei descobrindo através do conhecido blog siprosii.

Um Feliz Ano Novo a todos e que 2014 seja muito melhor que 2013!! Sintam-se todos abraçados!!

Você não quer que apareça aquele link de “Esqueceu sua senha?” na home page do GLPI porque usa um servidor LDAP ou Active Directory para controlar as senhas?

É muito fácil.

  • Navegue pelas opções Configurar > Notificações;


  • Clique em Notificações;


  • Procure pela notificação “Password Forgotten”;


  • Na opção Ativo, selecione “Não” e clique em “Atualizar”;


  • Prontinho, o link desapareceu!!! Sem programação nem nada..


Governança de TI — 8 pontos que podem te ajudar a definir Indicadores Estratégicos para Áreas de TI


Todo setor de TI, seja ele projetizado ou baseado em matriz organizacional, sofre em algum momento a PDCA (Plan, Do, Check, Act).

Não é à toa que o ITIL é basicamente uma revisão de processos do setor de TI que sofre constantes melhorias e revisões.

A questão é, como mensurar indicadores que possam ditar estratégias e ações a serem tomadas pela liderança e equipe de TI para que a mesma seja um pilar estratégico na empresa ou possa alavancar ainda mais o negócio como um todo?

Indicadores são os resultados obtidos através de métricas definidas com base em alguns pontos específicos, críticos, necessários e desejados pelo e para o negócio.
Deixe me explicar melhor.

Toda equipe de TI é e sempre será uma peça que presta SUPORTE a outras áreas da empresa que não tem TI como atividade fim.

Mas Arthur, tenho/trabalho em uma empresa de TI, sou SUPORTE também?

Se sou atividade fim da empresa, não sou, por consequência, área estratégica da mesma?

Sim, és área estratégica da TUA empresa, mas essa empresa de TI não é atividade fim dos seus demais clientes, concorda?

Então vamos lá. Uma empresa que vende planos de telefonia móvel precisa o máximo possível de disponibilidade do serviço para que possa vender cada vez mais planos, atender mais clientes e faturar mais com um maior número de negócios fechados. A área de TI desta empresa precisa trabalhar fortemente em projetos de Alta disponibilidade, Backup de equipamentos e dados, ambientes de coexistência, redundância de equipamentos críticos e não críticos e muitas pessoas disponíveis para atender a incidentes e possíveis problemas que venham a ocorrer no dia dia da empresa. Logo, entende-se que os indicadores dessa empresa devem se basear em disponibilidade e menos tempo de parada.

Segunda situação. Uma software house que atende pequenos comércios locais com um software padrão, sem customizações e mantém um contrato de manutenção preventivo e corretivo já não possui indicadores tão astutos e críticos. Os comerciantes preferem, por exemplo, que os funcionários vistam-se bem, atendam com atenção e que sejam simpáticos. Neste caso certamente seriam avaliados indicadores baseados em satisfação do cliente, percepção de valor que o cliente enxerga na empresa e abordagem dos técnicos.

O que eu quero dizer com os exemplos acima é que não existe receita de bolo para criação de Indicadores. Cada empresa possui suas prioridades e necessidades. Existe uma linha a se seguir e com base nela criar estes indicadores:

Entender do negócio

  • O corpo técnico da equipe de TI não está preocupada em entender exatamente qual é o negócio daquela empresa. Do que ela vive, o que faz, o que é crítico, quais os principais processos.

Planejamento estratégico alinhado

  • A equipe e liderança de TI deve estar 100% alinhada aos objetivos e metas do negócio em curto, médio e longo prazo para evitar demandas que não possam ser atendidas por uma das partes. Seja a demanda monetária, no caso do negócio, ou operacional, no caso da área de TI.

Definição de valor

  • É importantíssimo que o gestor de TI enxergue o valor do serviço prestado e que esse valor seja percebido de fora para dentro. Se pergunte, como as outras áreas/empresas me enxergam como setor? Atendimento rápido? Atendimento eficiente? Atendimento simpático?
  • Lembre-se, o valor é o que o cliente percebe no serviço que ele está pagando.

Determinar fatores críticos

  • A empresa possui processos críticos. Faturamento, Vendas, Exportação. Uma ou mais dessas áreas precisam estar 100% funcionais em maior parte do tempo de expediente. Essas áreas definem fatores críticos para o sucesso do negócio. Muita atenção a esses fatores.

Definir expectativas do cliente

  • O cliente possui expectativas. Cabe ao gestor de TI fazer com que essas expectativas sejam Specific.Measurable.Attainable.Realistic.Timely (Específico, Mensurável, Atingível, Realístico, Em tempo) baseado na sua capacidade operacional de mão de obra e infraestrutura.

Criar os indicadores e classificar

  • Criar os indicadores críticos ao negócio e classificar por importância.

Medir, Acompanhar, Monitorar

  • Crie planilhas, use softwares, use um ábaco, mas MEÇA e mais que isso, faça a sua equipe trabalhar em prol desse objetivo, conscientize a mesma a registrar seus atendimentos, não deixar nada passar.

Estudar a Causa e Efeito

  • Com os indicadores sendo acompanhados, nos resta estudar quais as principais Causas dos incidentes, os Efeitos dos mesmos e consequentemente crias planos de ação para evitá-los.

O que não é medido não pode ser gerenciado!

GLPI — Interpretando Estatísticas no GLPI — ATUALIZADO

O GLPI possui uma aba chamada Estatísticas em cada chamado que é aberto no mesmo. Ela possui muitas informações que nem sempre são claras para os administradores, técnicos ou até para os usuários. Procurando em diversas documentações do GLPI ou com ajuda de amigos desse meio pudemos tirar algumas conclusões sobre cada uma das categorias das Estatísticas e compartilho aqui com vocês o que encontramos.

 Enquanto o chamado está Aberto (status Novo, Processando (atribuído), Processando (planejado) e Pendente) encontramos as seguintes categorias e informações:

  • Datas
  • Data da abertura
  • Data de vencimento
  • Tempos
  • Levar em consideração
  • Pendente


Enquanto o chamado está Solucionado aparecem mais duas novas informações nas mesmas categorias e fica da seguinte forma:

  • Datas
  • Data da abertura
  • Data de vencimento
  • Data da resolução
  • Tempos
  • Levar em consideração
  • Resolução
  • Pendente


Quando o chamado é Fechado aparecem os seguintes campos:

  • Datas
  • Data da abertura
  • Data de vencimento
  • Data da resolução
  • Data de encerramento
  • Tempos
  • Levar em consideração
  • Resolução
  • Fechando
  • Pendente


Eis que em todos os status, as informações de Datas e Tempos são interpretadas da mesma forma. A única coisa que difere entre os status é a quantidade de informações disponíveis, uma vez que não há necessidade de sempre visualizar todas as informações em qualquer estado em que o chamado se encontrar.

  • Datas
  • Data da abertura
  • É neste campo que fica a data exata em que o chamado foi aberto pelo usuário ou técnico. Essa data é gravada automaticamente no momento da abertura do chamado.
  • Data de vencimento
  • Caso o chamado possua um SLA, um vencimento configurado manualmente, ou até alguma regra que insira automaticamente uma data limite para solução do chamado, é neste campo que fica a data limite configurada.
  • Data da resolução
  • Quando solucionado, o chamado passa a ter uma data de solução. Ou seja, data em que o técnico solucionou o chamado para que o usuário pudesse aprovar ou não essa solução.
  • Data de encerramento
  • Quando o chamado é fechado, este campo recebe a data final em que o chamado recebeu o Status de Fechado.
  • Tempos
  • Levar em consideração
  • Este é o tempo calculado entre o momento em que o chamado foi aberto e o momento em que o mesmo foi atribuído a algum técnico. Caso você possua alguma regra automática de atribuição de técnicos, certamente não terá este item muito preciso uma vez que o chamado é atribuído no momento em que é aberto.
  • Resolução
  • Este é o tempo entre a atribuição do chamado a algum técnico e o momento em que o mesmo recebeu uma solução e mudou seu Status para Solucionado.
  • Fechando
  • O campo Fechando mostra o tempo exato (baseado no seu calendáro principal) do fechamento do chamado, ou seja, o momento da troca de Status de Solucionado para Fechado.
  • Pendente
  • Este é o tempo real em que o chamado esteve “Em Espera”, ou com Status Pendente. Este indicador pode ajudar a identificar tempos em que o usuário precisou esperar por algo. É importante que os técnicos envolvidos entendam esse conceito.

Vejo que em um ambiente de Help Desk se faz muito necessário criar-se indicadores de desempenho para que sempre possamos buscar a governança mais perfeita possível de TI, trazendo resultados que sejam reconhecidos no negócio principal da empresa. Seja ele TI ou qualquer outro.

Indicadores relacionados com tempos de resposta, espera, atendimento, resolução e fechamento são importantíssimos para se iniciar projetos de melhorias no fluxo de trabalho de um setor de suporte.

Acredito que utilizando o GLPI e entendendo estes conceitos, possa ficar mais fácil criar estes indicadores e torná-los realidade.

ATUALIZAÇÃO:

Abaixo algumas considerações do amigo +Jairo Santos

  • Levar em consideração

Eu defini na categoria do chamado o técnico responsável, todo chamado aberto é automaticamente atribuído a algum técnico, porem este tempo só é contabilizado depois que o técnico execute a primeira ação no chamado (Ex: adicionar um folow-up, tarefa, ou até mesmo mudar o impacto do chamado).

  • Resolução

Este é o tempo entre a “abertura” do chamado e o momento em que o mesmo recebeu uma solução e mudou seu Status para Solucionado.

  • Fechando

Somente completando o que você disse, é o momento em que o usuário fecha o chamado ou que o sistema feche o chamado no prazo definido nas configurações do GLPI.

  • Pendente

Somente completando o que você disse, se você estiver usando SLA e status do chamado for alterado para Pendente, após você voltar o status para Processando, você verá que o tempo que ficou pendente será somado no tempo do SLA. (Ex: Você solicitou uma informação do usuário e alterou o status para Pendente, durante este tempo para de contar o tempo do SLA, apos você voltar o status para processando você verá que foi somado o mesmo tempo na data de vencimento do chamado).

Microsoft — Desligar Workstations via Script

Quantos administradores não precisaram em algum momento algum script que desligasse os computadores da rede por algum motivo em específico, seja ele pra bonito, poupar energia ou por simples vontade de brincar com scripts.

 Eis que a mim chegou esta necessidade visto que alguns dos computadores estavam conectados ao mesmo no-break dos servidores e que em períodos de falta de energia acabavam ocasionando paradas não planejadas nos servidores por estarem diversas dessas estações de trabalho ligadas durante finais de semana ou madrugadas.

 O script consiste em dois arquivos: Um no formato .vbs e outro em formato .bat

 Esses dois arquivos devem ser salvos em um local onde o Active Directory possa enxergar e você lembre depois para poder configurar uma tarefa agendada através deles.

lst_comp.vbs

O script lst_comp.vbs lista as máquinas adicionadas a uma “OU” anteriormente criada para Desligar as estações. No caso do script abaixo eu criei uma “OU” na seguinte árvore e usei a seguinte Base dn no mesmo:

“OU=Desligar,OU=Computadores,DC=empresa,DC=local


Os computadores na OU Desligar serão os listados para desligar pelo script lst_comp.vbs. Para alterar este caminho verifique a linha 56 e altere conforme sua necessidade de Base dn.

 Crie o script abaixo no bloco de notas(ou outro editor de vbs) com o nome “lst_comp.vbs”:

'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'
'
' Script Name: GetMachineNames.vbs
'
' Date: January 15, 2006
'
' Purpose: Pulls object information out of AD
'
' Author: Marlon Meiklejohn
'
'
' Revision History
' ----------------
'
'
Option Explicit
'   Define Variables
Dim fso
Dim WshShell
Dim oOu
Dim oItem
Dim fsOutputFile
Dim sOutputText
Dim sOutputFileName
Dim sOUPath
Dim sSearch
Dim bRunByCScript
Dim iPos
'   Set up the system variables
Set WshShell = wscript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
' Check if run from wscript or cscript - Used for debugging.
sSearch = "cscript"
iPos = InStr(Wscript.FullName, sSearch)
If iPos > 0 Then
bRunByCScript = True
Else
bRunByCScript = False
End If
'   Define the output file name
sOutputFileName = ".MachineList.txt"
'   Create the output file
Call CreateOutputFile()
'   Define the OU path
sOUPath = "OU=Desligar,OU=Computadores,DC=empresa,DC=com"
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'
' Main Logic
'
'   Define the OU object
Set oOu = GetObject("LDAP://" & sOUPath & "")
'   Filter for only the objects you want.
oOu.Filter = Array("Computer")
'   Loop through all objects and grab the
' information you're looking for.
For Each oItem In oOu
'   Strip out the "CN=" at the beginning of the line.
sOutputText = Right(oItem.Name, Len(oItem.Name) - 3)

' If script was run by CScript, then echo the information to the user.
If bRunByCScript = True Then
Wscript.Echo sOutputText
End If

' Write to the output file
Call WriteOutputFile (sOutputText)
Next
'   Close the output file.
Call CloseOutputFile()
'   Notify the user that the script is finished.
' WScript.echo "File created: " & sOutputFileName
'   Cleanup and get out.
Call Cleanup()
Wscript.Quit
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'
' SubRoutines
'
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'
' Creates the output file.
'
Sub CloseOutputFile()
fsOutputFile.Close
End Sub
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'
' Creates the output file.
'
Sub CreateOutputFile()
Set fsOutputFile = fso.CreateTextFile(sOutputFileName)
End Sub
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'
' Writes to the output file
'
Sub WriteOutputFile(sText)
fsOutputFile.WriteLine sText
End Sub
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'
' Clean up the variables
'
Sub Cleanup()
On Error Resume Next
Set fso = Nothing
Set WshShell = Nothing
Set oOu = Nothing
Set oItem = Nothing
Set fsOutputFile = Nothing
Set sOutputText = Nothing
Set sOutputFileName = Nothing
Set sOUPath = Nothing
Set sSearch = Nothing
Set bRunByCScript = Nothing
Set iPos = Nothing
End Sub
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
'
' End of Script
'
'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/


Este script vasculhará a OU informada na linha 56 e criará um arquivo .txt de nome "MachineList.txt" no mesmo diretório onde o script está armazenado todas as vezes que a tarefa agendada rodar apagando o arquivo antigo e criando um novo com o mesmo nome.
desliga.bat
O script desliga.bat é o responsável direto pela execução do script anterior. Ele é quem "chama" o script lst_comp.vbs, que por sua vez lista as máquinas para que o desliga.bat execute o desligamento baseado na lista MachineList.txt.

Neste caso eu havia salvos os dois arquivos em D:supportscripts e abaixo é possível verificar que o .bat navega até o diretório acima, "chama" o lst_comp.vbs e depois executa o comando de desligamento com a lista dos computadores em MachineList.txt.
@echo off
d:
cd supportscripts
call d:supportscriptslst_comp.vbs
FOR /F %%a IN (MachineList.txt) DO (
shutdown /f /s /m %%a
)
Depois de criar os scripts, lembre-se de criar a tarefa agendada pelo Windows Server para o horário desejado apontando a tarefa para o script desliga.bat.


GLPI — Template de notificação de e-mail para Chamados por siprosii

Hoje o amigo +Márcio Machado postou uma dica no grupo do GLPI muito boa e de grande valia a quem tem interesse em dar uma organizada nas notificações do GLPI.

 Quem usa sabe que as vezes as notificações são um pouco confusas de entender o que exatamente foi feito e qual a necessidade de cada chamado. Com isso acabamos acessando o sistema mesmo para verificar o que está acontecendo. Porém os usuários não gostam de ter de acessar o sistema sempre para verificar o que aconteceu.

 O grupo Siprosii mantem diversas customizações, plugins e dicas sobre o GLPI e FusionInventory que podem ajudar muitos de nós administradores que não possuem grande conhecimento ou até nenhum em programação CSS, HTML e afins. Em um post de Novembro o Siprosii mostrou uma forma bem legal de como personalizar as notificações de chamados e mostro abaixo como fazer o procedimento e posterior ativação do novo modelo.

Existem os modelos nas cores padrão:


E também na cor azul


Vou explanar aqui apenas na cor padrão. Caso a cor azul atenda a alguma necessidade vocês podem ter acesso a mesma através deste link.

O processo de criação e cadastro dos modelos é simples porém um pouco trabalhoso.

1- Navegue pelos menus do GLPI através de Configurar > Notificações > Modelos de Notificações

2- Adicione um novo modelo

  • Selecione tipo: Chamado (Ticket)
  • Selecione o campo CSS
  • Coloque o código abaixo.

body {
 font-family: ‘Bitstream Vera Sans’, arial, Tahoma, ‘Sans serif’;
 font-size: 12px;
 margin: 0;
 padding: 0;
 background: #dfdfdf repeat-x;
}

ul, li, dt, dl, dd, form, img, input {
 margin: 0;
 padding: 0;
}

ul {
 list-style-type: none;
}

small {
 font-family: verdana;
 font-size: 10px;

.b {
 font-weight: bold;
}

.center {
 text-align:center;
}

.left {
 text-align:left;
}

.right {
 text-align:right;
}

.center-h {
 margin:auto;
}

.middle {
 vertical-align:middle;
}

.bottom {
 vertical-align:bottom;
}

.top {
 vertical-align:top;
}

.relative {
 position: relative;
}

.red { 
 color:red;
}

.blue {
 color:blue;
}

.green {
 color:green;
}

a, a:link {
 font-weight: bold;
 text-decoration: none;
 color : #659900;
 font-size : 12px;
}

a:hover {
 color: black;
}

table {
 font-size: 11px;
 border:0;
}

th { }

td { }

.tab_glpi {
 margin: 0 auto;
}

.tab_cadre {
 margin: 0 auto;
 -moz-border-radius: 4px;
 -webkit-border-radius: 4px;
 -o-border-radius: 4px;
 border: 1px solid #cccccc;
 z-index:1;
 text-align: left;
 font-size: 11px;
 background-color: #ffffff;
}

.tab_cadre_fixe, .tab_cadre_fixehov {
 margin: 0 auto 10px auto;
 -moz-border-radius: 4px;
 -webkit-border-radius: 4px;
 -o-border-radius: 4px;
 background: #f2f2f2;
 z-index:1;
 text-align: left;
 font-size: 11px;
 width:950px;
}

.tab_cadre_fixe img {
 vertical-align: middle; 
}

.tab_cadrehov, .tab_cadrehov_pointer {
 margin: 0 auto;
 -moz-border-radius: 4px;
 -webkit-border-radius: 4px;
 -o-border-radius: 4px;
 border: 1px solid #cccccc;
 text-align: left;
 font-size: 11px;
 width: 80%;
 background-color: #ffffff;
 -moz-box-shadow: 0px 2px 5px #666;
 -webkit-box-shadow: 0px 2px 5px #666;
 box-shadow: 0px 2px 5px #666;
}

.tab_cadre th, .tab_cadre_fixe th, .tab_cadre_fixehov th, .tab_cadrehov th, .tab_cadrehov_pointer th, .tab_cadre_report th {
 font-size: 12px;
 font-weight: bold;
 background-color: #e1cc7b;
 text-align: center;
 -moz-border-radius: 4px;
 -webkit-border-radius: 4px;
 -o-border-radius: 4px;
 padding: 2px;
 border-bottom:1px solid #cccccc;
 padding: 2px;
}

.tab_cadre td, .tab_cadre_fixe td, .tab_cadre_fixehov td, .tab_cadrehov td, .tab_cadrehov_pointer td, .tab_cadre_report td {
 padding: 3px 5px;
}

.tab_cadrehov tr:hover, .tab_cadre_fixehov tr:hover {
 background-color: #FFF4DF;
}

.tab_cadrehov_pointer tr:hover {
 cursor: pointer;
 background-color: #FFF4DF;
}

.tab_check {
 text-align:center;
 margin: 20px;
 margin-left: auto;
 margin-right: auto;
 width: 90%;
 border: 1px solid #aaaaaa;
 padding:10px;
}

.tab_check th {
 font-size: 12px;
 font-weight: bold;
 color: #fccc6f;
 vertical-align:bottom;
}

.tab_check td {
 font-size:11px;
 border-bottom:1px solid #bbbbbb;
}

.tab_cadrehov_pointer tr {
 cursor: pointer;
}

.tab_bg_1 {
 background-color: #f2f2f2;
}

.tab_bg_1_2 {
 background-color: #cf9b9b;
}

.tab_bg_2 {
 background-color: #f2f2f2;
}

.tab_bg_2_2 {
 background-color: #cf9b9b;
}

.tab_bg_3 {
 background-color: #e7e7e2;
}

.tab_bg_4 {
 background-color: #e4e4e2;
}

.tab_bg_5 {
 background-color: #f2f2f2;
}

.tab_find {
 background-color: #ccccc7;
}

.tab_find:hover {
 background-color:#FFF2C2;
 cursor:pointer;
}

3- Clique em adicionar

4- Clique para editar este template e adicione uma nova tradução

5- Clique no campo Corpo do e-mail HTML e clique no HTML.

6- Adicione o código abaixo.

##IFticket.storestatus=solved##
<table class=”tab_cadre” width=”700″>
<tbody>
<tr>
 <th colspan=”2″><a href=”##ticket.urlapprove##”>##lang.ticket.solution.description##</a></th>
</tr>
 
<tr class=”tab_bg_1″>
 <td colspan=”2″><strong>##lang.ticket.autoclosewarning##</strong></td>
</tr>
 
<tr class=”tab_bg_1″>
 <td>##lang.ticket.solvedate## :</td>
 <td>##ticket.solvedate##</td>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.solution.type## :</td>
 <td>##ticket.solution.type##</td>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.solution.description## :</td>
 <td>##ticket.solution.description##</td>
</tr> 
 
</tbody>
</table>
##ENDIFticket.storestatus##

<br />

<table class=”tab_cadre” width=”700″>
<tbody>
<tr>
 <th colspan=”2″><a href=”##ticket.url##”>##ticket.title##</a></th>
 <th>
##IFticket.numberoffollowups## 
<a href=”#followups”>##lang.ticket.numberoffollowups## : ##ticket.numberoffollowups##</a>
##ENDIFticket.numberoffollowups##
 </th>
 <th>
##IFticket.numberoftasks## 
<a href=”#tasks”>##lang.ticket.numberoftasks## : ##ticket.numberoftasks##</a>
##ENDIFticket.numberoftasks##
 </th>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.authors## :</td>
 <td>
 ##IFticket.authors## 
 ##ticket.authors## 
 ##ENDIFticket.authors## 
 ##ELSEticket.authors##
 — 
 ##ENDELSEticket.authors##</td>
 <td colspan=”2″></td>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.creationdate## :</td>
 <td>##ticket.creationdate##</td>
 <td colspan=”2″></td>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.closedate## :</td>
 <td>##ticket.closedate##</td>
 <td colspan=”2″></td>
</tr>

##IFticket.requesttype##
<tr class=”tab_bg_1″>
 <td>##lang.ticket.requesttype## :</td>
 <td>##ticket.requesttype##</td>
 <td colspan=”2″></td>
</tr>
##ENDIFticket.requesttype##

##IFticket.itemtype##
<tr class=”tab_bg_1″>
 <td>##lang.ticket.item.name## :</td>
 <td>##ticket.itemtype## — ##ticket.item.name## 
 ##IFticket.item.model## — ##ticket.item.model## ##ENDIFticket.item.model## 
 ##IFticket.item.serial## — ##ticket.item.serial## ##ENDIFticket.item.serial## 
 ##IFticket.item.otherserial## — ##ticket.item.otherserial## ##ENDIFticket.item.otherserial##</td>
 <td colspan=”2″></td>
</tr>
##ENDIFticket.itemtype## 

##IFticket.assigntousers##
<tr class=”tab_bg_1″>
 <td>##lang.ticket.assigntousers## : </td>
 <td>##ticket.assigntousers##</td>
 <td colspan=”2″></td>
</tr>
##ENDIFticket.assigntousers##

<tr class=”tab_bg_1″>
 <td>##lang.ticket.status## : </td>
 <td>##ticket.status##</td>
 <td colspan=”2″></td>
</tr>

##IFticket.assigntogroups##
<tr class=”tab_bg_1″>
 <td>##lang.ticket.assigntogroups## : </td>
 <td>##ticket.assigntogroups##</td>
 <td colspan=”2″></td>
</tr>
##ENDIFticket.assigntogroups##

<tr class=”tab_bg_1″>
 <td>##lang.ticket.urgency## : </td>
 <td>##ticket.urgency##</td>
 <td colspan=”2″></td>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.impact## : </td>
 <td>##ticket.impact##</td>
 <td colspan=”2″></td>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.priority## : </td>
 <td>##ticket.priority##</td>
 <td colspan=”2″></td>
</tr>
 
<tr class=”tab_bg_1″>
 <td>##lang.ticket.category## : </td>
 <td>##IFticket.category##
 ##ticket.category## 
 ##ENDIFticket.category## 
 ##ELSEticket.category## 
 ##lang.ticket.nocategoryassigned## 
 ##ENDELSEticket.category##</td>
 <td colspan=”2″></td>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.content## : </td>
 <td colspan=”3″>##ticket.content##</td>
</tr>

##IFticket.storestatus=closed##
<tr class=”tab_bg_1″>
 <td>##lang.ticket.solvedate## : </td>
 <td colspan=”3″>##ticket.solvedate##</td>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.solution.type## : </td>
 <td colspan=”3″>##ticket.solution.type##</td>
</tr>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.solution.description## : </td>
 <td colspan=”3″>##ticket.solution.description##</td>
</tr>
##ENDIFticket.storestatus##</p>

<tr class=”tab_bg_1″>
 <td>##lang.ticket.numberoffollowups## : </td>
 <td colspan=”3″>##ticket.numberoffollowups##</td>
</tr>

##IFticket.numberoffollowups## 
<tr>
 <th colspan=”4″ id=”followups”>##lang.ticket.numberoffollowups## : ##ticket.numberoffollowups##</th>
</tr>
##ENDIFticket.numberoffollowups##

<tr>
 <td colspan=’4′>
##FOREACHfollowups##
 <table class=”tab_cadre” width=”700″>
 <tr class=”tab_bg_3″>
 <td colspan=”4″ align=”center”><strong>[##followup.date##]</strong></td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.followup.isprivate## :</td>
 <td colspan=”3″>##followup.isprivate##</td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.followup.author## :</td>
 <td colspan=”3″>##followup.author##</td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.followup.description## :</td>
 <td colspan=”3″>##followup.description##</td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.followup.date## :</td>
 <td colspan=”3″>##followup.date##</td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.followup.requesttype## :</td>
 <td colspan=”3″>##followup.requesttype##</td>
 </tr>
 </table>
##ENDFOREACHfollowups##
 </td>
</tr>

##IFticket.numberoftasks## 
<tr>
 <th colspan=”4″ id=”tasks”>##lang.ticket.numberoftasks## : ##ticket.numberoftasks##</th>
</tr>
##ENDIFticket.numberoftasks##

<tr>
 <td colspan=’4′>

##FOREACHtasks##
 <table class=”tab_cadre” width=”700″>
 <tr class=”tab_bg_3″>
 <td colspan=”4″ align=”center”><strong>[##task.date##]</strong></td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.task.isprivate## :</td>
 <td colspan=”3″>##task.isprivate##</td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.task.author## :</td>
 <td colspan=”3″>##task.author##</td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.task.description## :</td>
 <td colspan=”3″>##task.description##</td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.task.time## :</td>
 <td colspan=”3″>##task.time##</td>
 </tr>
 
 <tr class=”tab_bg_1″>
 <td>##lang.task.category## :</td>
 <td colspan=”3″>##task.category##</td>
 </tr>
 </table>
##ENDFOREACHtasks##

 </td>
</tr>

</tbody>
</table>

7- Após adicionar a nova tradução Navegue até Configurar > Notificações > Notificações e selecione este novo template para todos os chamados que utilizam o modelo de chamados Tickets.

O post original está disponível em http://www.siprossii.com/en/GLPI-notification-template-mail

GLPI 0.83.9 Disponível

Olá pessoal,

 Em meio a ansiedade e espera pela versão 0.84 do GLPI com toda a mudança drástica de versão, saiu a versão 0.83.9 estável do software de gerenciamento de Help Desk.

 A nova atualização traz diversas correções de bugs e nenhum recurso novo já que todas as forças de desenvolvimento devem estar alocadas ao 0.84. Dentre as correções podemos encontrar melhorias na base de conhecimentos, Alertas dos mais variados que vinham sendo apresentados aos usuários, algumas melhorias no gerenciamento de documentos, entre outros.

 Post original:

GLPI 0.83.9 AVAILABLE

The official GLPI 0.83.9 version is now available from download

This version correct several minor bugs and a security bug. You are stongly encouraged to update your actual version.

See changelog for more details

http://www.glpi-project.org/spip.php?page=annonce&id_breve=297&lang=en 

Changelog:

  • Bug #4306: Notification on delete document
  • Bug #4308: Knowbase : encoding issue to clean search
  • Bug #4309: Items disappear when you click in tabscrollermenu (vertical list of tabs)
  • Bug #4310: Password with < or >
  • Bug #4313: Search problem on tab group view in central
  • Bug #4329: Task status in notification
  • Bug #4332: CronAlertNotClosed : problem of sending after X days : date control error
  • Bug #4341: Problem user notification edition
  • Bug #4348: Recursivity for license in search engine
  • Bug #4352: Entity alert bug
  • Bug #4355: avoid “Mailbox is empty” with mail collector
  • Bug #4367: Cannot use as default view a public bookmark
  • Bug #4372: Security : filtering REQUEST as POST and GET

https://forge.indepnet.net/projects/glpi/versions/915

Enquanto isso a versão 0.84 promete ser entregue daqui 11 dias!!! No planejamento é possível visualizar que ainda existem 3 tarefas a serem concluídas ainda: Review Help Links(bug), Move Prerequisite to PHP 5.3.0(Task), Update README on website to update prerequisites (PHP…) (Task). Ou seja, estamos muito perto de usarmos a versão 0.84 estável.