Atenção: Esta página ainda está em construção.

logo

Reserva de Salas

firebird logo
SourceForge.net Logo




Introdução

Este programa foi projetado para organizar o processo de reservar salas de aula ou reunião em um ambiente multi-usuário.  Basicamente, um único servidor (com o banco de dados) controla as reservas feitas pelos usuários.  Caso um usuário tente reservar uma sala em um horário cujo  já tenha sido feito uma reserva, o sistema impedirá e avisará o usuário.

Os usuários e as salas são organizados em 'áreas', para simplificar a interface (não haver informação demais na tela) e também para separar logicamente todos, assim usuários poderão ter apenas permissão de criar reservas nas salas da sua própria área.  Um usuário, porém, pode pertencer a quantas áreas for preciso.

A distribuição de usuários e salas pode ser a seguinte:
areas No diagrama à esquerda:
  • As salas 1 e 2 pertencem a área comercial.  Os usuários Carlos e João também, logo estes usuários podem fazer reservas nas salas 1 e 2, mas não podem na 'Sala de Video-conferencia'.
  • O usuário 'Nuno' pertence a ambas as áreas, logo pode fazer reservas nas salas 1 e 2, além da sala de video-conferência.

Indice

Instalação

Cliente

Linux

Estamos trabalhando para gerar pacotes de instalação para as distribuições mais communs, tais como Slackware, Debian, Red Hat, SuSE, et cetera.

Por hora, basta compilar os fontes e copiar (manualmente) para um diretório em seu path (tal como /usr/local/bin).

Para compilar, baixe os fontes, e extraia-os em um diretório temporário:

Atenção: É preciso ter os fontes do Qt da versão 4 (recomendavél 4.2 ou superior) para compilar.

Baixar:
root@localhost:~# cd /tmp
root@localhost:/tmp# wget http://ufpr.dl.sourceforge.net/sourceforge/reservadesalas/rs-1.0.4-src.tar.gz

Compilar:
root@localhost:/tmp# cd rs
root@localhost:/tmp/rs# qmake
root@localhost:/tmp/rs# make

Copiar o binário:
root@localhost:/tmp/rs# cp bin/rs /usr/local/bin


É preciso, no entanto, apontar o caminho do banco de dados na primeira vez que o programa é executado; veja como fazer na seção Banco de Dados.

Windows

A instalação do programa em windows é trivial.  Apenas baixe o instalador, que é o arquivo rs-install-1.0.x.exe disponivél aqui.  Ao final da instalação, o programa geralmente é executado.  É preciso, no entanto, apontar o caminho do banco de dados na primeira vez que o programa é executado; veja como fazer na seção Banco de Dados.

Banco de Dados

Ao se usar o programa pela primeira vez, aparecerá a tela à direita informando que não foi possivél conectar-se ao banco de dados.  Isso é normal pois a configuração default é tentar conectar-se a um servidor em 'localhost', ou seja, na própria máquina.  Basta clicar em 'Cancel' que a tela abaixo aparecerá.
erro ao conectar-se
Fig. 1
configurar servidor
Fig. 2
Preencha as caixas com os seguintes valores:

  • Servidor - Endereço IP ou nome do servidor onde foi instalado o servidor Firebird com o banco de dados (veja seção Servidor).  Exemplos:
    • 192.168.128.1
    • servidor_01
  • Banco - Apelido/alias do banco Firebird ou então, o caminho completo do arquivo.  Geralmente, basta deixar o valor default.  Exemplos:
    • RS (default)
    • /var/db/firebird/rs.fdb (para Linux)
    • c:\bancos\rs.fdb (para Windows)
  • Usuário - Nome do usuário do banco que é usado para conectar-se.  Geralmente, basta deixar o valor default.  Exemplos:
    • RS
    • SYSDBA (caso não se tenha criado uma conta 'especial', veja seção Servidor)
  • Senha - Senha criada para o usuário acima.
  • Character Set - Código de caracteres usado pelo banco.  Normalmente este valor deve ser deixado em 'ISO8859_1' pois é o conjuto de caracteres que suporta todos os acentos da língua portuguesa.

Servidor

1 - Instalar o servidor FirebirdSQL

O RS é desenvolvido usando a versão 2.0 do FirebirdSQL.  Ele também pode funcionar na versão 1.5, mas isso não é bem testado.  Para mais informações sobre o processo de instalação, por favor consulte:

http://www.firebase.com.br/fb/ ou http://www.firebirdsql.org/

