domingo, 23 de dezembro de 2018

IBQUOTA 3 - Nova Versão - Backend CUPS

O IBQUOTA foi reescrito para funcionar como um Backend do CUPS, agora muito mais simples de instalar e gerenciar.
O GG (Gerenciador Gráfico) está de cara nova:
Novo layout do IBQUOTA3
Possui código responsivo para melhor visualização em dispositivos móveis. O Bootstrap 4 foi utilizado.

Funcionando com um Backend do CUPS está rápido e NÃO necessita das filas de impressão VIRTUAL e REAL.
IBQUOTA3
A versão 3.1 será divulgada em 15 de Janeiro de 2019. Informações de instalação: https://github.com/valcir/ibquota .

Em breve novos artigos...

segunda-feira, 30 de janeiro de 2017

Como alterar contagem de página do IBQUOTA - pkpgcounter

O IBQUOTA possui um contador de páginas interno, que pode ser substituído por outro contador. Um contador alternativo é o pkpgcounter, que possui suporte aos seguintes formatos de impressão:

  • PostScript (both DSC compliant and binary)
  • PDF
  • PCL3/4/5
  • PCLXL (aka PCL6)
  • DVI
  • OpenDocument (ISO/IEC DIS 26300)
  • Microsoft Word (c) (tm) (r) (etc...)
  • Plain text
  • TIFF
  • Several other image formats
  • ESC/P2
  • Zenographics ZjStream
  • Samsung QPDL (aka SPL2)
  • Samsung SPL1
  • ESC/PageS03
  • Brother HBP
  • Hewlett-Packard Lightweight Imaging Device Interface Language
  • Structured Fax
  • Canon BJ/BJC
  • ASCII PNM (Netpbm)

Primeiro passo, instalar o contador de páginas:

sudo apt-get install pkpgcounter

O comando pkpgcounter retorna a quantidade de páginas de um arquivo que esteja em um dos formatos citados acima. Uma vez instalado, vamos a configuração do IBQUOTA. Alias, está sendo considerado que seu servidor está com tudo instalado.

Configuração do IBQUOTA:
No arquivo "funcoes.pl" substituir a função NUMERO_PAGINAS_JOB() pelo texto abaixo:

sub NUMERO_PAGINAS_JOB() {
 my ($arquivo_job)=@_;
 my $num_paginas=0;

 my $conta_paginas=qx{pkpgcounter $arquivo_job 2> /dev/null};

  # Check return code.
  my $rcode = $?;
  my $crcode = $rcode >> 8;

  if ($rcode == 0){
    $num_paginas=$conta_paginas;
  }
  else{
    &GRAVA_LOG("Não foi possivel contar páginas $arquivo_job","ERRO");
  }

 return ($num_paginas) ;
}

A partir deste momento o pkpgcounter irá identificar a quantidade de páginas do arquivo impresso. Esta é uma alternativa para quem está com problema na identificação da quantidade de página.

sexta-feira, 11 de novembro de 2016

Dicas de instalação e configuração do banco de dados do IBQUOTA

O IBQUOTA utiliza o Mysql como servidor de banco de dados para registrar informação dos usuários, dos grupos, das impressoras, das impressões e entre outras, como a cota do usuário, por exemplo.

O servidor de Banco pode ser instalado na mesma máquina ou, caso você já tenha um servidor disponível, poderá utilizá-lo.

O banco de dados está organizado em 12 tabelas, com nomes sugestivos:

mysql> show tables;      
+---------------------+  
| Tables_in_IBQUOTA   |  
+---------------------+  
| conjunto_impressora |  
| formato             |  
| grupo               |  
| grupop              |  
| impressoes          |  
| impressora          |  
| inicializacao       |  
| modp                |  
| politica            |  
| status_impressao    |  
| tipo_politica       |  
| usuario             |  
+---------------------+  
12 rows in set (0.00 sec)

O esquema completo do banco de dados está no arquivo ibquota.sql, dentro do pacote de instalação (AQUI). 

No terminal, digite o comando para entrar no shell do MySQL:
$ mysql -uroot -p
A senha do administrador do banco de dados será solicitada.

Para importar a estrutura do banco, digite:
mysql> source ibquota.sql
Toda a estrutura do Banco será criada.

