LEIAME
8.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
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.