LEIAME 8.04 KB

INTRODUÇÃO
================================================================================

Este é o código fonte do Sistema de Atendimento. O sistema é
distribuído em diferentes módulos, segue uma lista dos módulos do
sistema:

  Fila-Administracao: Interface Web para gestão das configurações do
    local de atendimento.

  Fila-Agendamento: Interface Web para a realização de agendamentos de
    atendimentos.

  Fila-Opiniometro: Módulo de sistema para comunicação com dispositivo
    de registro da avaliação dos atendimentos realizados.

  Fila-Painel: Módulo de sistema para a notificação utilizando o
    sistema de visualização da praça.

  Fila-Senha: Módulo do sistema para a comunicação com o dispositivo
    emissor de senha.

  Fila-Servico: Módulo de regras de negócio responsável por todo o
    controle do atendimento.

  Fila-Web: Interface Web para o sistema de atendimento, incluindo
    atendente, gerente e interface para emissão de senhas manual.

Adicionalmente, os códigos-fonte do projeto incluem os seguintes
diretórios:

  Apache2: contém uma configuração de exemplo da interface Web doutiliza 
    sistema para o sistema de atendimento.

  DJabberd: contém uma configuração de exemplo para o servidor Jabber
    DJabberd, parte fundamental do funcionamento do sistema.

  patches: contém dois Patches a serem aplicados em bibliotecas
    instaladas no sistema. Esses patches já foram enviados aos autores
    originais das bibliotecas, mas ainda não estão incluídos nas
    versões atuais.

  ltsp: contém um template para a geração automática de uma página de
    entrada para cada usuário no ltsp, já preenchendo a mesa onde o
    atendente entrou e o login, para que o usuário precise apenas
    preencher a senha.

  documentacao: contém um conjunto diverso de documentações geradas
    sobre o sistema, incluindo materiais utilizados em treinamentos.

DESCOMPACTANDO OS ARQUIVOS
================================================================================

Uma vez que você tenha o arquivo do sistema, vc pode descompactá-lo em
qualquer lugar utilizando o comando:

tar xzf "Sistema de Atendimento - v1.3.tar.gz"

Depois que descompactar, como root execute:

mv sistemadeatendimento /usr/share/fila

Isso é importante porque as configurações padrão que vêm com o sistema
indicam essa localização.

PREPARACAO DAS DEPENDENCIAS
================================================================================

Em uma máquina recém-instalada Debian Lenny, baixar o arquivo
dependencias.tar.gz e descompactá-lo no diretório /srv/, criando então
um diretório /srv/debs-pm.

Alterar o arquivo /etc/apt/sources.list (como root) adicionando a seguinte linha:

deb file:///srv/debs-pm . .

Depois disso, rodar (como root) o comando

apt-get update

Baixar o arquivo Dependencias e salvá-lo no /tmp. Depois disso,
executar o comando (como root):

apt-get install `cat /tmp/Dependencias`

Com esse comando, todos os pacotes necessários deverão ser
instalados. Sempre que for mencionado alguma pasta do sistema,
entende-se que é a partir do diretório /usr/share/fila.

Existe um patch que precisa ser aplicado (foi submetido aos autores do
módulo mas ainda não foi aceito), isso é fundamental para o correto
funcionamento do sistema. Para isso execute:

cd /usr/share/perl5
patch -p4 /usr/share/fila/patches/DBIx-Class-ResultSource.patch

Ele deve dar uma mensagem como "Hunk xxxx succeeded", o que indica que
funcionou.

INSTALACAO DO BANCO DE DADOS
================================================================================

O sistema de atendimento sugere a utilização do banco de dados
PostgreSql devido ao uso extensivo de cálculos temporais,
funcionalidade essa que é uma das características fortes desse banco
de dados.

O sistema de atendimento está homologado apenas com o Postgresql 8.3
(versão disponível no Debian Lenny). O servidor de banco de dados já
foi instalado com as dependências.

