|
|
# Base de Dados
|
|
|
|
|
|
Para Criação de uma base de dados:
|
|
|
|
|
|
* Instalação do DSpace:
|
|
|
https://docs.google.com/document/d/1t0sXAQvDjb1jPX_N_GOcp_4xJcifjG72VoBz9M8_rZ4/edit?usp=sharing
|
|
|
|
|
|
* Importação dos itens extraídos dos portais para o DSpace:
|
|
|
|
|
|
1. Baixe o projeto charlotte-loader (https://gitlab.c3sl.ufpr.br/portalmec/charlotte-loader) na máquina onde os itens dos outros portais foram salvos
|
|
|
2. Dentro do diretório do charlotte-loader execute o comando:
|
|
|
<pre>
|
|
|
python loader.py -c COLLECTION BASE_DIR
|
|
|
</pre>
|
|
|
Onde COLLECTION se refere ao id da coleção do DSpace onde os itens devem ser inseridos e BASE_DIR é o diretório onde os itens estão salvos. Ex.: /home/user/nobackup/repos_universal/pp/
|
|
|
|
|
|
|
|
|
* Instalação do OrientDB:
|
|
|
https://docs.google.com/document/d/1dF2yJHsc7E-tKmscvNcI47teOOfdOm-FazJ3-nqqTqI/edit?usp=sharing
|
|
|
|
|
|
* Criação de uma base de dados no OrientDB:
|
|
|
|
|
|
1. Abra o console do OrientDB:
|
|
|
<pre>
|
|
|
orientdb-community-x.x.x/bin/console.sh
|
|
|
</pre>
|
|
|
2. Crie uma nova base de dados:
|
|
|
<pre>
|
|
|
CREATE DATABASE remote:localhost/<NOME_BD> root <SENHA> plocal
|
|
|
</pre>
|
|
|
|
|
|
* Criação das tabelas necessárias para executar o PortalMEC
|
|
|
|
|
|
1. Entre no diretório do aplicativo PortalMEC e atualize o código usando o Git - considerando que o mesmo já esteja instalado.
|
|
|
2. Execute os comando abaixo para criar as tabelas:
|
|
|
<pre>
|
|
|
rake db:migrate
|
|
|
rake orientdb:migrate
|
|
|
</pre>
|
|
|
|
|
|
* Importação dos dados do DSpace para o OrientDB:
|
|
|
|
|
|
1. Entre no diretório do aplicativo PortalMEC e atualize o código usando o Git - considerando que o mesmo já esteja instalado.
|
|
|
2. Configure o arquivo "configs/dspace.yml" com as informações do DSpace que contém os dados que serão importados.
|
|
|
3. Configure o arquivo "configs/orientdb.yml" com as informações do servidor e do banco de dados recém-criado.
|
|
|
4. Execute o comando abaixo para importar os itens.
|
|
|
<pre>
|
|
|
rake dspace:import
|
|
|
</pre>
|
|
|
|
|
|
## Tarefas complementares:
|
|
|
|
|
|
* Criação dos thumbnails dos itens:
|
|
|
<pre>
|
|
|
rake thumbnails:generate
|
|
|
</pre>
|
|
|
|
|
|
* Criação das relações item <-> atributos e item <-> assuntos:
|
|
|
<pre>
|
|
|
rake orientdb:create_learning_object_relations
|
|
|
</pre>
|
|
|
|
|
|
---
|
|
|
|
|
|
---
|
|
|
|
|
|
# Importação de uma base de dados do OrientDB:
|
|
|
|
|
|
1. Baixe e extraia a base de dados que deseja importar (Mais atual: http://www.inf.ufpr.br/bnzanette/PortalMEC_2015-09-14.gz)
|
|
|
Obs.: O arquivo contendo a base de dados deve ter a extensão ".json". Caso não tenha, adicione a extensão manualmente.
|
|
|
|
|
|
2. Abra o console do OrientDB, executando o comando:
|
|
|
<pre>orientdb-community-x.x.x/bin/console.sh</pre>
|
|
|
|
|
|
3. Crie um novo banco de dados:
|
|
|
<pre>
|
|
|
CREATE DATABASE remote:localhost/<NOME_BD> root <SENHA> plocal
|
|
|
</pre>
|
|
|
Obs.: A senha pode ser encontrada no fim do arquivo "orientdb-community-x.x.x/config/orientdb-server-config.xml", dentro da tag "users"
|
|
|
|
|
|
4. Importe a base de dados:
|
|
|
<pre>
|
|
|
IMPORT DATABASE <CAMINHO_PARA_ARQUIVO>
|
|
|
</pre>
|
|
|
|
|
|
---
|
|
|
|
|
|
---
|
|
|
|
|
|
# Ativar o suporte ao motor de busca LUCENE, com analisador PT-Br:
|
|
|
|
|
|
1. Copie o arquivo "lucene-analyzers-2.9.0.jar" (em anexo) para o diretório "orientdb-community-x.x.x/plugins/"
|
|
|
2. Crie o index necessário para a busca, utilizando o comando:
|
|
|
<pre>
|
|
|
CREATE INDEX learningobject_search ON LearningObject (name) FULLTEXT ENGINE LUCENE METADATA {"analyzer":"org.apache.lucene.analysis.br.BrazilianAnalyzer"}
|
|
|
</pre>
|
|
|
|
|
|
---
|
|
|
|
|
|
---
|
|
|
|
|
|
# Executar o Sidekiq:
|
|
|
|
|
|
1. Instale o servidor Redis:
|
|
|
<pre>
|
|
|
apt-get install redis-server
|
|
|
</pre>
|
|
|
|
|
|
2. Verifique se o servidor Redis está rodando:
|
|
|
<pre>
|
|
|
service redis-server status
|
|
|
</pre>
|
|
|
|
|
|
3. No diretório do aplicativo, execute o comando abaixo, onde TOTAL_WORKERS é a quantidade de workers que será criado. Por padrão são 25.
|
|
|
<pre>
|
|
|
bundle exec sikdekiq -c TOTAL_WORKERS -d -L log/sidekiq.log
|
|
|
</pre>
|
|
|
Obs.: Retire a opção "-d" caso não queira que o sidekiq rode como um daemon (em background) |
|
|
\ No newline at end of file |