O RS funciona na versão "Classic" ou "Super-Server" do FirebirdSQL.  Qualquer uma pode ser baixada daqui:

http://www.firebirdsql.org/index.php?op=files&id=engine_200

2 - Criar a conta de acesso

Este é um passo opcional mais altamente recomendado.  Isso irá criar uma conta para ser usada por todas as estações que usarem o RS.  Como, de uma for ou de outra, o cliente vai ter que ter acesso a senha de uma conta (criptografada ou não), é melhor que tenham uma conta limitada, sem os poderes administrativos do SYSDBA.

Por padrão, a conta geralmente utilizada é o usuário "RS" com a senha "rs".  Isso, porém, pode ser configurado a sua vontade.  Para criar a conta no linux, as seguinte seqüência de comandos pode ser usada:

root@localhost:/tmp/rs# /opt/firebird/bin/gsec -user "SYSDBA" -password "masterkey"
GSEC> add RS -pw rs
GSEC> quit
root@localhost:/tmp/rs#

Substitua "masterkey" pela senha do seu SYSDBA caso necessário.  Caso você não tenha certeza ou não consegue conectar, verifique o arquivo /opt/firebird/SYSDBA.password - ele pode conter a sua senha correta.

Em windows, pode se usar a seguinte seqüencia:

C:\> %ProgramFiles%\Firebird_2_0\firebird\bin\gsec -user "SYSDBA" -password "masterkey"
GSEC> add RS -pw rs
GSEC> quit

3 - Instalar o banco de dados

Antes de mais nada, é recomendado que se crie um apelido (alias) para o banco RS. para criá-lo basta adicionar ao arquivo:

/opt/firebird/aliases.conf

uma linha como esta:

RS = /var/db/firebird/rs.fdb

em windows:

%ProgramFiles%\Firebird\Firebird_2_0\bin\aliases.conf

RS = C:\var\db\rs.fdb

NOTA:  O caminho/nome do arquivo (o que vem depois do "RS =") não importam se você utilizar um apelido.

NOTA 2: Se você não quiser fazer isto, por favor substitua "RS" pelo caminho/nome do arquivo completo em todas as instruções subseqüentes também como colocando-o por extenso na tela de configuração do servidor quando o cliente for conectar.

Há duas formas de se criar o banco.  A maneira recomendada é executando o script de criação, ou então a forma simplificada é simplesmente restaurando o backup.

NOTA: O character set usado em todos os exemplos é o "ISO8859_1", que comporta todos os acentos, caracters, etc da língua portuguesa em todas as plataformas.  Se você deseja usar outro, você deve alterar o script de criação e a linha de comando abaixo, e também não se pode usar o método de restauração do backup para criar o banco.  Todos os clientes também devem ser configurados para utilizarem o character set apropriado.

3a - Executando o script
root@localhost:~# /opt/firebird/bin/isql -d RS -ch ISO8859_1 -u SYSDBA -p masterkey -i rs.sql
3b - Restaurando o backup    
root@localhost:~# /opt/firebird/bin/gbak -C -V -USER SYSDBA -PAS masterkey rs.fbk localhost:RS

Configuração Inicial

Todas as telas descritas a seguir estão apenas disponivéis aos usuários com nivel de acesso '3 - Administradores'.  Inicialmente, o primeiro usuário a logar no sistema recebe este nivel; todos os usuários a serguir por padrão recebem nivel '0 - Somente Leitura', logo não têm acesso a estas telas.  Veja a seção Usuários para mais informações.

Áreas

Todos as salas cadastradas, também como todos os usuários que farão reservas devem ser alocados a uma ou mais áreas.  Usuários que apenas consultarão o sistema não precisam.  Para adcionar uma área, basta clicar no botão adcionar e uma nova linha na tabela aparecerá.  Para alterar o nome de uma área, basta clicar duas vezes.  Para remover, simplesmente clique em uma área e depois aperte o botão remover.  Todas as alteralções só serão feitas após clicar-se no botão 'OK'; caso clique no botão 'Cancelar', as alterações erão descartadas. areas window

Salas

salas Esta tela apenas mostra as salas cadastradas no sistema e a qual área elas pertencem.  Apesar do sistema ter sido desenhado para que uma sala poder pertencer a mais de uma área isso ainda não esta implementado nesta interface.  Qualquer operação de inclusão e alteração abrirá a tela abaixo.  Para excluir basta selecionar a sala desejada e apertar o botão 'Excluir'.  Todas as alteralções só serão feitas após clicar-se no botão 'OK'; caso clique no botão 'Cancelar', as alterações erão descartadas.
Os campos marcados em negrito são obrigatórios.  O campo 'andar' serve apenas como um 'lembrete'. sala

