OTRS

Novo módulo BOU de integração OTRS e Zabbix


A BeOnUp vem trabalhando com duas das melhores ferramentas em suas especialidades. O OTRS como central de atendimento a serviços e o Zabbix para monitoramento de infraestrutura de servidores e demais recursos. Por isso uma boa integração entre as ferramentas seria crucial pois traria um ganho muito grande a nossos clientes.

Pensando nisso a BeOnUp desenvolveu o BOUZabbix, a integração que vai além de abrir chamados.

O BOUZabbix tem três principais funcionalidades que serão apresentadas a seguir.

  1. Abertura, classificação e fechamento de chamado

Normalmente quando o Zabbix alerta um incidente, os analistas precisam fazer a identificação do alerta, conectar no OTRS para abrir o chamado, classificá-lo e após solucionar, voltar ao OTRS e fechar o Ticket.

Com a nova integração, ao ocorrer um incidente, o Zabbix além de alertar os analistas responsáveis também abrirá automaticamente um chamado no sistema de atendimento OTRS com as principais informações e priorizado, como nome da empresa, qual o servidor, a descrição do problema, IP, etc. Ao fazer a abertura também será adicionado uma nota ao alerta do Zabbix informando o número do Ticket, desta forma o atendente saberá qual chamado apontar as horas trabalhadas.

Ack

ticket1

Após a solução do problema, o Zabbix enviará outra ação que fechará o chamado (tempo configurável). Com isso, todos os incidentes no ambiente de TI ficam registrados na ferramenta de atendimento, dando um controle maior aos gerentes e analistas. Deixando a preocupação apenas para a solução dos incidentes e melhoria do ambiente de TI da empresa.

ticket2

2. Inventário através do BDGC

O OTRS tem um recurso interessante que é o BDGC (Banco de Dados de Gerenciamento de Configuração), onde são os servidores são e ao abrir uma solicitação pode-se associar o chamado ao IC (Item de Configuração). O cadastro dos itens de configuração costuma ser manual, ou seja, o analista deve cadastrar servidor por servidor na ferramenta para então fazer a associação.

Mas com o módulo da BeOnUp todos os servidores monitorados pelo Zabbix serão cadastrados automaticamente no BDGC do OTRS. E a integração vai além de apenas sincronizar os nomes dos servidores, também são cadastradas as principais informações do servidores coletados diretamente do Zabbix.

inventario

3. Relatórios

Com cada incidente sendo registrado e os itens de configurações cadastrados, o módulo da BeOnUp traz um relatório onde é mostrado quantos incidentes cada servidor gerou nos últimos meses e o tempo médio de solução dos chamados.

DASHBOARD

Ao filtrar por servidor é mostrado quais foram os incidentes que mais ocorreram nos últimos meses, e também o tempo médio de solução.

dashboard2

Com o módulo da BeOnUP – BOUZabbix são adicionado funcionalidades às ferramentas Zabbix e OTRS que não ajudam apenas os analistas e técnicos no seu dia a dia mas também aos gerentes e coordenadores na tomada de decisões para melhoria de sua empresa. Onde ganhasse maior controle da rede podendo a partir deste, tomar ações para melhorar a saúde da TI da própria empresa ou clientes.

Para entrar em contato com a BeOnUP basta enviar um e-mail para Contato BeOnUp ou através do nosso site clicando aqui.

Logo traremos novas funcionalidades, fique atento.

 Fonte: https://beonup.com.br/novo-modulo-de-integracao-otrs-e-zabbix/
Informações

Nosso novo módulo: OTRS Cloud Backup


Para simplificar e dar mais segurança ao backup do seu OTRS, nós desenvolvemos uma solução para a criação do backup na nuvem.

A configuração é simples, basta ter uma conta da AWS, utilizamos o Amazon Simple Storage Service (S3) para armazenar os arquivos mais recentes, depois podemos manter os mais antigos no Amazon Glacier, com esse mecanismo podemos ajudar a diminuir os custos com armazenamento, já que as duas soluções os custos são sob medida, ou seja você só vai pagar pelo espaço utilizado, sem necessidade de provisionar um disco e ter um espaço livre gerando custo.

 


 

Exemplo de execução de um backup Completo.


O armazenamento fica da seguinte forma.


 


 

Informações

Registrando e exibindo o consumo de horas através do OTRS


O OTRS possui um recurso para apontamento de tempo de trabalho, por padrão não determina se o apontamento deve ser em horas, minutos ou mesmo pool de horas, essa é uma regra de negócio então ele deixa bastante a critério do Administrador do OTRS criar a configuração.

Essa Unidade de trabalho você pode renomear para quantidade de horas ou quantidade de minutos, esse segundo é o mais comum de utilizarmos.

Na imagem abaixo tempo um exemplo de registro de tempo utilizando os recursos nativos do OTRS.

Alguns clientes solicitam que o registro do tempo tenha Hora Inicial e Hora final, para isso é necessário um módulo que a BeOnUP pode oferecer, esse módulo permite o registro de tempo de trabalho no formato como esse exibido abaixo.

Como seu cliente pode visualizar seu consumo?

Quando você trabalha com um pool de horas, é normal o seu cliente solicitar ter o acompanhamento do consumo de horas.

Pensando nessa necessidade desenvolvemos no portal do cliente, um painel onde o cliente pode ver o consumo mensal, por chamado e por mês, entendemos que nem todos os chamados são contabilizados nas horas do suporte para o cliente, por exemplo horas de um projeto ou algo extra escopo que está sendo tratado fora pool, para esses casos temos filtros para evitar contabilizações erradas.

Veja esse e outros módulos no nosso ambiente de demonstração.

Clique aqui para acessar como cliente

Clique aqui para acessar como atendente

OTRS

Pensando fora da caixa com o OTRS, implementando para fora de TI


Quem acompanha meu blog o OTRS Brasil sabe que já tem mais de 4 anos que comecei a trabalhar com implementação do OTRS e em particular sempre assumi um desafio, sabendo da característica  robusta e mutável da ferramenta, que foi de levar a utilização do OTRS para áreas que não estivessem ligadas a TI, mesmo TI sendo a porta de entrada o que ocorre muitas vezes devido o software ainda ser muito ligado as características de um Software de Help Desk , acreditei que pela evolução constante e a organização técnica, que seria fácil criar uma versões que atendessem as necessidade de outros departamento ou mesmo empresas e que não fossem ligados a TI.

Tive a oportunidade de trabalhar hora como responsável pela execução do projeto e em outros momento ajudando ma formação de uma equipe que fosse capaz de executar e sustentar uma aplicação desse tipo com regras bem diferentes para exigidas para TI como SLA, GMUD, Gestão de incidentes e problemas.

Hoje eu vejo o sistema sendo um grande organizador de tudo, quando começo a elaboração e desenho para algum ambiente sinto como começasse tirar todas as roupas jogadas no seu armário e perdurá-las item por item, separado por tipo, cor, frequência de utilização deixando tudo mais pratico para te ajudar no dia-a-dia e é muito interessante ver até onde as empresas conseguem chegar sem o apoio de uma ferramental pratico, tiram informações super valiosas apenas pela sensibilidade e vivencia do pessoal no negócio, no final do projeto sempre temos indicadores em tempo real, sem necessidade de utilizar planilhas, um ambiente em geral mais fluido.

