- Apache 2.4 ou mais novo;
- Módulo
mod_rewrite
ativado; - Configuração
AllowOverride
definida comoAll
;
- Módulo
- PHP 7.0 ou mais novo (recomendável o uso do PHP 7.2);
- Extensão mysql_pdo;
- Extensão mbstring;
- Extensão curl;
- Extensão GD;
- MySQL 5.6.4 ou mais novo (recomendável o uso do MySQL 5.7) ou MariaDB 10.0.5 ou mais novo;
- InnoDB ativado com suporte a Full Text Indexes
- Instale o Composer de getcomposer.org;
- Acesse a pasta raiz do projeto e rode o comando
composer install
; - Copie o arquivo
common/config-sample.inc.php
paracommon/config.inc.php
; - Edite o arquivo
common/config.inc.php
com os dados apropriados. As partes mais importantes que devem ser alteradas são as relacionadas ao banco de dados (DB) e à URL base do sistema; - Baixe o arquivo gde_pacote.zip e descompacte-o;
- Importe o arquivo
gde_pacote.sql
com o comandomysql -u USUARIO -p BANCO < gde_pacote.sql
no qual USUARIO é seu usuário no MySQL e BANCO é o nome do banco de dados configurado no passo4
. Esta importação irá demorar algum tempo, então tenha paciência; - Rode o comando
vendor/bin/doctrine orm:schema-tool:update --force
para ter certeza que as tabelas estão atualizadas.
- Ative a API (https://console.developers.google.com)
- Vá para a página de credenciais.
- Nas opções da tela de consentimento OAuth colocar o nome para ser exibido.
- Nas opções de Credenciais preencher:
- Origens JavaScript autorizadas: http://localhost
- URIs de redirecionamento autorizados: http://localhost/gde/views/google-calendar.php
- Fazer download do JSON com as credenciais e colocar na pasta.
- Utilize o login
login1
- Todos os usuários possuem a senha
gde42
- Todos os dados de alunos e usuários são fictícios
- O pacote possui alguns dados dos catálogos 2007 e 2016
- Por questões de tamanho, apenas alguns cursos, modalidades, disciplinas e oferecimentos estão presentes
P: Este é o GDE "de verdade"?
R: Sim. A versão 2.5 substituiu a 2.3 no dia 22/12/2017.
P: Qual a diferença entre a versão 2.3 e a 2.5?
R: Em termos de funcionalidades: "avisos", "fóruns", "grupos" e "oportunidades" foram removidos (não eram utilizados). Em termos de backend: a versão 2.3 foi escrita entre 2009 e 2012, e contém código antigo, desatualizado, potencialmente inseguro e, sinceramente, às vezes vergonhoso. Nenhuma biblioteca ou framework foi utilizada, foi tudo feito do zero. Na versão 2.5 foi tudo reescrito para utilizar o ORM Doctrine. Além disso, a versão 2.5 suporta disciplinas com a mesma sigla e níveis diferentes, cursos com o mesmo número e níveis diferentes e oferecimentos com mais de um professor ou com turmas com mais de 2 caracteres, além de várias outras correções menores.
P: Cadê o chat?
R: O chat da forma como foi escrito consumia muitos recursos de CPU e memória do servidor, então ele não será levado para a versão 2.5, no entanto buscaremos uma alternativa mais moderna para as próximas versões.
P: Onde encontro o código dos crawlers / robôs que pegam os dados?
R: Por requisição da DAC, essa parte do código não será disponibilizada.
P: Por que isso foi feito?
R: Porque eu acredito que a comunidade de alunos (e ex-alunos) da Unicamp podem colaborar com o projeto, e levá-lo muito mais longe do que eu e meus amigos que me ajudaram somos capazes, por questões de tempo, conhecimento, ideias, etc.
P: Posso colaborar?
R: Sim, por favor! Faça fork e envie seu pull request!
P: Como posso ajudar?
R: Depende:
- Se você sabe programar em PHP, fique a vontade para corrigir um problema ou criar uma nova feature. Seu pull request será analisado com carinho!
- Se você é designer, crie um novo layout mais moderno (quem sabe, responsivo) para o GDE, ou melhore o atual, e envie seu pull request.
- Se você não se encaixa em nenhuma das opções anteriores, envie sugestões ou problemas encontrados criando uma Issue.
- Carlos Avelar por desenvolver uma integração com o Google Calendar.
- Luciano Zago por ter corrigido um erro no planejador.
- Nicolas Caous por algumas correções de bugs e por ter descoberto e reportado (incluindo PoCs) duas vulnerabilidades.