Instalação
Instalação
Método Docker
Como requisito, basta instalar o Docker e o docker-compose.
Neste momento, a stack já deve estar disponível para acesso via navegador.
Acesse o endereço http://localhost:8080
Use as seguintes credenciais para o usuário administrador padrão:
E-mail: esl@esl.org
Senha: 123456
Método Convencional
Programas necessários:
PostgreSQL;
Apache HTTP Server:
sudo apt-get install apache2
;php5:
sudo apt-get install php5 php5-pgsql libapache2-mod-php5
;extensão intl:
sudo apt-get install php5-intl
;extensão GD:
sudo apt-get install php5-gd
;
Zend Framework;
git (opcional);
Configuração
Base de dados
Schema da Base de dados
A instalação da base de dados é feita pelo arquivo ddl-schema.sql
. Abra o arquivo e defina alguns parâmetros:
Encoding do servidor
ou
Permissão ao usuário do banco de dados
Modifique postgres
para seu usuário.
Note que o script possui START TRANSACTION;
e ROLLBACK;
. Faça um teste inicial e execute o script para se certificar que tudo irá correr bem. Por fim substitua o comando ROLLBACK;
por COMMIT;
e execute novamente o script.
Observação:
Para PostgreSQL 9.2 para trás comentar a linha 12:
Para isso basta colocar --
no início, dessa forma:
Esse comando faz parte das versões 9.3 para frente, mas não prejudica o uso de versões mais antigas.
Dados iniciais do sistema
A inserção dos dados iniciais pode ser encontrada em ddl-dados-iniciais.sql
. Modifique as tabelas estado, instituicao, municipio e sala
de acordo com sua necessidade.
obs.: para base de dados que usam codificação LATIN1
utilize o script ddl-dados-iniciais-latin1.sql
.
As outras tabelas já estão devidamente preparadas.
Teste a execução de script e remova START TRANSACTION;
e ROLLBACK;
.
Criando um novo encontro
O primeiro passo para criar um encontro, e adicionar um registro na tabela encontro
da seguinte forma:
obs.: a coluna ativo
será removida em breve.
Depois verifique o id_encontro
gerado e crie dois registros na tabela mensagem_email
, um para cada mensagem de tipo_mensagem_email
:
obs.: Note que a mensagem
traz elementos dentro de {}
. Eles são utilizados no PHP para substiruir valores reais, tornando a mensagem dinâmica.
Vale lembrar que a mensagem pode ser escrita em HTML. Coloque apenas tags referentes ao body
.
Outro ponto importante é configurar o enconding ao inserir um encontro e suas mensagens. Para isso adicione SET client_encoding = 'LATIN1';
no início do insert.
Da mesma forma crie a mensagem de recuperação de senha:
Por ser um exemplo, as mensagens ficaram uma muito parecida com a outra. Você deve adaptar de acordo com seu encontro.
obs.: esse passo serve somente para o primeiro encontro. Os demais podem ser criados a partir do SiGE em /adim/encontro/criar/
.
SiGE
Baixando SiGE do Github para desenvolvimento
Para realizar clone da última versão do SiGE:
obs.: é necessário instalar o git. No Ubuntu podemos instalar através do comando:
obs.: instale a partir do repositório somente se você está interessado em contribuir, estudar o código ou apenas testando.
Baixando versão estável SiGE
Procure pela versão mais atual do SiGE em:
https://github.com/comsolid/sige/releases
Renomeie a pasta para sige
caso necessário.
Instalando Dependências
A versão utilizada pelo SiGE é latest.
A instalação é do Zend é feita através do Composer.
Configurando VirtualHost
Para simular um host no mundo real que utiliza Zend precisamos criar um VirtualHost no apache. Com o Apache devidamente instalado, crie um arquivo em /etc/apache2/sites-enable/
chamado sige
. Nele copie o seguinte conteúdo, modificando conforme necessidade:
Adicionaremos o ServerName
ao /etc/hosts
:
Obs.: este trecho deve ser feito apenas em ambiente de desenvolvimento.
Habilite o mod rewrite
do apache: $ sudo a2enmod rewrite
.
Reinicie o Apache: $ sudo service apache2 restart
.
Instalar o Zend no SiGE
A instalação é bem simples, apenas crie um link simbólico dentro do diretório do projeto (daqui para frente chamadado de ${SiGE}
) em ${SIGE}/library
:
Observação:
Caso você não tenha permissão para instalar bibliotecas no sistema, por exemplo se você contratou um serviço externo, você pode copiar o Zend diretamente na pasta library
do SiGE. Faça:
Caso use FTP suba o diretório para o mesmo local.
TODO: explicar instalação mpdf http://mpdf1.com/manual/index.php?tid=509
Permitir escrita para HTMLPurifier e Captcha
É necessário dar permissão total a dois diretórios, faça:
Configurar SiGE para ambiente de produção
Mude SetEnv APPLICATION_ENV development
para SetEnv APPLICATION_ENV production
.
Configurar conexão com base de dados
Com o projeto configurado vamos editar os parâmetros de conexão com o PostgreSQL. Dentro do diretório do projeto abra o arquivo ${SiGE}/application/configs/application.ini
, copie os dados para a seção [production]
(cole abaixo de autoloaderNamespaces[] = "Sige"
) e edite os parâmetros abaixo:
Configurar SMTP para envio de e-mail
Temos também que configurar o envio de e-mail para validar participantes, recuperação de senhas, etc. Ainda no arquivo ${SiGE}/application/configs/application.ini
, copie o trecho a seguir e cole logo abaixo dos dados da conexão com o banco. Edite o trecho:
obs.: para a linha resources.mail.transport.port
:
587 is the Outgoing server (SMTP) port for IMAP. It uses a TLS encryption connection.
587 é a porta de Saída de serviço (SMTP) para IMAP. Ela usa conexão TLS criptografada.
465 is the Outgoing server (SMTP) port for POP. It uses an SSL encryption connection.
465 é a porta de Saída de serviço (SMTP) para POP. Ela usa conexão SSL criptografada.
Mais detalhes em Zend_Mail.
Configurar Encontro
Após criar um encontro no banco de dados, temos um id_encontro
. No arquivo ${SiGE}/application/configs/application.ini
edite a linha:
Observação:
Mude o valor a cada novo encontro.
Crie o primeiro usuário administrador
Abra o SiGE no navegador e crie um usuário. Se tudo der certo um e-mail com uma senha padrão foi enviado para você. Tente fazer um login.
No banco de dados, na tebela pessoa
, modifique a coluna administrador
para true
.
Tradução (i18n)
Para traduzir as mensagens do SiGE você deve editar o arquivo ${SiGE}/application/Bootstrap.php
. Na função _initTranslate
edite a linha:
Verifique as traduções disponíveis em ${SiGE}/application/langs
. Coloque em $locale
o mesmo nome do diretório da sua língua padrão.
Para traduzir as mensagens que estão nos arquivos Javascript abra o arquivo ${SiGE}/application/layouts/scripts/twbs3.phtml
.
Procure a linha:
e mude para a língua desejada. As opções estão em ${SiGE}/public/js/jed/locale
.
Certificados
Os arquivos relativos aos certificados, participante e palestrante, ficam localizados em ${SiGE}/public/img/certificados/
. Lá teremos um diretório default/
que contém arquivos iniciais para que um certificado possa ser gerado sem nenhuma configuração.
Para criar certificados para um determinado encontro devemos criar um diretório em ${SiGE}/public/img/certificados/
com o id_encontro
do encontro. Por exemplo, se id_encontro
for 1, criaremos o diretório ${SiGE}/public/img/certificados/1/
.
Utilize os arquivos modelo.svg
e assinatura-modelo.svg
dentro de ${SiGE}/public/img/certificados/default/
como modelos para a criação de seus certificados. Eles possuem as marcações e os tamanhos específicos. Os tamanhos são:
Arquivo Tamanho
modelo.svg 1052x744 (mesmo tamanho de uma folha A4 paisagem) assinatura-modelo.svg 250x140
obs.: o arquivo modelo.svg
possui camadas para que ao trabalhar em cima do molde você não se atrapalhe com outros objetos. Usando Inkscape acesse as camadas com o comando Shift + Ctrl + L.
Após finalização do modelo, exporte o arquivo para JPG. Como o Inkscape não exporta diretamente para essa extensão, utilize o GIMP para essa tarefa.
O certificado do SiGE suporta até três assinaturas. Para isso você deve exportar o arquivo de assinatura da seguinte forma: assinatura-1.png
- para que a assinatura apareça a esquerda do certificado, assinatura-2.png
- para que a assinatura apareça no centro e assinatura-3.png
- para que apareça a direita.
As assinaturas são opcionais e podem ser usadas da maneira que você deseja. Por exemplo, se você possui um certificado que tenha algum detalhes no centro você pode optar por criar apenas as assinaturas assinatura-1.png
e assinatura-3.png
.
obs.: Note que o arquivo de assinaturas possui a extensão PNG. Por ser uma imagem pequena e que necessita de alpha, optamos por usá-la.
\newpage
Abaixo uma simulação da árvore de diretórios ${SiGE}/public/img/certificados/
:
Dados do evento
A página inicial contém os dados do evento. Para modificar os dados basta editar o arquivo ${SiGE}/public/js/index/index.js
.
Nesse arquivo temos um objeto chamado conference
, no qual você vai descrever seu encontro.
Comece editando o nome curto do encontro, juntamente com o nome completo, por exemplo:
Contagem Regressiva
Para modficar a data e os dados referentes a contagem regressiva que aparece na página inicial do SiGE, modifique os atributos starts_at
e ends_at
, por exemplo:
obs.: lembrando que em Javascript os meses vão de 0 a 11.
Fonte: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
Características do encontro
Defina as características ou features do seu encontro, por exemplo:
O atributo columns
pode ter valor 2
ou 3
. Você pode criar quantas features
quiser adicionando ao atributo list
.
É recomendado que você crie no máximo 6
features, para que não polua muito a página.
Os ícones são do toolkit FontAwesome. Acesse o link Icons e veja as opções.
Mapa
Modifique as coordenadas do local onde acontecerá seu encontro, por exemplo:
Obs.: Existem algumas políticas de uso referentes ao OpenStreetMap (api usada para mostrar o mapa). Para um bom uso da api:
Use somente
User-Agent
válidos;Não envie cabeçalhos
no-cache
("Cache-Control: no-cache", "Pragma: no-cache" etc);Faça cache do
Tile
(Tile
é a imagem do mapa obitida através da api, como o local não deve mudar, esse recurso deve ficar em cache);No máximo são usadas duas threads de download.
Browsers modernos com a configuração padrão geralmente passam por todas as especificações acima.
Referência:
Redes Sociais
A última página contém os links para as redes sociais do seu encontro. Edite de acordo com o exemplo abaixo:
Os botões são gerados usando o Social Buttons 3, utilize os nomes oferecidos pela api.
Por que as configurações em JS e não no banco de dados?
Você pode estar se perguntado isso e a resposta é:
Essas configurações são feitas apenas uma vez, e nós da COMSOLiD achamos que seria trabalhoso para o servidor ter que carregar essas informações do banco de dados cada vez que a página fosse acessada.
No arquivo ${SiGE}/application/configs/application.ini
altere as linhas:
Layout do Sistema
Por usar o Twitter Bootstrap 3, fica mais fácil mudar o tema, ou até mesmo criar um.
O SiGE suporta por padrão 3 temas:
Outros temas podem ser encontrados em Bootswatch.
Para editar o tema edite o arquivo ${SiGE}/application/layouts/twbs3.phtml
, procure pela linha:
e mude default
para lumen
ou darkly
ou ainda um tema que você tenha baixado.
Os temas devem ficar em ${SiGE}/lib/css/bootstrap/
.
Banner do Sistema
Para alterar o banner geral basta substituir o arquivo ${SiGE}/public/imagens/layout/topo_sige.png
. As dimensões são: 962x135.
Versão Móvel
Edite o arquivo application/layouts/scripts/mobile.phtml
:
Linha 44: <h1>COMSOLiD <?=date('Y') ?></h1>
Last updated
Was this helpful?