Em alguns dias vou colocar no meu blog e aqui também, informações para que quem se interessar, acessar um ambiente bastante customizado com Dashboards de indicadores, formulário para ouvidoria e dois processo simples, de reembolso de despesa e aprovação de compras.

Postado originalmente no Linkedin, acesse aqui

OTRS

Como funciona o Chamados de empresa


Na interface de clientes /otrs/customer.pl existe um menu que se chama “Chamados da Empresa”, esse recurso funciona da seguinte forma.

Screenshot_1

 

 

 

 

Ao acessar você tem a lista de todos os chamados aberto por você ou pela sua organização, que pode ser sua empresa, departamento ou mesmo filial onde você trabalha.

Esse parâmetro é configurado no cadastro do usuário em ID do Cliente.

Screenshot_2

Você também pode liberar esse menu apenas para alguns clientes específicos, Ex. Chefe do departamento, gestor do cliente e etc.

Para usar esse recurso precisa habilitar os Clientes <> Grupos e atribuir para a Action “Action=CustomerTicketOverview;Subaction=CompanyTickets” o grupo definido para o cliente com esses recurso.

Caso não queira ou não exista a possibilidade de utilizar o Clientes <> Grupos, mas quer liberar apenas para alguns usuário você pode criar um campo do cadastro do usuário que identifique essa opção para ele. Ex. Permissão para ver chamados da Empresa com as opções ( sim/nao), só que utilizando esse recurso é necessário alterar alguns módulos para funcionar.

Eu falo melhor sobre isso em um novo post.

 

OTRS

Campo dinâmico com valores de uma base externa


É uma demanda bastante comum e a necessidade de integração simples onde você precisa preencher em um chamado valores que não estão dentro do seu OTRS, podem estar algum outro sistema ou mesmo em algum banco populado por scripts.

Para resolver isso podemos utilizar o DynamicFieldRemoteDB 

Para o funcionamento você precisa configurar o campo com as informações de acesso ao banco como no exemplo da imagem abaixo.

Screenshot_3

Nesse exemplo nos estamos conectando no próprio banco do OTRS, você precisa passar os dados de acesso DatabaseUser e DatabasePW separados, não é possível colocar tudo no DatabaseDSN

O funcionamento é simples você pode escolher entre os tipos de Dropdown ou Autocomplete, configurar o Cache que se torna muito importante dependendo da quantidade de registro que estão da tabela.

Um outro tipo de campo dinâmico é o que resgata as informações através de um JSON, mas isso é assunto para um outro post, vou criar nos próximos dias.

 

 

 

 

 

 

Informações, OTRS

Gerenciamento de processos no OTRS


Pessoal, vou criar alguns posts falando sobre o gerenciamento de processos do OTRS, esse recurso foi incorporado no OTRS 3.2 e se propõe a permitir a criação de um “Business Process Management Tool”.

Então esse primeiro post vamos tratar apenas de conceitos e recursos.

Então em Admin -> Process Management

Screenshot_1

Clique em ” Create new Process”.

Você também pode importar o processo.

O Botão Deploy All Process, é o que coloca seu processo em produção, antes disso todas as alterações mesmo que salvas não serão exibidas para os usuários.

Após isso, a tela abaixo será aberta.

Screenshot_2

Coloque um nome e descrição, deixe o estado Active

Screenshot_3

  1. Activies -> São as etapas do processo aqui pode ter um ou mais de um “Activity Dialogs”
  2. Activity Dialogs -> Os dialogos, pode conter um ou mais campos Ex. Campos dinâmicos, Fila, Estado e etc.
  3. Transitions -> Condições para avançar para outra atividade. Ex Se fila = Postmaster ou Se Estado = open
  4. Transition Actions -> O que fazer quando a condição for verdade. Ex Na transição alterar fila, estado e vários outros parâmetros.

No próximo post sobre processos vamos iniciar a criação do processo de Inclusão de um novo funcionário.

Abraços.

OTRS

Atualizar o valor de um Dynamic Field via script


Caso seja necessário atualizar o valor de um campo dinâmico através do terminal segue a solução.

 

#!/usr/bin/perl

use strict;
use warnings;
use File::Basename;
use FindBin qw($RealBin);
use lib dirname($RealBin);
use lib dirname($RealBin) . ‘/Kernel/cpan-lib’;
use lib dirname($RealBin) . ‘/Custom’;
use Kernel::System::ObjectManager;
use Kernel::System::DynamicField;
use Kernel::System::Ticket;
local $Kernel::OM = Kernel::System::ObjectManager->new();
my $DynamicFieldValueObject = $Kernel::OM->Get(‘Kernel::System::DynamicFieldValue’);
my $DynamicFieldObject = $Kernel::OM->Get(‘Kernel::System::DynamicField’);
my $TicketObject = $Kernel::OM->Get(‘Kernel::System::Ticket’);

local $Kernel::OM = Kernel::System::ObjectManager->new(
‘Kernel::System::Log’ => {
LogPrefix => ‘OTRS Dynamic Field Update’,
},
);

my %Options;
use Getopt::Std;
getopts( ‘h:d:v:o:’, \%Options );
if ( $Options{h} ) {
print STDERR “Usage: -d <Dynamic Field Value> -v <Set Value>  -o <TicketNumber>\n”;
exit;
}
if ( $Options{d} || $Options{v} || $Options{o} ) {
my %Param=(
UserID => ‘1’,
F => $Options{d},
V => $Options{v},
O => $Options{o},
);
my $TicketID = $TicketObject->TicketIDLookup(
TicketNumber => $Param{O},
UserID => 1,
);

my $DynamicFieldID = $DynamicFieldObject->DynamicFieldGet(
Name => $Param{F},
);

my $DFV = $DynamicFieldID->{ID};

my $S2 = $DynamicFieldValueObject->ValueSet(
FieldID => $DFV,
ObjectID => $TicketID,
Value => [
{
ValueText => $Param{V},
}
],
UserID => $Param{UserID},
);
# print “Set DynamicField: $Options{d} DynamicFieldID: $DFV Value: $Options{v} Object: $Options{o} ID DO TICKET: $TicketID\n”;
}
exit(0);

OTRS

Script otrs.AddCustomer2Service.pl


Para quem precisar usar esse recurso, precisei criar minha versão.

use strict;
use warnings;

use File::Basename;
use FindBin qw($RealBin);
use lib dirname($RealBin);
use lib dirname($RealBin) . ‘/Kernel/cpan-lib’;
use lib dirname($RealBin) . ‘/Custom’;

use Getopt::Std;

use Kernel::System::ObjectManager;

# create object manager
local $Kernel::OM = Kernel::System::ObjectManager->new(
‘Kernel::System::Log’ => {
LogPrefix => ‘OTRS-otrs.AddCustomer2Service’,
},
);

my $ServiceObject = $Kernel::OM->Get(‘Kernel::System::Service’);

