Kingfisher Quota Manager - Instalação e configuração
O Kingfisher Quota Manager, um projeto open source, surgiu como uma alternativa ao JASmine. Ele foi desenvolvido em Perl/PHP5 com armazenamento de dados no PostgreSQL. Saiba agora como instalá-lo e configurá-lo.
Parte 2: Estrutura
No começo, assim como o JASmine, o Kingfisher era apenas um backend do CUPS, ou seja, ele recebia os jobs do cups, gravava no banco de dados as informações interessantes e repassava os jobs para o backend real, o backend que efetivamente enviaria os jobs para a impressora.
Durante o desenvolvimento do Kingfisher Quota Manager, pensando em funcionalidades futuras, tive que fazer algumas alterações estruturais e o Kingfisher passou a contar com um daemon e uma fila de impressão própria.
O kingfisherd é o daemon do Kingfisher, ele fica monitorando a fila e quando há um novo job ele envia para o backend real e grava no banco de dados todas as informações referentes a impressão (data, hora, custo, usuário, total de páginas, centro de custos, setor do usuário etc). O backend e o daemon são escritos em Perl.
Por fim existe a interface administrativa, escrita em PHP, que permite acesso a relatórios diversos, gráficos, configurações dos usuários, definição do custo por página etc.
Durante o desenvolvimento do Kingfisher Quota Manager, pensando em funcionalidades futuras, tive que fazer algumas alterações estruturais e o Kingfisher passou a contar com um daemon e uma fila de impressão própria.
Como tudo funciona
O CUPS recebe um job e repassa para o Kingfisher, junto do job propriamente dito (arquivo a ser impresso) o CUPS envia alguns parâmetros (ID do job, nome do usuário, número de cópias etc), então o backend do Kingfisher faz um parser do arquivo a ser impresso e obtém algumas outras informações importantes (número de páginas, formato do papel, tamanho do job etc), por fim o backend grava as informações na base de dados e grava o job no spool (por padrão /var/spool/kingfisher).O kingfisherd é o daemon do Kingfisher, ele fica monitorando a fila e quando há um novo job ele envia para o backend real e grava no banco de dados todas as informações referentes a impressão (data, hora, custo, usuário, total de páginas, centro de custos, setor do usuário etc). O backend e o daemon são escritos em Perl.
Por fim existe a interface administrativa, escrita em PHP, que permite acesso a relatórios diversos, gráficos, configurações dos usuários, definição do custo por página etc.
quanto eu executo o comando ./setup.pl acontece o seguinte erro:
Can't locate File/Copy/Recursive.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at ./setup.pl line 8.
BEGIN failed--compilation aborted at ./setup.pl line 8.
Pode me ajudar?
Obrigado