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.

quarta-feira, 27 de abril de 2016

Cadastro de Política de Impressão no IBQUOTA

Após cadastrar a Impressora, Grupo e Usuário é o momento de criar a Política de Impressão. Cada local exige uma política diferente. Há locais que o usuário recebe uma quota mensal e outros a quota é semanal, estas configurações são estabelecidas pela política de impressão, no IBQUOTA.
No Gerenciador Gráfico (GG) selecionar "Políticas de Impressão" no menu principal:
Política de Impressão, IBQUOTA
Clicar no link "Atribuir Política de Impressão".
Selecionar Política de Impressão
No segundo passo, selecionar o Grupo de usuários que a Política de Impressão será Aplicada. E, o tipo de política.
Na maioria dos casos o primeiro tipo, Tipo Padrão, atende as necessidades. Ele oferece Quota Infinita, Acumulativa e ainda a possibilidade de impressão de Banner antes ou após a impressão do usuário.
Atribuição de Política de Impressão - IBQUOTA
No terceiro passo, é possível especificar a QUOTA PADRÃO que cada usuário do grupo irá receber inicialmente, no caso o valor 100.
Quota Acumulativa significa que a quota padrão será somada com o restante não utilizado.
Quota Infinita significa que todas as impressões do grupo selecionado serão impressas, apenas o registro será realizado.
O Banner, ou folha de rosto, pode ser ou não contabilizado. Há dois tipos de banner que poderão ser selecionados.
Pelo menos uma impressora deverá ser selecionada, e o valor de cada página poderá ser especificado.
A inicialização da quota poderá ser configurada para: Nunca, diariamente, mensalmente, semestralmente e a cada 2 meses.
Após, clicar em "Enviar 2/2" para finalizar a Atribuição da Política de Impressão.

Política Atribuída
Pronto! A partir deste momento o IBQUOTA irá contabilizar as impressões dos usuários do grupo "Matemática".

terça-feira, 26 de abril de 2016

pagecount.pl: Contador de Páginas do IBQUOTA

O IBQUOTA possui um aplicativo, chamado pagecount.pl, que mostra a quantidade de página de um arquivo. É desenvolvido em PERL e é utilizado pelos desenvolvedores do IBQUOTA para depurar algum problema de contagem de página.

Sintax

# ./pagecount.pl NOME_DO_ARQUIVO

O NOME_DO_ARQUIVO é o arquivo em algum formato reconhecido pelo IBQUOTA: PostScript, PCL, PCLXL, PCL3GUI, etc.

No primeiro passo, o pagecount tenta identificar o formato do arquivo e em segundo passo mostra a quantidade de páginas do arquivo.
Se o pagecount não identificar o formato do arquivo, então ele tenta contabilizar as páginas em todos os formatos reconhecidos (citados acima).
Exemplo:
Pagecount.pl Contador de páginas
No caso acima foi testado um arquivo de formato Desconhecido. Pelos contadores de páginas, o formato PCL identificou 377 páginas e 0 para os outros formatos.

Teste com arquivo formato PCL

Aproveitando o arquivo PCL disponível em http://www.pcltools.com/data/wp51port.pcl. Foi realizado o teste com o pagecount.pl:
Pagecount PCL
O pagecount.pl identificou corretamente o formato do arquivo, no caso PCL e a quantidade de página = 10.

Teste com arquivo formato PostScript

Aproveitando o arquivo Postscript disponível em http://schneider.ncifcrf.gov/ftp/testprinter.ps. Foi realizado o teste com o pagecount.pl:
Pagecount.pl PostScript
O pagecount.pl identificou corretamente o formato do arquivo, no caso PostScript (PS) e a quantidade de página = 1.

Dica


É possível utilizar o pagecount fora do ibquota, mas é necessário copiar também o arquivos de bibliotecas: funcoes.pl.

Cadastro de Impressora no IBQUOTA

Uma dúvida comum dos iniciantes do IBQUOTA é com relação ao cadastro de impressora. Para cada impressora física você tem que criar duas filas de impressão: Virtual e Real. Segue detalhes de cada uma:

Fila de impressão Virtual

A fila virtual deve ser configurada como STOPPED no CUPS, ou seja os jobs entram na fila e ficam aguardando. O daemon do ibquota irá analisar e dar o devido destino.
É esta fila que será compartilhada, ou seja configuradas nas estações de trabalho.

Fila de impressão Real

A fila real deve ser configurada como IDLE no CUPS, ou seja os jobs entram na fila e vão diretamente para o dispositivo, a impressora.
Esta fila NÃO deve ser compartilhada. Se algum usuário imprimir aqui, o ibquota não irá contabilizar as impressões.