# get options
my %Opts;
getopt( ‘su’, \%Opts );

if ( $Opts{h} || !$Opts{u} || !$Opts{s} ) {
print “otrs.AddCustomer2Service.pl – add customer to a service\n”;
print “Copyright (C) 2001-2015 OTRS AG, http://otrs.com/\n”;
print “usage: otrs.AddCustomer2Service.pl -u customerlogin -s servicename \n”;
exit 1;
}

my %Param = (
UserID => ‘1’,
Active => ‘1’,
ServiceID => ”,
CustomerUserLogin => $Opts{u},
Service => $Opts{s},
);

$Param{ServiceID} = $ServiceObject->ServiceLookup(
Name => $Param{Service},
);

$ServiceObject->CustomerUserServiceMemberAdd(%Param);

print “ID Service: $Param{ServiceID}/ Service: $Param{Service} \n”;
print “Customer: $Param{CustomerUserLogin}\n”;

exit 0;

OTRS

Atualizamos o CRDashboardKPIs para OTRS 4


Existe um outro post aqui nesse blog falando sobre o CRDashboardKPIs porém ele era para a versão 3.x, agora terminei de migrar para a versão 4.

CRDashboardKPIs é um AddOn para o OTRS que oferece uma interface para criar consultas diretamente no banco de dados para extrair KPI.

Vou colocar duas imagens de como ele poderia ser inserido dentro do Dashboard.Screenshot_12

 

 

 

 

 

Screenshot_13Logo o repositório oficial vai estar com essa versão.

OTRS

OTRS Mobile


Existem algumas aplicações de terceiros para integração mobile com a ferramenta, você pode encontrar no Play Store ou na Apple Store.

Porém para Android essas aplicações não são mantidas oficialmente pela OTRS Group, agora na versão 5 a Interface da ferramenta já tem preparada pra ser acessada por outros devices.

Abaixo algumas imagens de como ficou a interface.

Screenshot_7 Screenshot_6 Screenshot_5 Screenshot_4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abs.

 

OTRS

Novos comandos OTRS 5


Para quem usa o OTRS, sabe a utilidade das linhas de comandos que podem ser usadas com os scripts da pasta /opt/otrs/bin/  até a versão 4 por padrão haviam os seguintes comandos.

otrs.AddCustomer2Group.pl
otrs.AddCustomerUser.pl
otrs.AddGroup.pl
otrs.AddQueue2StdTemplate.pl
otrs.AddQueue.pl
otrs.AddRole2Group.pl
otrs.AddRole.pl
otrs.AddService.pl
otrs.AddSystemAddress.pl
otrs.AddTicketType.pl
otrs.AddUser2Group.pl
otrs.AddUser2Role.pl
otrs.AddUser.pl
otrs.ArticleStorageSwitch.pl
otrs.CacheBenchmark.pl
otrs.CheckCloudServices.pl
otrs.CheckDB.pl
otrs.CheckModules.pl
otrs.CheckSum.pl
otrs.CleanTicketArchive.pl
otrs.CleanTicketIndex.pl
otrs.CleanUp.pl
otrs.CleanupTicketMetadata.pl
otrs.CreateApacheStartupFile.pl
otrs.CreateAUTHORS.pl
otrs.CreateTranslationFile.pl
otrs.Cron4Win32.pl
otrs.CryptPassword.pl
otrs.DeleteCache.pl
otrs.DeleteSessionIDs.pl
otrs.ExecuteDatabaseXML.pl
otrs.FAQImport.pl
otrs.FillDB.pl
otrs.GenerateDashboardStats.pl
otrs.GenerateStats.pl
otrs.GenericAgent.pl
otrs.GenericInterfaceDebugRead.pl
otrs.GetConfig.pl
otrs.GetTicketThread.pl
otrs.ImportACLsFromConfig.pl
otrs.LoaderCache.pl
otrs.MarkTicketAsSeen.pl
otrs.MigrateDTLtoTT.pl
otrs.MySQLInnoDBSwitch.pl
otrs.PackageManager.pl
otrs.PendingJobs.pl
otrs.PostMasterClient.pl
otrs.PostMasterDaemon.pl
otrs.PostMasterMailbox.pl
otrs.PostMaster.pl
otrs.RebuildConfig.pl
otrs.RebuildEscalationIndex.pl
otrs.RebuildFulltextIndex.pl
otrs.RebuildTicketIndex.pl
otrs.RefreshSMIMEKeys.pl
otrs.RegistrationUpdate.pl
otrs.ReprocessMails.pl
otrs.Scheduler4winInstaller.pl
otrs.Scheduler4win.pl
otrs.Scheduler.pl
otrs.SetPassword.pl
otrs.SetPermissions.pl
otrs.SupportBundle.pl
otrs.Teste.sh
otrs.TicketDelete.pl
otrs.UnitTest.pl
otrs.UnlockTickets.pl
otrs.WebServer4win.pl
otrs.WebServerInstaller.pl
otrs.WebserviceConfig.pl
otrs.xml2sql.pl

Na versão 5 as maneiras que os comandos são executados foram alteradas, então por exemplo se você precisar adicionar um novo grupo na versão 4 usaria o comando

/opt/otrs/bin/otrs.AddGroup.pl -n “MeuGrupo”

Já na versão 5

./otrs.Console.pl Admin::Group::Add –name MeuGrupo

Porém é obrigatório estar logado com o usuário OTRS então su – otrs antes de rodar o comando.

Lista de comandos disponíveis.