Esquemas de Cores

cores Cada usuário do sistema recebe um esquema de cores, para que quando ele reserve uma sala, a reserva em si será desenhada com o esquema de cores do usuário; assim é fácil identificar qual usupario é responsavél por qual reserva.  Nesta tela apenas se cria os esquemas, na tela de Usuários é que se associa um usuário a um esquema de cores.  Assim que um usuário é criado no sistema, o programa lhe associa á um esquema automaticamente, tentando fazer uma distribuição uniforme dos esquemas.

Para alterar um esquema, clique na caixa com a cor a ser alterada, use os controles em baixo da tela para alterar a cor e clique em 'Alterar' quando estiver terminado.

Todas as alteralções só serão feitas após clicar-se no botão 'OK'; caso clique no botão 'Cancelar', as alterações erão descartadas.

Usuários

usuários
Não há um botão para adcionar usuários, já que os usuários são cadastrados automaticamente na primeira vez que usam o programa.  Logo, para adcionar usuários, basta rodar o programa logado como o usuário (já que o programa pega o nome do usuário a partir da 'conta' do sistema operacional).  Feito isto, o usuário será cadastrado com nivél '0 - Apenas Leitura', um esquema de cores aleatório e não será associado a nenhuma área.  O primeiro usuário a logar no sistema, no entanto, receberá nivél '3 - Administrador' para que este possa cadastrar os demis.  

Após um usuário logar no sistema pela primeira vez, um 'administrador' deve então alterar o nivel de '0 - Somente Leitura' para '1' ou '2' e associar-lo a uma área.  Veja a seção Nivéis de Acesso para mais informações.

O 'Estilo' é apenas o estilo de desenho da tela que o usuário escolheu.  Apeas é mostrado aqui, só pode ser mudado pelo próprio usuário, e não muda nada do comportamento do sistema, apenas sua aparência.

Todas as alteralções só serão feitas após clicar-se no botão 'OK'; caso clique no botão 'Cancelar', as alterações erão descartadas.

Nivéis de Acesso

0 - Somente Leitura
Nivél atribuido aos usuários quando são cadastrados.  Não podem fazer nenhuma reserva, nem alterar ou excluir reservas existentes.
1 - Cria Reservas
Permite ao usuário criar reservas em salas de uma das áreas ao qual o usuário pertence; e apenas alterar ou remover reservas feita pelo próprio usuário.  Assim, o usuário não pode remover ou editar reservas feitas por outro usuário.
2 - Criar, Alterar reservas de qualquer usuário
Permite ao usuário criar reservas em salas de uma das áreas ao qual o usuário pertence; e apenas alterar ou remover reservas feita pelo próprio usuário.  Assim, o usuário não pode remover ou editar reservas feitas por outro usuário.
3 - Administrador
Permite fazer reservas em qualquer área, e alterar e exluir reservas de qualquer usuário.  Dá acesso também as telas de configuração de Salas, Usuários, et cetera.

Reservando Salas - Uso cotidiano

Janela principal.  Para adcionar uma reserva basta clicar no botão adcionar, clicar duas vezes em um espaço em branco ou então clicar com o botão direito do mouse em uma célula.
Os campos em negrito são obrigatórios.  O botão 'OK' só ficará habilitado quando todos os campos obrigatórios forem preenchidos em abas as abas.

Todas as alteralções só serão feitas após clicar-se no botão 'OK'; caso clique no botão 'Cancelar', as alterações erão descartadas.
Os campos em negrito são obrigatórios.  O botão 'OK' só ficará habilitado quando todos os campos obrigatórios forem preenchidos em abas as abas, e os horários escolhidos forem sanos (ou seja, o horário de término é maior que o horário de inicio).

Caso queria fazer uma reserva recorrente, por exemplo, reservar uma salas toda Segunda-Feira dás 11 horas até o meio-dia, clique no botão 'Reserva Recorrente' e marque os dias da semana no quadro abaixo.

Ao clicar em 'OK', o banco verificará a disponibilidade de horário da Sala.  Caso não esteja disponivél, aparecerá a tela abaixo informando o usuário:



Todas as alteralções só serão feitas após clicar-se no botão 'OK'; caso clique no botão 'Cancelar', as alterações erão descartadas.