|
|
# Base de Dados
|
|
|
|
|
|
Para Criação de uma base de dados
|
|
|
A base de dados do projeto é o postgresql-10, portanto é necessário ter ele instalado para poder prosseguir.
|
|
|
|
|
|
* Instalação do DSpace: [Dspace Installation](https://gitlab.c3sl.ufpr.br/portalmec/portalmec/wikis/dspace-installation)
|
|
|
|
|
|
|
|
|
* Importação dos itens extraídos dos portais para o DSpace:
|
|
|
|
|
|
1. Para que o script funcione, o DSpace deve conter os seguintes metadados: dc.location.country, dc.subject.keyword, dc.audience.mediator, dc.subject.category
|
|
|
|
|
|
2. Baixe o projeto charlotte-loader (https://gitlab.c3sl.ufpr.br/portalmec/charlotte-loader) na máquina onde os itens dos outros portais foram salvos
|
|
|
|
|
|
3. Configure o arquivo dspace_client.py com a URL do DSpace e o arquivo loader.py com as informações do usuário do DSpace.
|
|
|
|
|
|
4. Dentro do diretório do charlotte-loader execute o comando
|
|
|
Para criar o usuário no Postgres execute os seguintes comandos:
|
|
|
```bash
|
|
|
$ python loader.py -l [LOG] -c [COLLECTION] [BASE_DIR]
|
|
|
```
|
|
|
LOG = arquivo onde deve ser salvo o log da execução do script. COLLECTION = id da coleção do DSpace onde os itens devem ser inseridos. BASE_DIR = diretório onde os itens estão salvos.
|
|
|
|
|
|
* Instalação do OrientDB: [OrientDB Installation](https://gitlab.c3sl.ufpr.br/portalmec/portalmec/wikis/orientdb-installation)
|
|
|
$ sudo su postgres
|
|
|
$ createuser -h localhost -U postgres [USUARIO_BD]
|
|
|
```
|
|
|
|
|
|
* Criação de uma base de dados no OrientDB:
|
|
|
Para executar os comandos acima é necessário a senha do usuário “postgres”. Caso não saiba qual é a senha, execute os comandos abaixo para reconfigurar a senha.
|
|
|
|
|
|
1. Abra o console do OrientDB:
|
|
|
```bash
|
|
|
$ sudo orientdb
|
|
|
```
|
|
|
$ sudo passwd postgres
|
|
|
$ sudo su postgres
|
|
|
$ psql -c "ALTER USER postgres WITH PASSWORD '[SENHA]'" -d template1
|
|
|
|
|
|
2. Crie uma nova base de dados:
|
|
|
```bash
|
|
|
CREATE DATABASE remote:localhost/[NOME_BD] root [SENHA] plocal
|
|
|
```
|
|
|
|
|
|
* 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. Configure o arquivo "configs/orientdb.yml" com as informações do servidor e da base de dados recém-criada.
|
|
|
|
|
|
3. Execute os comando abaixo para criar as tabelas:
|
|
|
* Para remover um usuário, basta utilizar os comandos:
|
|
|
```bash
|
|
|
rake db:migrate
|
|
|
rake orientdb:migrate
|
|
|
$ dropuser -h localhost -U postgres [USUARIO_BD]
|
|
|
```
|
|
|
---
|
|
|
Configuração e instalação do DSpace
|
|
|
---
|
|
|
|
|
|
* 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.
|
|
|
* Instalação do DSpace: [Dspace Installation](https://gitlab.c3sl.ufpr.br/portalmec/portalmec/wikis/dspace-installation)
|
|
|
|
|
|
3. Configure o arquivo "configs/orientdb.yml" com as informações da base de dados do OrientDB.
|
|
|
|
|
|
4. Execute o comando abaixo para importar os itens:
|
|
|
```bash
|
|
|
rake dspace:import
|
|
|
```
|
|
|
|
|
|
* Criação das relações item <-> atributos e item <-> assuntos no OrientDB:
|
|
|
# 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. Configure o arquivo "configs/orientdb.yml" com as informações da base de dados do OrientDB.
|
|
|
2. Configure o arquivo "configs/database.yml" com as informações do usuário e da base de dados recém-criada no postgres.
|
|
|
|
|
|
3. Execute o comando abaixo para criar as relações:
|
|
|
3. Execute os comando abaixo para criar as tabelas:
|
|
|
```bash
|
|
|
rake orientdb:create_learning_object_relations
|
|
|
$ rake db:create
|
|
|
$ rake db:migrate
|
|
|
$ rake db:migrate
|
|
|
```
|
|
|
|
|
|
* Criação dos thumbnails dos itens:
|
|
|
|
|
|
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/orientdb.yml" com as informações da base de dados do OrientDB.
|
|
|
|
|
|
3. Execute o comando abaixo para criar os thumbnails:
|
|
|
Caso seja necessário apagar o banco de dados criado, basta rodar o comando:
|
|
|
```bash
|
|
|
rake thumbnails:generate
|
|
|
$ rake db:drop
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
# Importação de uma base de dados do OrientDB:
|
|
|
|
|
|
1. Baixe e extraia a base de dados que deseja importar (atualmente na mecdb1 em DB -> Export)
|
|
|
|
|
|
2. Na pasta do OrientDB, edite o arquivo bin/console.sh. Adicione `-Dstorage.useWAL=false` em `ORIENTDB_SETTINGS`.
|
|
|
# Criação dos thumbnails dos itens:
|
|
|
|
|
|
3. Certifique-se que o servidor do OrientDB **NÃO** esteja rodando.
|
|
|
|
|
|
4. Abra o console do OrientDB, executando o comando:
|
|
|
```bash
|
|
|
orientdb-community-x.x.x/bin/console.sh
|
|
|
```
|
|
|
1. Entre no diretório do aplicativo PortalMEC e atualize o código usando o Git - considerando que o mesmo já esteja instalado.
|
|
|
|
|
|
5. Crie um novo banco de dados:
|
|
|
2. Execute o comando abaixo para criar os thumbnails:
|
|
|
```bash
|
|
|
CREATE DATABASE plocal:../databases/[NOME_BD] root [SENHA]
|
|
|
$ rake thumbnails:generate
|
|
|
```
|
|
|
Obs.: A senha pode ser encontrada no fim do arquivo "orientdb-community-x.x.x/config/orientdb-server-config.xml", dentro da tag "users"
|
|
|
|
|
|
6. Importe a base de dados:
|
|
|
```bash
|
|
|
IMPORT DATABASE [CAMINHO_PARA_ARQUIVO]
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
# 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:
|
|
|
```bash
|
|
|
CREATE INDEX LearningObject.name ON LearningObject (name) FULLTEXT ENGINE LUCENE METADATA {"analyzer":"org.apache.lucene.analysis.br.BrazilianAnalyzer"}
|
|
|
CREATE INDEX LearningObject.description ON LearningObject (description) FULLTEXT ENGINE LUCENE METADATA {"analyzer":"org.apache.lucene.analysis.br.BrazilianAnalyzer"}
|
|
|
CREATE INDEX LearningObject.author ON LearningObject (author) FULLTEXT ENGINE LUCENE METADATA {"analyzer":"org.apache.lucene.analysis.br.BrazilianAnalyzer"}
|
|
|
CREATE INDEX Collection.name ON Collection (name) FULLTEXT ENGINE LUCENE METADATA {"analyzer":"org.apache.lucene.analysis.br.BrazilianAnalyzer"}
|
|
|
CREATE INDEX Collection.description ON Collection (description) FULLTEXT ENGINE LUCENE METADATA {"analyzer":"org.apache.lucene.analysis.br.BrazilianAnalyzer"}
|
|
|
CREATE INDEX User.name ON User (name) FULLTEXT ENGINE LUCENE METADATA {"analyzer":"org.apache.lucene.analysis.br.BrazilianAnalyzer"}
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
... | ... | @@ -128,16 +64,16 @@ CREATE INDEX User.name ON User (name) FULLTEXT ENGINE LUCENE METADATA {"analyzer |
|
|
|
|
|
1. Instale o servidor Redis:
|
|
|
```bash
|
|
|
apt-get install redis-server
|
|
|
$ apt-get install redis-server
|
|
|
```
|
|
|
|
|
|
2. Verifique se o servidor Redis está rodando:
|
|
|
```bash
|
|
|
service redis-server status
|
|
|
$ service redis-server status
|
|
|
```
|
|
|
|
|
|
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.
|
|
|
```bash
|
|
|
bundle exec sidekiq -c TOTAL_WORKERS -d -L log/sidekiq.log
|
|
|
$ bundle exec sidekiq -c TOTAL_WORKERS -d -L log/sidekiq.log
|
|
|
```
|
|
|
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 |