O sistema de atendimento está configurado por padrão para utilizar o
usuário "fila" com a senha "senha" no banco de dados, conectando-se ao
banco "fila". Para configurar o servidor de banco de dados execute
(como root):

su -c 'su postgres'

O comando acima vai abrir um novo prompt de comando, agora com o
usuário administrador do postgres, então poderemos criar o usuário
"fila" no banco de dados utilizando o comando.

createuser -P fila

Primeiro ele vai pedir a senha para o novo usuário. Digite "senha" e
depois dê enter. Ele vai perguntar se o usuário deve ser um
superusuário, você pode responder que não. Ele vai perguntar se ele
pode criar outras "roles" (como o postgres chama os usuários), você
pode responder que não, e finalmente ele vai perguntar também se ele
pode criar bancos de dados, aí você responde que sim.

Depois disso você pode digitar "exit" e dar enter, para sair do prompt
do usuário postgres.

Para criar o banco de dados execute o seguinte comando (pode ser como
usuário normal):

createdb -Ufila -h127.0.0.1 fila

Ele vai pedir a senha do usuário "fila", então é só digitar
"senha". Então ele terá o banco de dados criado.

Para popular os bancos de dados, você pode usar o script, (pode ser
como usuário comum). De dentro do diretório Fila-Serviço, execute:

./script/fila_servico_db.pl | psql -Ufila -h127.0.0.1 fila

Ele irá pedir a senha do banco de dados novamente, digite "senha",
depois "enter"

Esse script gera um conjunto de instruções sql que podem
ser utilizadas como entrada para o psql para a criação das estruturas
de dados, incluindo alguns dados de exemplo.

EXECUTANDO O SISTEMA
================================================================================

O sistema de atendimento utiliza como "barramento" de comunicação o
servidor DJabberd, e como pode ser visto na configuração de exemplo, o
uso desse servidor especificamente possibilita, através do uso do
plugin DJabberd::Plugin::Balancer, a implementação de um balanceamento
de carga para os serviços. Desta forma, em primeiro lugar é necessário
iniciar o servidor DJabberd. Para fazer isso, pode-se executar:

LOGLEVEL=DEBUG screen -dmS djabberd djabberd -conf DJabberd/djabberd.conf

É importante reiniciar o apache depois de iniciar o DJabberd para que
as conexões do Apache sejam estabelecidas corretamente.

Uma vez o servidor Jabber rodando, é possível iniciar o módulo de
regras de negócio. Para isso, pode-se executar:

cd /usr/share/fila/Fila-Servico
FILA_SERVICO_HOME=. screen -dmS servico ./script/fila_servico_xmpp.pl

Neste momento, pode-se então iniciar o Apache2, utilizando a
configuração de exemplo, que presume a cópia desse diretório para o
diretório /usr/share/fila.

INSTALACAO DO AMBIENTE WEB
================================================================================

Para configurar o ambiente web, execute (como root):

cp /usr/share/fila/Apache2/fila-vhost.conf /etc/apache2/sites-available
a2ensite fila-vhost.conf

Depois disso é só reiniciar o apache:

apache2ctl stop
apache2ctl start

A tela do gerente e do atendente é acessível através do endereço:

http://localhost/

Todos os usuários vem com senha "password" por padrão. Vem o usuário
"gerente" e os usuários "atendente01" até "atendente10" para você
testar.

A tela do emissor de senhas manual é acessível através do endereço:

http://localhost/emissor

Usuário "emissor", senha "password".

Para habilitar a interface de administração modifique o arquivo
/etc/apache2/ports.conf e adicione a linha

Listen 8081

logo depois de "Listen 80". Reinicie o apache novamente. A interface
fica então disponível no endereço:

http://localhost:8081/

É recomendável implantar um mecanismo de autenticação para essa
interface, que deve ser acessível apenas para manutenção.


DOCUMENTACOES
================================================================================

O sistema de atendimento é desenvolvido em Perl, e dessa forma, para
olhar a documentação de cada um dos arquivos, você pode utilizar a
ferramenta "perldoc", que irá exibir de uma maneira intuitiva a
documentação de cada um desses arquivos.