Por motivo de segurança, você deve definir uma senha para o Banco de Dados. No arquivo ibquota.sql há a seguinte linha:
grant all privileges on IBQUOTA.* to ibquota@localhost identified by 'senha';

Esta senha poderá ser alterada por outra qualquer, mas não se pode esquecer de configurar o script do IBQUOTA (ibquota.conf e o arquivo php).

O comando acima considerou que o servidor de impressão está na mesma máquina que o servidor de banco de dados. Caso esteja utilizando máquinas separadas, substitua o "localhost" pelo IP do servidor de impressão. Por exemplo:
grant all privileges on IBQUOTA.* to ibquota@192.168.0.10 identified by 'senha';

Neste caso o endereço IP do servidor de impressão seria o 192.168.0.10.

Performance do Banco de Dados

O servidor de Banco de Dados não precisar ser parrudo para suportar o IBQUOTA, a carga é muito pequena. Prefira investir em disponibilidade, pois se o serviço de banco ficar inoperante, então o serviço de impressão também não irá funcionar.

quarta-feira, 1 de junho de 2016

Uma árvore faz quantas folhas de papel A4?

Uma forma de reduzir a quantidade de impressões em uma organização é através da conscientização ecológica: Quando mais você imprime, mas árvores são derrubadas.

Ok, vamos a pergunta:

Uma árvore faz quantas folhas de papel A4?

A resposta é 20 resmas, ou seja 10.000 folhas tamanho A4 de 75 g/m2 de gramatura.
Foi considerado um eucalipto (árvore mais utilizada com essa finalidade).

Outras considerações:

  • Uma árvore leva cerca de 7 a 15 anos para estar pronta para o corte.
  • A produção de papel não consome somente árvores, também consome muita água (em torno de 10 litros por folha de A4).
  • Consome Energia Elétrica.
  • Gera emissão de poluentes.
  • Uma árvore de eucalipto consome aproximadamente 50 litros de água por dia, mas é verdade que uma parte dela volta para o meio ambiente.

Reutilizando folhas como rascunho ou até mesmo usando o verso, você já está causando um grande impacto benéfico no meio ambiente.

sexta-feira, 13 de maio de 2016

Erro: IBQUOTA não identifica o usuário - (unknown) dono do Job

O CUPS possui diretivas de privacidade que impede a identificação do dono da impressão. Isto afeta o sistema de controle de cota de impressão, que precisa saber qual o login que enviou o job.
Geralmente quando isto ocorre, o IBQUOTA classifica o dono da impressão como UNKNOWN, veja a foto abaixo:
IBQUOTA: Usuário desconhecido, "unknown".

Como resolver?

Para resolver este problema, basta editar o arquivo de configuração do CUPS, o cupsd.conf:
<Policy default>  
  JobPrivateAccess all
  JobPrivateValues none
</Policy>

Depois é necessário restartar o CUPS:
# service cups restart

Resolvido: O CUPS irá permitir que a informação do dono da impressão (usuário) seja registrada, desta maneira o IBQUOTA será capaz de identificar e registrar o dono do Job (Coluna "login" no relatório).

Apresar de muito simples, algumas pessoas desistem de utilizar o IBQUOTA por causa deste problema.

terça-feira, 10 de maio de 2016

Faça Test-Drive no IBQUOTA com Linux Mint no VirtualBox

Para quem não tem tempo, ou conhecimento, e tem interesse em conhecer como o IBQUOTA funciona, esta aqui uma opção interessante. Segue máquina virtual pronta, totalmente configurada com o apache, php, cups, mysql, ibquota, etc.
A máquina virtual foi instalada com o Linux Mint versão número 17.3. Para executar, você precisa instalar o VirtualBox. Ele funciona em Linux e em Windows. Super tranquilo de instalar.

Passo 01: Instalação do VirtualBox 

Basta seguir o passo a passo no site do VirtualBox. São 108MB.
Tela inicial do VirtualBox
O VirtualBox é muito simples, a imagem acima mostra a tela inicial. Você pode criar várias máquinas virtuais. No nosso caso, iremos importar uma máquina virtual pronta.

Passo 02: Download da Máquina Virtual

Faça o download da máquina virtual AQUI (Ibquota_VirtualBox_LinuxMint.ova).  São aproximadamente 2GB, e está com tudo instalado.

Passo 03: Importar Máquina Virtual