Admin
Admin::Article::StorageSwitch Migrate article files from one storage backend to another on the fly.
Admin::CustomerUser::Add Add a customer user.
Admin::CustomerUser::SetPassword Updates the password for a customer user.
Admin::Group::Add Create a new group.
Admin::Group::CustomerLink Connect a customer user to a group.
Admin::Group::RoleLink Connect a role to a group.
Admin::Group::UserLink Connect a user to a group.
Admin::Package::Export Export the contents of an OTRS package to a directory.
Admin::Package::FileSearch Find a file in an installed OTRS package.
Admin::Package::Install Install an OTRS package.
Admin::Package::List List all installed OTRS packages.
Admin::Package::ListInstalledFiles List all installed OTRS package files.
Admin::Package::Reinstall Reinstall an OTRS package.
Admin::Package::ReinstallAll Reinstall all OTRS packages that are not correctly deployed.
Admin::Package::RepositoryList List all known OTRS package repsitories.
Admin::Package::Uninstall Uninstall an OTRS package.
Admin::Package::Upgrade Upgrade an OTRS package.
Admin::Queue::Add Create a new queue.
Admin::Role::Add Create a new role.
Admin::Role::UserLink Connect a user to a role.
Admin::Service::Add Add new service.
Admin::StandardTemplate::QueueLink Link a template to a queue.
Admin::SystemAddress::Add Add new system address.
Admin::TicketType::Add Add new ticket type.
Admin::User::Add Add a user.
Admin::User::SetPassword Updates the password for an agent.
Admin::WebService::Add Create a new web service.
Admin::WebService::Delete Delete an existing web service.
Admin::WebService::Dump Print a web service configuration (in YAML format) into a file.
Admin::WebService::List List all web services.
Admin::WebService::Update Update an existing web service.
Dev
Dev::Code::ContributorsListUpdate Update the list of contributors based on git commit information.
Dev::Code::Generate::ConsoleCommand Generate a console command skeleton.
Dev::Package::Build Create an OTRS package (opm) file from an OTRS package source (sopm) file.
Dev::Package::RepositoryIndex Generate an index file (otrs.xml) for an OTRS package repository.
Dev::Tools::CacheBenchmark Runs a benchmark over the available cache backends.
Dev::Tools::ConsoleStats Print some statistics about available console commands.
Dev::Tools::RPMSpecGenerate Generate RPM spec files.
Dev::Tools::TranslationsUpdate Update the OTRS translation files.
Dev::Tools::Database::RandomDataInsert Insert random data into the OTRS database for testing purposes.
Dev::Tools::Database::XML2SQL Convert OTRS database XML to SQL.
Dev::Tools::Database::XMLExecute Convert an OTRS database XML file to SQL and execute it in the current database.
Dev::Tools::Migrate::DTL2TT Migrate DTL files to Template::Toolkit.
Dev::UnitTest::Run Executes unit tests.
Maint
Maint::Cache::Delete Deletes cache files created by OTRS.
Maint::CloudServices::ConnectionCheck Check OTRS cloud services connectivity.
Maint::Config::Dump Dump configuration settings.
Maint::Config::Rebuild Rebuild the default configuration of OTRS.
Maint::Daemon::List List available daemons.
Maint::Daemon::Summary Shows a summary of one or all daemon modules.
Maint::Database::Check Check OTRS database connectivity.
Maint::Database::PasswordCrypt Makes a database password unreadable for inclusion in Kernel/Config.pm.
Maint::Database::MySQL::InnoDBMigration Converts all MySQL database tables to InnoDB.
Maint::GenericAgent::Run Run all generic agent jobs from a configuration file.
Maint::Loader::CacheCleanup Cleanup the CSS/JS loader cache.
Maint::Loader::CacheGenerate Generate the CSS/JS loader cache.
Maint::OTRSBusiness::AvailabilityCheck Checks if OTRS Business Solution™ is available for current system.
Maint::OTRSBusiness::EntitlementCheck Check the OTRS Business Solution™ is entitled for this system.
Maint::PostMaster::MailAccountFetch Fetch incoming emails from configured mail accounts.
Maint::PostMaster::Read Read incoming email from STDIN.
Maint::PostMaster::SpoolMailsReprocess Reprocess mails from spool directory that could not be imported in the first place.
Maint::Registration::UpdateSend Send an OTRS system registration update to OTRS Group.
Maint::SMIME::KeysRefresh Normalize SMIME private secrets and rename all certificates to the correct hash.
Maint::Session::DeleteAll Delete all sessions.
Maint::Session::DeleteExpired Delete expired sessions.
Maint::Session::ListAll List all sessions.
Maint::Session::ListExpired List expired sessions.
Maint::Stats::Generate Generate (and send, optional) statistics which have been configured previously in the OTRS statistics module.
Maint::Stats::Dashboard::Generate Generate statistics widgets for the dashboard.
Maint::SupportBundle::Generate Generate a support bundle for this system.
Maint::SupportData::CollectAsynchronous Collects certain support data asynchronously.
Maint::Ticket::ArchiveCleanup Deletes ticket/article seen flags and ticket watcher entries for archived tickets.
Maint::Ticket::Delete Delete one or more tickets.
Maint::Ticket::Dump Prints a ticket and its articles to the console.
Maint::Ticket::EscalationCheck Triggers ticket escalation events and notification events for escalation.
Maint::Ticket::EscalationIndexRebuild Completely rebuild the ticket escalation index.
Maint::Ticket::FulltextIndexRebuild Completely rebuild the article search index.
Maint::Ticket::InvalidUserCleanup Deletes ticket/article seen flags and ticket watcher entries of users which have been invalid for more than a month.
Maint::Ticket::PendingCheck Process pending tickets that are past their pending time and send pending reminders.
Maint::Ticket::QueueIndexCleanup Cleanup unneeded entries from StaticDB queue index.
Maint::Ticket::QueueIndexRebuild Rebuild the ticket index for AgentTicketQueue.
Maint::Ticket::RestoreFromArchive Restore non-closed tickets from the ticket archive.
Maint::Ticket::UnlockAll Unlock all tickets by force.
Maint::Ticket::UnlockTicket Unlock a single ticket by force.
Maint::Ticket::UnlockTimeout Unlock tickets that are past their unlock timeout.

 

Testem… ficou bem interessante.

 

Abs.

OTRS

OTRS 5 Beta 1


Pessoal, acabou de sair a versão beta do OTRS 5, no site oficial já é possível baixar.

As lista completa com as novidades estão abaixo.

What’s New

1. PRODUCTIVITY

  • OTRS is now optimized for use on different types and sizes of mobile devices.5beta1 - Responsive1 5beta1 - Responsive2
  • Single-select and multi-select input fields have been modernized and provide advanced searching and filtering capabilities (thanks to Dusan Vuckovic at Mühlbauer).5beta1 - Field Input1 5beta1 - Field Input2
  • Images can now be added/uploaded to the WYSIWYG editor using Copy&Paste and Drag&Drop from anywhere outside the application (in all browsers, without additional Add-On).
  • Improved ticket notification system. It is now possible to configure own ticket notifications with own trigger conditions and recipients. With OTRS Business Solution™, notifications can also be delivered via SMS and/or Notification Web View. The latter is a special screen in OTRS that holds all notifications of the agent; with this OTRS can be used entirely without an email client.

5beta1 - Ticket Notification 5beta1 - Ticket Notification2

  • Statistics received a new graphical user interface which is much better accessible and helps to create great statistics quickly and easily.
    • Additionally, statistics support the new time periods “quarter” and “half-year”

    5beta1 - Statistic

    5beta1 - Statistic25beta1 - Statistic3

  • It is now possible to group action menu items in the ticket zoom screen. Less often used items can be grouped in a submenu, improving screen usage and clarity.
  • Ticket overviews can now display customer company data, thanks to Renée Bäcker.
  • The ticket process TransitionAction “TicketCreate” can now create tickets without articles.

2. SCALABILITY & PERFORMANCE

  • The new OTRS Daemon handles all asynchronous and periodic tasks and replaces all previous OTRS cron jobs. In a clustered environment the load is automatically distributed over the nodes.
  • It is now possible to specify multiple readonly mirror (slave) databases for expensive computations such as statistics or fulltext searches to distribute the load among these database servers.

3. SECURITY

  • A new two-factor authentication layer allows added login security.
    • If entering a fixed username and password doesn’t satisfy your requirements, you can now additionally use the open standard for time based one-time passwords (RfC 6238, also known as Google Authenticator).
    • After having enabled the two-factor authentication, agents and customers can add a shared secret to their preferences and immediately start logging in using one-time passwords created by a compatible method of their choice (e.g. the Android Google Authenticator app).

