- Java 8
- SQL
- PostgreSQL a partir de 8.4 ou
- Oracle XE 11g
- Solr
Instruções completas em:
https://registry.hub.docker.com/u/alexeiled/docker-oracle-xe-11g/
Modo rápido:
sudo docker run -d -p 49160:22 -p 49161:1521 -p 49162:8080 alexeiled/docker-oracle-xe-11g
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
Baixar a última versão: "Other Platforms" Obs: Tem que aceitar a licença e logar no sistema para poder efetuar o download do instalador.
Instalar do diretório /opt:
sudo unzip sqldeveloper-*-no-jre.zip -d /opt/
sudo chmod +x /opt/sqldeveloper/sqldeveloper.sh
sudo ln -s /opt/sqldeveloper/sqldeveloper.sh /usr/bin/sqldeveloper
sudo chmod +x /opt/sqldeveloper/sqldeveloper/bin/sqldeveloper
Editar /opt/sqldeveloper/sqldeveloper.sh:
#!/bin/bash
cd /opt/sqldeveloper/sqldeveloper/bin
./sqldeveloper "$@"
Editar o product.conf e definir o JavaHome: Ex:
sudo vim ~/.sqldeveloper/4.0.0/product.conf
SetJavaHome /usr/lib/jvm/java-7-oracle
Rodar:
sudo sqldeveloper
De dentro do sqldeveloper, conecte na base xe no localhost na porta 49161 com username system e senha oracle.
Importe, nessa ordem, os arquivos:
- schema.sql
- data.sql
- oracle_schema.sql
Se o sistema falhar com a exceção java.sql.SQLException: ORA-01653: unable to extend table SYSTEM.DOCUMENTOS by 1024 in tablespace SYSTEM provavelmente está faltando espaço no banco de dados.
Para listar as bases por ordem de ocupação:
select * from dba_tablespace_usage_metrics order by used_percent desc;
Se a base SYSTEM aparecer com quase 100%, aumente o tamanho dela, por exemplo:
ALTER DATABASE
DATAFILE '/u01/app/oracle/oradata/XE/system.dbf'
RESIZE 50000M
É preciso criar o usuário, importar o esquema da base e popular o banco de dados com os dados iniciais, e fazer mesmo com a base de teste:
cd src/
sh create.sh
Isso irá criar uma base de dados federacao com senha feb@RNP e um usuário feb.
IMPORTANTE! MUDE A SENHA USAR A INSTALAÇÃO PARA QUALQUER COISA ALÉM DE DESENVOLVIMENTO
A base de dados será escolhida da seguinte forma:
- Se houver uma variavel de ambiente FEB_DATABASE_TYPE o feb vai utilizar as informações das variáveis de ambiente para tentar conectar na base e ignorar outras.
- Se não houve variáveis de ambiente, mas houver um arquivo /etc/feb/feb.properties o Feb vai utilizar informações deste arquivo.
- Se não houver nem variáveis de ambiente nem o arquivo, o Feb vai tentar se conectar na base padrão.
FEB_DATABASE_TYPE - tipo da base: "Oracle" ou "Postgres" FEB_DATABASE_HOST - host da base FEB_DATABASE_PORT - porta da base FEB_DATABASE_DATABASE - nome da base FEB_DATABASE_USERNAME - nome de usuário para se conectar FEB_DATABASE_PASSWORD - senha para se conectar
Os arquivos da coleção FEB, com o Schema correto, estão em src/solr.
Se você estiver desenvolvendo, o mais fácil é rodar o Solr embedded incluido com o FEB, que já vem configurado corretamente:
cd src/solr
java -jar start.jar
Você pode configurar o Solr pelo arquivo de configuração ou com a veriável de ambiente FEB_SOLR_URL, que deverá conter uma url de acesso ao Solr, por exemplo, http://localhost:8983/solr/
Para deploy, o melhor é usar o pacote solr.
Caso você tenha instalado o SOLR no tomcat com o instalador (.deb) da Cognitiva, basta copiar o diretório:
sudo cp -R -f src/solr/feb /var/lib/tomcat7/solr/
sudo chown tomcat7:tomcat7 /var/lib/tomcat7/solr/ -R
Esse passo não é estritamente necessário para começar a desenvolver.
sudo mkdir /var/log/feb/
sudo chown tomcat7 /var/log/feb/
Você também pode especificar o diretório dos logs do FEB com a variável de ambiente FEB_LOG_HOME ou no arquivo feb.properties.
Você pode controlar as estatísticas de uso do sistema com o Google analytics, para isso é necessário definir o id no Google Analytics na variável de ambiente FEB_ANALYTICS_ID ou no arquivo feb.properties com a variável Analytics.id.
Exemplo do feb.properties
Analytics.id=UA-4253018-30
Se não for definido o Analytics id na variável de ambiente e nem no feb.properties, nenhum script do Google Analytics será inserido no código.
mvn spring-boot:run
Acesse o feb em http://localhost:8080. A senha padrão de administrador é teste.
Entre na ferramenta administrativa e adicione um novo repositório. Para o LUME os dados são:
Nome: Cognix Descrição: Repositório Cognix
URL: http://feb.ufrgs.br/repositorio/oai Comunidades: (vazio) Padrão metadados: OBAA Mapeamento: OBAA Padrão MetadataPrefix e Namespace: obaa Periodicidade: 1
Após adicionar, rode a atualização manual.
mvn verify
REGRA 1: NÃO FAÇA!
REGRA 2: Se necessário for * garantir que o arquivo src/sql/create.sh gere a base necessária * atualizar os arquivos debian/postinst para atualizar a base em caso de upgrade via instalador, caso possível * Manter o schema.sql e o postgres_schema.sql sincronizados. * obrigatório fazer um BUMP da versão minor ou major.
Edite o arquivo src/debian/changelog e adicione um log com as mudanças realizadas nesta versão.
Certifique-se de que atualizou a versão do FEB no pom.xml e crie um tag remoto no repositoria marcando essa versão exata.
IMPORTANTE! Uma lançada uma versão para clientes, seus arquivos não devem mudar.
Para criar o tag no git, execute:
git tag -a v1.4 -m 'RESUMO DA RELEASE'
git push origin --tags
Para gerar os debs você pode ir passo a passo:
groovy CreateDeb.groovy
sh create-deb.sh
sh deploy.sh
ou executar
sh publish\_ppa.sh
O script CreateDeb.groovy contém código que gera os scripts sh e arquivos de configuração a partir de arquivos .template. Olhe a variável binding no script groovy ou qualquer arquivo template para ver quais variáveis estão disponíveis.
Altere os arquivos de dentro do diretório src/debian ou o src/Makefile