Abra o VirtualBox e clique no menu "Arquivo (F)" e em "Importar Appliance...". Abrirá a seguinte janela:
Importar Appliance Virtual
Selecionar o arquivo com extensão OVA, após download, conforme seta vermelha acima. Seleção do arquivo:
VirtualBox: Seleciona o arquivo OVA.

VirtualBox: Informações da máquina virtual.

Processo de Importação, demora uns 5 minutos.
VirtualBox: Máquina Virtual Importada

A máquina Virtual poderá ser alterada conforme sua necessidade e característica da sua máquina, por padrão a configuração da máquina virtual é:
Processadores: 2 CPUs
Memória: 1300MB
Rede: Bridge. Deve existir um servidor de DHCP na rede, ou então você terá que configurar um IP manualmente. Neste modo, outro computador da rede conseguirá localizar o servidor de impressão.

Passo 04: Executar a máquina Virtual

VirtualBox: Máquina Virtual iniciada

Acesso ao Gerenciador Gráfico (GG)
O acesso ao Gerenciador Gráfico do IBQUOTA é muito simplificado, basta digitar http://localhost no navegador. Há alguns cadastros pré-configurados (usuários, grupos, impressora e política de impressão).
Rodando o Daemon do IBQUOTA
O serviço do ibquota, também chamado de DAEMON, é executado conforme mostrado acima.

Passo 05: Teste de Impressão

Para realizar o teste é necessário que a máquina virtual seja acessível pela rede, por este motivo a placa de rede está configurada como Bridge. Será necessário serviço de entrega automática de IP (DHCP), ou então terá que configurar o IP, mascara de rede, gateway e DNS manualmente.
Através de outro computador, também em rede, faça a instalação da impressora, você irá precisar o endereço IP da máquina virtual para ajudar a instalar a impressão.
O ideal é que a máquina de teste esteja em Domínio, para o IBQUOTA identificar o usuário dono da impressão. Senão o usuário não será identificado.

Passo 06: Cadastro da fila de impressão na estação

IBQUOTA: Fila de impressão cadastrada no Windows
A fila de impressão foi cadastrada em uma máquina com Windows XP, fora do domínio. Ou seja, o ibquota não irá identificar o usuário que está logado na estação. Este é apenas um teste, e eu não tive tempo de montar um ambiente com Windows Active Directory.
É importante lembrar a fila de impressão que deve ser instalada na estação é a VIRTUAL, senão as quotas não serão identificadas.

Passo 07: Ver relatório

Após algumas impressões, segue o relatório do Gerenciador Gráfico:
Relatório de impresão
Veja que o usuário foi identificado como "unknown", por causa que a estação Windows não estava inserida no domínio.

Banco de Dados Mysql do IBQUOTA

O gerenciador de banco de dados utilizado é o MySQL, e o nome do banco "IBQUOTA". Há muitas informações que não estão nos relatórios. Por exemplo, o nome/ip da estação que enviou o job.
Shell do MySQL
Para quem tem facilidade em implementar páginas em PHP, pode criar facilmente o relatório desejado.

Conclusão

É uma maneira simples de entender como funciona o gerenciador de cota de impressão. Testei ser o mais claro possível, mas qualquer dúvida, faça um comentário.

Cuidado: Esta instalação não deve ser executada em produção, pois as senhas são "ibquota" e não possui firewall. O objetivo desta máquina virtual é apenas mostrar como o servidor de impressão funciona.

segunda-feira, 2 de maio de 2016

Relatórios de Impressão do IBQUOTA

O Gerenciador Gráfico (GG) possui uma série de relatórios que auxiliam no gerenciamento do ambiente de impressão.
Menu Relatórios do IBQUOTA
São oito tipos de relatórios, em alguns deles é possível especificar o intervalo de data.

Relatório: Listagem de Grupo

Relatório Listagem de Grupo
São listados todos os Grupos e suas respectivas Políticas de Impressão aplicadas. Informações como "Impressora", "Quota Padrão" e "Banners" são mostradas nesta tela.

Considerações

Cada ambiente possui necessidade específica de informações, ou seja sempre surge necessidade por relatórios que não estão disponíveis no sistema. Isto é facilmente contornado, pois as informações de impressão estão em banco de dados Mysql.
É possível copiar, colar e ajustar algum relatório especifico. Informações sobre PHP e SQL são fartas na Internet.