4. WORKING WITH EXTERNAL SYSTEMS

  • A new XSLT based GenericInterface mapping module allows for arbitrarily complex user-defined data mapping.

5. INSTALLATION & ADMINISTRATION

  • The new OTRS console makes working on the commandline easy and fun. All commands have a consistent interface, useful documentation and provide helpful colored output.
  • Administrators can now specify a minimum log level to reduce logging volume, thanks to Renée Bäcker.
  • Overview screens in the admin area now show invalid entities in gray, making it easy to focus on active elements.

6. DEVELOPMENT

  • New powerful template engine based on Template::Toolkit.
  • A central object manager makes creating and using global objects much easier (thanks to Moritz Lenz @ noris network).
  • The OPM package format was extended to signal that a package has been merged into another package, allowing the package manager to correctly handle this situation on package installation or update.
  • Caching was centralized in one global cache object which also performs in-memory caching for all data.
  • Added cache benchmark script, thanks to ib.pl.

Fonte: http://www.otrs.com/release-notes-otrs-5-beta1/

OTRS

Criação de chamados em PHP no OTRS usando RPC com DynamicField


Recentemente precisei utilizar um script php pra fazer a criação de chamados no OTRS, porém eu precisava setar valores pra alguns DynamicField.

Para isso funcionar é preciso alterar o arquivo /otrs/rpc.pl

Usar esse conteúdo https://gist.github.com/xonic128/2147909

Após isso chamar no script do pagina da seguinte forma.

$nome = $client->__soapCall(“Dispatch”, array($username, $password,”TicketDynamicObject”, “ValueSet”,
“FieldID” , “3”,
“ObjectType”, ‘Ticket’,
“ObjectID”, $TicketID,
“Value”, array(array(“ValueText”=>”Teste no valor do DynamicField”)),
“UserID”, 1,
));

Resolvido.

OTRS

Instalação do OTRS 4


Abaixo o procedimento de instalação do OTRS 4 no CentOS, teve algumas alterações em relação as versões anteriores.

 

[root@operation opt]# wget http://ftp.otrs.org/pub/otrs/otrs-4.0.2.tar.bz2
–2014-12-09 19:34:25– http://ftp.otrs.org/pub/otrs/otrs-4.0.2.tar.bz2
Resolving ftp.otrs.org… 178.63.12.4
Connecting to ftp.otrs.org|178.63.12.4|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 13888069 (13M) [application/x-bzip2]
Saving to: “otrs-4.0.2.tar.bz2”

