~~ODT~~
Guia de Implantação - SIGeleição
Este guia define os passos para implantação do sistema SigEleição
Para melhor entender as funcionalidades deste sistema, é importante consultar os seguintes artefatos:
O projeto do SIGEleição é divido em 3 projetos:
- SIGEleicao: Contém o código fonte do sistema.
- SIGEleicaoDATABASE: Contém o versionamento dos scripts SQL do sistema
- SIGEleicaoDOCS: Contém documentos do SigEleição, como modelagens das suas entidades
Pré-Requisito
- Definição dos parâmetros corretamente conforme seção abaixo.
- Popular banco de dados com tabelas envolvidas.
Parâmetros do sistema
Os parâmetros utilizados no sistema estão contidos na classe br.ufrn.sigeleicao.parametros.dominio.ParametrosGerais
. A tabela abaixo descreve os parâmetros utilizados:
Código | Nome | Descrição | Exemplo de valor |
---|---|---|---|
13_1_1 | EXCESSAO_SIGELEICAO | Enviar e-mail quando ocorre alguma excessão no sigeleicao | admin@uf.br |
13_1_2 | METODO_SEGURACA_LOGIN | O método de segurança usado no login da aplicação | pode ser nenhum = 0, captcha = 1 ou pergunta de segurança = 2 |
13_1_3 | VERIFICAR_ENTROPIA_SENHA | Se ativo, esse parâmetro vai habilitar a verificação de senha facas, por exemplo, login igual a senha. Não vai deixar o usuário se logar | true/false |
13_1_4 | USAR_BASE_LOCAL_DE_PERGUNTAS_PESSOAIS | Configura se o sistema deve acessar a base local de perguntas pessoais | true/false |
13_1_5 | USAR_AUTENTICACAO_EM_DUAS_ETAPAS | Se true, o sistema vai solicitar 2 senhas do usuário. A normal dele e uma senha gerado pelo sistema e enviado por e-mail | true/false |
Papéis de Usuários
A tabela abaixo descreve os perfis envolvidos: As permissões são atribuídas no SIGAdmin através do caso de uso Implantar Permissões
Nome do papel | Funcionalidade |
---|---|
ADMINISTRADOR | Administra o Sistema, cria eleições, cadastra grupos de eleitores, cadastras cabines registradas, cadastra servidores remotos |
PRESIDENTE_ELEICAO | Responsável pela eleição. Responsável por abrir e finalizar uma eleição publicando o resultado oficial, além de ser o guardião da chave de segurança da eleição.(Papel temporário atribuído no cadastro de uma eleição pelo ADMINISTRADOR ) |
MEMBRO_COMISSAO | Define um membro da comissão eleitoral no sistema, permite apenas visualizar algumas informações sobre a eleição (Papel temporário atribuído no cadastro de uma eleição pelo ADMINISTRADOR ) |
ELEITOR | Qualquer usuário com login e senha na base de dados |
Procedimento de carga do banco de dados
O SigEleição apesar de ser um sistema independente, o seu banco de dados é um schema dentro do banco acadêmico usado pelo SIGAA.
O sua implantação é bastante fácil, basta apenas as tabelas comum.usuario
e comum.pessoa
do banco acadêmico estarem previamente populada. Nenhuma tabela do schema eleicao
precisa ser populada, todos os dados são inseridos no momento do cadastro de uma eleição.
Porém o SigEleição usa consultas SQL ao banco de dados do SIGAA para filtrar os participantes de uma eleição. Isso é o que o sistema chama de “GRUPOS DE ELEITORES”. Então, se em uma eleição precisam votar “discentes do curso X”, a tabela discente e curso precisam estar populada no SIGAA. Eleição para chefe do departamento Y, só pode votar quem for “docentes do departamento Y”, então a tabela docente e departamento precisam estar populada. E assim sucessivamente. Quanto mais o banco do SIGAA estiver populado, mais informações o administrador do SIGEleição pode usar para gerar GRUPOS DE ELEITORES.
Cada eleição tem o seu Grupo de Eleitores específicos que são definidos a partir de consultas SQLs específicas ao banco de dados do SIGAA.
Caso o banco o SIGAA não esteja sendo usado na instituição, só será possível filtrar pessoas específicas para uma eleição select id_pessoa from comum.pessoa where id_pessoa IN (123232, 232321433,…, 3232323)
. Para cada eleição só é permitido votar a pessoa cujo id foi retornado na consulta SQL do GRUPO de ELEITOR. Se o id da pessoa do usuário logado não estive entre os ids retornados a consulta SQL do GRUPOS DE ELEITORES, o voto na eleição não será permitido.
Para criação do banco de dados do SIGEleição ver os scripts SQLs versionados no projeto SIGEleicaoDATABASE
Deploy do Sistema
O SigEleição a partir da versão 2.1.0 roda isolado (com as dependências dentro do EAR do sistema). Para fazer deploy no JBOSS é preciso fazer deploy apenas do artefatos sigeleicao.ear e sharedResources.ear, conforme imagem abaixo:
Recomenda-se utilizar o JBOSS disponível do endereço: http://migre.me/sLLui
PS.: Até a 2.0.X o processo de deploy do sistema é o mesmo, fazer deploy do shareResources.ear, sigeleicao.ear e do projetos LIBS com as dependências do projeto..