Resumo

Fila de Impressão Virtual Real
Configuração no CUPS STOPPED IDLE
Compartilhada Sim Não
Impressora Física Não Sim

Cadastro no Gerenciador Gráfico (GG) do IBQUOTA

IBQUOTA: Cadastro de impressora
IBQUOTA: Filas de impressão Virtual e Real
Para verificar o nome das filas de impressão há uma comando do CUPS chamado "lpstat -a".
As imagens são autoexplicativas, mas abaixo segue uma dica de como identificar o Path Spool.

Path Spool: como identificar

É o diretório onde o CUPS armazena temporariamente os jobs. O caminho (path) muda de acordo com a distribuição do Linux. Geralmente, distribuições Linux baseadas no Debian como por exemplo: Ubuntu, Mint, entre outros, utilizam o caminho /var/spool/cups. 
O correto é imprimir alguma página de teste e procurar pelo arquivo "c00001", este estará no "Path Spool" (diretório) a ser utilizado na configuração do IBQUOTA.
Explicando: O arquivo "c00000" possui informações sobre o JOB e o "d00000" possui o arquivo a ser impresso. Geralmente o CUPS apaga o "d00000" para poupar espaço e mantem apenas as informações do job, o arquivo "c00000".

Conclusão

Aparentemente as dúvidas sobre cadastro de impressora no IBQUOTA estão esclarecidas.

Cadastro de Grupos e Usuários no IBQUOTA

Antes de montar a política de impressão no IBQUOTA, é necessário cadastrar pelo menos um grupo de usuário. Na página de cadastro:
IBQUOTA: Página de Cadastros

Cadastro de Grupo

O cadastro de grupo é pré-requisito para o cadastro de usuários. Alias, cada usuário deve ter no mínimo um grupo. Basta digitar o nome do grupo, no caso foi utilizado o nome "Matemática". Segue página de cadastro de grupo:
Cadastro de grupo no IBQUOTA
Basta clicar em "Enviar" para concretizar o cadastro do grupo.
Grupo cadastrado

Cadastro de Usuário

Após cadastrar o grupo, agora é hora de cadastrar o usuário:
Cadastro de usuário no IBQUOTA
O nome do usuário deve ser o mesmo do Domínio (Windows ou Samba), para que o IBQUOTA consiga identificar o dono da Impressão. Neste momento você deve selecionar o grupo ao qual o usuário pertence. Feito isto, basta clicar em "Enviar":
Usuário cadastrado
Neste momento o usuário foi cadastrado com sucesso.

Na página do menu principal é possível alterar ou excluir grupo ou usuário.

terça-feira, 5 de abril de 2016

O IBQUOTA

O IBQUOTA gerencia quota de impressão, é possível especifica a quantidade de páginas que os usuários de um grupo possui para imprimir. O software foi desenvolvido em 2003 na Unicamp (Universidade Estadual de Campinas).
Informações de impressão são armazenadas em banco de dados, MySQL. As informações são gerenciadas via WEB, através do Gerenciador Gráfico (GG) do IBQUOTA, desenvolvida em PHP.

Como funciona o IBQUOTA?

Para o IBQUOTA funcionar são criadas duas filas de impressão por impressora:
O importante é que a impressão fica transparente para o usuário imprimir. Nenhum software adicional é necessário ser instalado nas estações, apenas o Drive da Impressora.

Quando um usuário está conectado na estação e solicita impressão de um arquivo, o Servidor de Impressão (CUPS) recebe o “job” (Fila Virtual) e aguarda o IBQUOTA enviar este arquivo para a impressora propriamente dita (Fila REAL) ou rejeitar.
  • Fila VIRTUAL: A fila de impressão virtual é compartilhada para todas as estações e configurada para que todos JOBs entrem como "pausados", STOPPED.
  • Fila REAL: A fila de impressão real NÃO é compartilhada, mas é configurada para imprimir tudo que chegar. Nenhuma estação pode ter acesso a esta fila de impressão, senão as quotas não serão computadas.
O IBQUOTA simplesmente fica checando se chegou algum job na fila de impressão virtual, se chegar, é verificado se o dono da impressão possui quota, se sim, o documento é movido para fila de impressão real e as informações da impressão são gravadas no banco de dados.
O IBQUOTA é um software Livre e Grátis, e pode ser baixado AQUI.
IBQUOTA significa Impressão Barrada por QUOTA de usuário. Site oficial www.ib.unicamp.br/ibquota.
Lista de discussão dos usuários do ibquota (mais de 600 membros): https://br.groups.yahoo.com/neo/groups/ibquota/info.