100%[===========================================================================

2014-12-09 19:34:27 (6.58 MB/s) – “otrs-4.0.2.tar.bz2” saved [13888069/13888069]

[root@operation opt]# tar -jxf otrs-4.0.2.tar.bz2
[root@operation opt]# ls
[root@operation opt]# mv otrs-4.0.2 otrs

[root@operation opt]# yum install “perl(ExtUtils::MakeMaker)”

yum -y install http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install -y “perl(Apache2::Reload)”
yum install -y “perl(Archive::Tar)”
yum install -y “perl(Archive::Zip)”
yum install -y “perl(Crypt::Eksblowfish::Bcrypt)”
yum install -y “perl(Crypt::SSLeay)”
yum install -y “perl(Date::Format)”
yum install -y “perl(DBD::Pg)”
yum install -y “perl(Encode::HanExtra)”
yum install -y “perl(GD)”
yum install -y “perl(GD::Text)”
yum install -y “perl(GD::Graph)”
yum install -y “perl(IO::Socket::SSL)”
yum install -y “perl(JSON::XS)”
yum install -y “perl(Mail::IMAPClient)”
yum install -y “perl(IO::Socket::SSL)”
yum install -y “perl(ModPerl::Util)”
yum install -y “perl(Net::DNS)”
yum install -y “perl(Net::LDAP)”
yum install -y “perl(PDF::API2)”
yum install -y “perl(Template)”
yum install -y “perl(Template::Stash::XS)”
yum install -y “perl(Text::CSV_XS)”
yum install -y “perl(Time::HiRes)”
yum install -y “perl(Time::Piece)”
yum install -y “perl(XML::Parser)”
yum install -y “perl(YAML::XS)”
yum install -y perl-Text-PDF.noarch
yum install gcc make -y
yum install cpan -y
yum install httpd-devel
yum install perl-ExtUtils-Embed.x86_64 -y
cpan ModPerl::MM

Resultado esperado do CheckModules

[root@operation ~]# /opt/otrs//bin/otrs.CheckModules.pl
o Apache2::Reload………………ok (v0.12)
o Archive::Tar…………………ok (v1.58)
o Archive::Zip…………………ok (v1.30)
o Crypt::Eksblowfish::Bcrypt…….ok (v0.009)
o Crypt::SSLeay………………..ok (v0.57)
o Date::Format…………………ok (v2.22)
o DBI…………………………ok (v1.609)
o DBD::mysql…………………..ok (v4.013)
o DBD::ODBC……………………Not installed! (optional – Required to connect to a MS-SQL database.)
o DBD::Oracle………………….Not installed! (optional – Required to connect to a Oracle database.)
o DBD::Pg……………………..ok (v2.15.1)
o Encode::HanExtra……………..ok (v0.23)
o GD………………………….ok (v2.44)
o GD::Text…………………..ok (v0.86)
o GD::Graph………………….ok (v1.44)
o IO::Socket::SSL………………ok (v1.31)
o JSON::XS…………………….ok (v2.27)
o List::Util::XS……………….ok (v1.21)
o LWP::UserAgent……………….ok (v6.06)
o Mail::IMAPClient……………..ok (v3.34)
o IO::Socket::SSL…………….ok (v1.31)
o ModPerl::Util………………..ok (v2.000008)
o Net::DNS…………………….ok (v0.65)
o Net::LDAP……………………ok (v0.40)
o PDF::API2……………………ok (v2.021)
o Template…………………….ok (v2.22)
o Template::Stash::XS…………..ok (undef)
o Text::CSV_XS…………………ok (v0.85)
o Time::HiRes………………….ok (v1.9721)
o Time::Piece………………….ok (v1.15)
o XML::Parser………………….ok (v2.36)
o YAML::XS…………………….ok (v0.38)
cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm

[root@operation ~]# adduser otrs –home-dir=/opt/otrs

[root@operation ~]# /opt/otrs//bin/otrs.SetPermissions.pl –web-group=apache –otrs-user=otrs

mysql -u root -p -e “create database otrs charset utf8”

[root@operation ~]# mysql -u root -p otrs < /opt/otrs/scripts/database/otrs-schema.mysql.sql
[root@operation ~]# mysql -u root -p otrs < /opt/otrs/scripts/database/otrs-initial_insert.mysql.sql
[root@operation ~]# mysql -u root -p otrs < /opt/otrs/scripts/database/otrs-schema-post.mysql.sql
[root@operation ~]# mysql -u root -p -e “CREATE USER ‘otrs’@’localhost’ IDENTIFIED BY ‘otrsprod'”
[root@operation ~]# mysql -u root -p -e “GRANT ALL PRIVILEGES ON otrs.* TO ‘otrs’@’localhost'”
[root@operation ~]# service httpd restart
[root@operation ~]# cp /opt/otrs/scripts/apache2-httpd.include.conf /etc/httpd/conf.d/

No /opt/otrs/Kernel/Config.pm

Insira a linha abaixo.

$Self->{ArticleDir} = “/opt/otrs/var/article/”;

E altere a senha na linha abaixo.

$Self->{DatabasePw} = ‘otrsprod’;

Após isso pode acessar a interface web.

http://IPOTRS/otrs/index.pl

[root@operation otrs]# /opt/otrs//bin/otrs.SetPassword.pl root@localhost minhasenha
Set password for user ‘root@localhost’.
Done.

[root@operation ]# cd /opt/otrs/scripts/

[root@operation ]# cp redhat-rcotrs-config /etc/sysconfig/

[root@operation ]# cp redhat-rcotrs /etc/init.d/

[root@operation ]# chkconfig –add redhat-rcotrs

[root@operation ]# chmod +x /etc/init.d/redhat-rcotrs

[root@operation ]# cd /opt/otrs/var/cron/
[root@operation cron]# for foo in *.dist; do cp $foo `basename $foo .dist`; done
[root@operation ]# /opt/otrs//bin/otrs.SetPermissions.pl –web-group=apache –otrs-user=otrs

[root@operation ]# service redhat-rcotrs stop
[root@operation ]# service redhat-rcotrs start

 

 

Com isso está pronto!

 

Se ficar alguma dúvida pode postar aqui.

 

OTRS

Mudar tema do ckeditor no OTRS


Uma dica simples, o ckeditor é o editor padrão do OTRS, o thema padrão dele na versão 4 do OTRS ( versão ckeditor-4.4.5 ) é o moono.

Para alterar você deve seguir os passos.

Escolha o skin desejado e clique em Download

http://ckeditor.com/addons/skins/all

Descompacte e coloque na pasta skin do ckeditor.

Por  padrão /opt/otrs/var/httpd/htdocs/js/thirdparty/ckeditor-4.4.5/skins

Agora abra o arquivo /opt/otrs/var/httpd/htdocs/js/Core.UI.RichTextEditor.js na linha 112 e modifique o parâmetro skin para o nome da pasta do skin.

 

Abaixo a imagem de como pode ficar.

 

img img2

OTRS

OTRS com Pentaho


Pessoal, comecei alguns testes pra criar um alguns modelos de relatórios com o Pentaho.

Por enquanto é tudo muito novo, ainda estou me localizando na nova ferramenta, mas acredito que muito logo vou postar alguns exemplos interessantes.

Construir um BI sobre da sua ferramenta de gerencia de serviço pode te dar algumas métricas e KPI que podem ajudar muito na gestão estratégica seja de um Call Center, um CSC ou mesmo seu help desk.

Abaixo meus primeiros testes.

 

Screenshot_1

 

Screenshot_7

 

Até o momento são testes simples com o JPivot View.

Logo teremos novidades.

OTRS

OTRS para IPad


Desenvolveram uma aplicação mais completa para o  iPad.

iOTRS

Features.

Features:
* Built for Performance (the app tries to minimize and parallelize queries to the server to be fast)
* Universal App – iPad and iPhone
* Customizable – Select Queue Groups you want to see
* Autorefresh
* Ticket Search (Requires patched iPhone Handle)
* Attachment Support – Reading of Attachments on tickets (Requires patched iPhone Handle)
* Create Tickets, Close Tickets, Move to other Queue, Reply with email to Ticket, Add Notes/Articles to TicketsThis app requires to have the OTRS iPhone Handle extension installed.

Precisa instalar o Plugin iOTRS ele é um iPhoneHandle mais completo.

OTRS

KPI OTRS


O plugin que foi desenvolvido pelo Carlos você consegue criar alguns indicadores como esses abaixo.

image

Nesses indicadores você define três valores e inseri um select com um retorno único e numérico, esse valor será mostrado e de acordo com os valores que você havia parametrizado ele aparecerá como na imagem acima.

 

OTRS

OTRS com OCS Inventory


Algumas pessoas estão me perguntando sobre essa integração, até o momento não esta pronto, porém acredito que daqui uma ou duas semanas devo postar alguma coisa mais concreta.

Já tive sucesso na importação, porém eu quero deixar o processo automatizado, caso contrário não teria nenhum sentido.

Existe um plugin que faz essa integração, porém para a versão 2.4 do OTRS,o módulo não foi atualizado e pelos meus testes não tem compatibilidade.

 

OTRS

Backup e Restore do OTRS


Pessoal, depois de alguns meses sem postar nada, estou retornando, vou tentar manter um média constante de postagens agora.

Hoje eu  vou comentar sobre duas ferramentas que temos do OTRS.

/opt/otrs/scripts/backup.pl

Uso: backup.pl -d /data_backup_dir/ [-c gzip|bzip2] [-r 30] [-t fullbackup|nofullbackup|dbonly]

Onde:

-d é o diretório destino

-c é o tipo de compactação

-r retenção em quantidade de backup, e não em dias.

-t tipo

Feito o backup ele vai gerar uma pasta no seguinte formato AAAA-MM-DD_HH-MM dentro dessa paste existem 3 arquivos.

Application.tar.gz -> Aplicações ( inclusive o var/article )

Config.tar.gz -> Configurações

DatabaseBackup.sql.gz -> Backup do banco de dados

Para usar o restore

Uso: restore.pl -b /data_backup/<TIME>/ -d /opt/otrs/

Onde -b  é a pasta com os arquivos de backup -d destino onde será restaurado.

OBS: Para restaurar o backup ele vai usar a senha que esta no Config.pm e seu banco deve estar limpo.

Então

mysql -u root -p

drop database otrs;

create database otrs charset utf8;

Feito isso terá sem sistema completo restaurado.

Agora é restart no apache e SetPermission.

Por hoje é isso.

 

OTRS

Instalando todas as dependências do OTRS


Pessoal, mais uma dica rápida.

Quando instalamos o OTRS no Linux é necessário instalar algumas dependências do PERL.

Para resolver isso eu utilizo o cpan, depois de configura-lo é só executar o comando abaixo.

cpan Crypt::Eksblowfish::Bcrypt Date::Format DBD::mysql Encode::HanExtra GD  GD::Text  GD::Graph IO::Socket::SSL JSON::XS LWP::UserAgent Mail::IMAPClient IO::Socket::SSL ModPerl::Util Net::DNS Net::LDAP PDF::API2 Compress::Zlib  Text::CSV_XS YAML::XS

Feito isso vamos verificar.

/opt/otrs/bin/otrs.CheckModules.pl

Se o retorno marcar as dependências como instaladas então resolveu o problema.

Espero que seja útil.

 

 

OTRS

OTRS – Fluxos de atendimentos e seus modelos


Pessoal, esse será um post um pouco mais longo, vou falar um pouco sobre as possível maneiras de se organizar seu centro de atendimento, nesse artigo vou falar de duas, uma mais simples, usando o exemplo do fluxo abaixo.

Screenshot from 2013-11-10 11:08:17

Fonte: http://www.ulbra.inf.br/joomla/images/documentos/TCCs/2010_2/ads-viviane%20cardoso%20fernandes.pdf ( Figura 4 ).

E a outra um pouco mais complexa, usando níveis verticais de atendimentos.

Screenshot from 2013-11-10 11:12:20

Fonte: http://www.ulbra.inf.br/joomla/images/documentos/TCCs/2010_2/ads-viviane%20cardoso%20fernandes.pdf ( Figura 5 ).

No OTRS normalmente criamos filas e dividimos os chamados de acordo com a fila que representa o nível de atendimento.

Como é dividido o nível 1, nível 2 e nível 3 ?

Por padrão quando é uma atividade muito critica ela não deve ficar no Nível 1 e pode subir até o Nível 3 ( se esse for o ultimo Nível ) se for preciso.

Como garantir que o Nível 1 só atendera o que for do seu escopo de trabalho ?

Uma maneira muito interessante de fazer isso é usando a base de conhecimento, a padronizando que ele só deve atender o que estiver documentado, ou seja ter um passo-a-passo, caso não tenha, passe para o Nível 2, se estiver na base de conhecimento dele execute caso contrário crie um procedimento e coloque o nível 1 para executar lembrando que deve se levar em consideração a criticidade da atividade ao negócio da empresa ou do cliente.

O Nível 3, normalmente vai estar envolvido em projetos ou como chamamos tipicamente em TI “Estiver com alguma bucha“, ou seja, um problema mais crítico ou urgente.

A casos que os chamados deve passar por uma validação de eficacia de solução, isso vai envolver gerenciamento de problemas, itens de configuração, equipes de qualidade e uma boa experiencia.

Tem um artigo interesse nesse link: http://www.itsmprofessor.net/2010/09/problem-management-techniques.html

Nos próximos posts quero falar um pouco sobre gerenciamento de problemas, através de correlação de incidentes no mesmo item de configuração com isso estudo da causa raiz.

Mas isso é pra outro dia.

Esse post não foi nada prático ou passo-a-passo para fazer algo, é apenas um pouco da experiência que adquiri e quis compartilhar com vocês.

Mande suas sugestões para outras dicas.

Abraços…

 

OTRS

Appliance OTRS


Pessoal, a OTRS disponibilizou o primeiro beta do OTRS Appliance.

Trata-se de uma máquina pronta, já com o OTRS instalado e com algumas facilidades para se trabalhar.

No link abaixo tem o passa-a-passo para instalação e configuração dos principais recursos.

http://doc.otrs.org/appliance/3.3/en/html/ch02.html

Assim que eu testar, vou colocar um post mais completo, pois tem um questão importante a ser validada, dependendo do SO que rode nessa VM pode não ser suportado pelo hypervisor.

Logo mais, volto com detalhes.

 

 

OTRS

Survey OTRS – Reabrir chamado caso negativo


Fiz essa trigger já faz um bom tempo, trata-se de uma trigger para Mysql para reabrir um chamado caso o problema não tenha sido resolvido e o usuário negative o atendimento no Survey.

delimiter //
use otrs //
create trigger Atualizax before insert on survey_vote
for each row
begin
if new.vote_value = 'No' then
update ticket SET ticket.ticket_state_id=4
 where ticket.id = ( select survey_request.ticket_id
 from survey_request,survey_vote
 where survey_request.id = survey_vote.request_id
 and survey_vote.request_id = new.request_id );
end if;
end
//
delimiter ;

Espero que seja útil.

OTRS

OTRS Tunning – mod_deflate


Pessoal,

Uma dica rápida.

Recentemente precisei acertar alguns pontos de lentidão em um OTRS.

Umas das configurações que fiz foi ativar o mod_deflate do apache.

Após ativar o módulo, adicionei essas linhas no arquivo httpd.conf

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
</IfModule>

Normalmente  a página otrs/index.pl baixa de 90 a 150 kb. Com esse módulo reduzimos a 10-14kp.

Uma compressão ótima, o ganho foi muito bom.

Nas próximas dicas falo sobre as outros pontos para se fazer um tunning no seu OTRS.

 

OTRS

OTRS 3.3 – Recurso – Events Ticket Calendar


A nova versão do OTRS 3.3 trouxe várias recursos interessantes, que estão na lista abaixo.

1. BETTER PRODUCTIVITY

  • Dashboard ticket lists and regular ticket overviews can now be filtered by eligible ticket columns, and the shown columns are configurable.
  • Ticket medium and preview overviews are now sortable.
  • Added a calendar widget for the dashboard that can show tickets as events.
  • Added new dashboard widget that shows in a matrix form the number of tickets per state and per queue.
  • Agents can now mark important articles.
  • A new tree selection widget makes working with tree data (queues, services etc.) much faster and easier.
  • Added support to search relative dates ( e.g. more than 1 month ago ) in Date and Date/Time dynamic fields.
  • It is now possible to specify templates (previously “standard responses”) also for creation of new tickets and for ticket forwarding.
  • The list of available processes can now be filtered by ACLs.
  • Added support to initiate processes from Customer Interface.
  • In many places text is not shortened any more by a fixed number of characters (“Queue1…”), but instead by available screen estate. This makes it possible to see more information at once.

2. IMPROVED WORKING WITH EXTERNAL SYSTEMS

  • OTRS can now use multiple customer company databases, thanks to Cyrille @ belnet-ict.
  • OTRS can now automatically store customer user data in ticket dynamic fields for permanent storage in the ticket. This can be useful for reporting.
  • OTRS is now able correctly assign incoming emails to existing tickets based on ticket numbers from external systems.
  • OTRS can now fetch email also over POP3/TLS connections.

3. IMPROVED INSTALLATION & ADMINISTRATION

  • Web Installer now can setup OTRS on PostgreSQL, Oracle and SQL Server databases in addition to MySQL.
  • Generic agent jobs can now be executed for configured ticket events.
  • The new graphical ACL editor makes ACL editing easier.
  • Postmaster filters can now use negated filter conditions, thanks to Renée Bäcker.
  • Postmaster filters can now specify relative pending dates and Owner / Responsible for new tickets based on incoming email data.
  • Customer and Agent passwords now can be encrypted using the strong bcrypt algorithm, which is better than SHA.
  • The toolbar icons now use an icon font which makes it easier to create custom skins with different base colors.

O anuncio oficial pode ser encontrado no link: http://www.otrs.com/de/open-source/community-news/release-notes/release-notes-otrs-help-desk-330-beta1/#c48158

Hoje vamos falar sobre o Events Ticket Calendar.

Você deve criar dois campos dinâmicos para o ticket.

  • TicketCalendarStartTime
  • TicketCalendarEndTime

Agora adicione em algum view de ticket ( Ex. TicketFreeText [Campos livres ])

Os campos dinâmicos devem ser do tipo Date / Time

Screenshot from 2013-09-03 19:37:36

O recurso é interessante, você pode usar para criar agendar, alocar recursos e outros.

Por hoje é isso.

OTRS

Otrs 3.2 – Melhorias do problema de chamados duplicados


O OTRS na versão 3.2 existe um melhoria interessante que o agrupamento de interações não apenas por Subject ( “TICKET#2012000000000”), agora ele consegue fazer verificações no corpo da mensagem, além de anexos e outros itens, para verificar se aquele e-mail faz parte de um chamado.

Quando o problema ocorre ?

Em sistemas que a abertura de chamados é por e-mail o cliente colocam outros e-mail em copia e esses e-mail que estão em copia respondem sobre o chamado principal.

Com isso o Subject ainda não foi alterado para que o OTRS identifique o código do chamado, isso gera chamados duplicados causam muitos problemas com métricas e etc.

Solução:

Em Core:Postmaster

Altere o seguinte campos para YES:

PostmasterFollowUpSearchInReferences
PostmasterFollowUpSearchInBody
PostmasterFollowUpSearchInAttachment
PostmasterFollowUpSearchInRaw

Isso deve ajudar a resolver o problema, porém como é um recurso novo, então vale um ponto a mais de atenção, pra compreender se no seu ambiente ele sera eficaz.

Por hora é isso.

Até mais.

OTRS

Dica para relatórios de SLA – OTRS


Faz um bom tempo que não escrevo por aqui, mas vamos la.

Seguindo uma linha de dicas que venho escrevendo para facilitar nossa vida para criação dos relatórios para o OTRS vou falar hoje sobre os relatórios de SLA.

Existem três campos importantes para isso, ambos estão na tabela ticket.

escalation_update_time
escalation_response_time
escalation_solution_time

O que acontece é que esses campos estão no formato Unix Time

Então para converter.

use otrs;

select tn,
FROM_UNIXTIME(escalation_update_time),
FROM_UNIXTIME(escalation_response_time),
FROM_UNIXTIME(escalation_solution_time),
FROM_UNIXTIME(escalation_time)
from ticket
where ticket.tn=<TICKETNUMEBER>;

Quando você seleciona o SQL esses campos são preenchidos e quando o SLA é cumprido ele é zerado então o que fazer pra resolver esse problema.

CREATE TABLE IF NOT EXISTS `TEMPOS_SLA` (
`tn` varchar(50) NOT NULL,
`TEMPO_RESPOSTA` datetime NOT NULL,
`TEMPO_ATUALIZACAO` datetime NOT NULL,
`TEMPO_ENCERRAMENTO` datetime NOT NULL,
UNIQUE KEY `tn` (`tn`)
)
USE OTRS;
DELIMITER $$
DROP TRIGGER IF EXISTS `otrs`.`RegistrarSLA`$$
CREATE TRIGGER `RegistrarSLA` AFTER UPDATE ON `ticket`
FOR EACH ROW
BEGIN
IF NEW.escalation_update_time !=0 THEN
REPLACE INTO TEMPOS_SLA
(tn,TEMPO_RESPOSTA,TEMPO_ATUALIZACAO,TEMPO_ENCERRAMENTO)
SELECT t.tn, FROM_UNIXTIME(t.escalation_response_time),
FROM_UNIXTIME(t.escalation_update_time),
FROM_UNIXTIME(t.escalation_solution_time) FROM ticket t,ticket_state
ts,ticket_state_type tst WHERE t.tn=NEW.tn and t.ticket_state_id=ts.id and
tst.id=ts.type_id and tst.id!=3;
END IF;
END
$$
DELIMITER ;
A trigger foi baseada numa dica do “Leonardo Certuche”.

Agora é conta de mais e menos pra criar relatórios apresentáveis.

Em um próximo momento apresento algum modelo desse relatório.

Por hoje é isso pessoal.

OTRS

Diferenças em StorageFS StorageDB


Seguindo a dica do Tux Pingus, no comentário abaixo:

https://tuxjr.wordpress.com/2012/12/14/mudando-armazenando-otrs/#comment-196

Vou escrever um pouco sobre a diferença na administração entre as duas configurações importantes, vou abordar aqui dois tipos de banco para fazer essas comparações.

Oracle e Mysql ( Ambos pertence a Oracle )

O Mysql para pequenas cargas de dados se mostra mais rápido que o  Oracle, entretanto quando lidamos com uma quantidade relativamento grande a o Oracle ganha em todos os requisitos.

Então qual o melhor banco para se utilizar com o OTRS.

Por via de regra eu considero o seguinte.

Se você já tem uma infraestrutura de Oracle ou SQL Server eu recomendo deixar o StorageDB ativo, visto que esses dois banco tem bons recursos de  administração.

Isso não quer dizer que não se pode utilizar o Mysql para isso, porém a Administração se tornara mais complexa o pode haver downtime.

Se você não dispor desses recursos o ideal é utilizar o StorageFS assim os artigos e anexos dos seu sistema ficará armazenado no sistema de arquivos do seu SO, mantendo um banco pequeno, logo de fácil administração e controle, a unica dificuldade é você ter que fazer backup de dois lugares Banco e File System.

Pra finalizar eu considero o seguinte.

Usou Oracle ou SQL Server deixa o StorageDB e cuida de perfornance com Tunning no banco, usou Mysql deixe StorageFS e faça backup das pastas onde estão sendo armazenado os dados.

O StorageFS é uma ótima opção também se for trabalhar com algum SSD se armazenar o artigos e anexos em um SSD ou algum outro disco rápido evidentemente que ganhará em performance.

Dica rápida…

Essa semana vou postar mais algumas coisas pessoal.

Abraço.

OTRS

Habilitando Switch to customer e Switch to user


Boa tarde amigos,

Um recurso muito legal que foi implementado agora no OTRS 3.2.x é que Switch to customer, antes já havia o Switch to User.

Vamos ver como habilitar esse recurso.

Vá para: Framework -> Core

Procure por SwitchToUser e SwitchToCustomer aplique para Sim

Logo abaixo e a opção SwitchToCustomer::PermissionGroup que é o grupo que poderá utilizar o recurso.

Screenshot from 2013-02-12 16:05:05

Dica rápida.

OTRS

Mudando armazenando OTRS


Por padrão os dados de “article” (interações), são armazenados no banco de dados, para alterar essa configuração é necessário executar o comando.

/opt/otrs/bin/otrs.ArticleStorageSwitch.pl -s ArticleStorageDB -d ArticleStorageFS

Esse comando irá transportar os dados do banco para o File System  por padrão em /opt/otrs/var/article

Simples e prático.

OTRS

Adicionar ferramentas do OTRS no PATH do sistema


Depois de algum tempo sem escrever devido estar envolvido em alguns projetos posso voltar as dicas e procedimentos que são úteis.

Vamos a primeira desse retorno.

Todas as vezes que vamos executar um dos script $OTRS_HOME/bin temos que entrar no diretórios bin/ normalmente fica em /opt/otrs/bin/otrs.*.

Vamos colocar isso no PATH do sistema para facilitar a execução desses script.


# PATH=$PATH:/opt/otrs/bin

Agora coloque isso no arquivo .bash_profile do seu usuário normalmente root e pronto.