Skip to content

Commit

Permalink
Merge pull request #8 from joffilyfe/master
Browse files Browse the repository at this point in the history
Atualiza README e inicia pasta de documentação
  • Loading branch information
Joffily F authored Aug 21, 2019
2 parents 0b69de3 + 870c6b3 commit 1405432
Show file tree
Hide file tree
Showing 5 changed files with 128 additions and 71 deletions.
71 changes: 71 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# DOI Manager

É uma ferramenta desenvolvida para automatizar os registros de DOI pelas coleções que adotam a métodologia SciELO. Por meio do DOI Manager é possível gerenciar novos depósitos, re-depositar, contabilizar custos e buscar informações sobre sucesso e falha de depósitos passados.

## Documentação

Para mais informações sobre a ferramenta acesse o [índice da documentação](docs/README.md).

## Métodos de instalação

Os tópicos a seguir cobrem os requisitos básicos para a instalação da aplicação.

### Variáveis de ambiente

Configurar as variáveis de ambiente é um pré requisito para utilizar o DOI Manager. Os dados de configuração podem variar de acordo com o tipo de instalação, ambiente utilizado, sistema operacional, etc. Consulte a pessoa responsável pelo ambiente de `deploy` para obter mais detalhes.

As seguintes variáveis devem ser configuradas:

- `ARTICLEMETA_ADMINTOKEN` - Token utilizado para conectar ao ArticleMeta;
- `ARTICLEMETA_THRIFTSERVER` - Endereço do servidor thrift do ArticleMeta;
- `COLLECTION_ACRONYM` - Acrônimo da coleção em que o DOI Manager irá rodar;
- `CROSSREF_API_PASSWORD` - Senha da API do [Crossref](https://github.com/CrossRef/rest-api-doc)
- `CROSSREF_API_USER` - Usuário da API do Crossref;
- `CROSSREF_DEPOSITOR_EMAIL` - E-mail utilizado pelo depositor do DOI no Crossref;
- `CROSSREF_DEPOSITOR_NAME` - Nome utilizado pelo depositor do DOI no Crossref;
- `CROSSREF_PREFIX` - Prefixo utilizado pelo depositor do DOI no Crossref (ex: a SciELO utiliza o `10.1590`);
- `SQL_ENGINE` - URI utilizada para conectar ao Banco de dados (PostgreSQL) (ex: `postgresql://usuario:senha@db:5432/banco_de_dados`);
- `LOGGING_LEVEL` - Nível de log utilizado pela aplicação;

### Instalação direta

Para realizar uma instalação direta, sem auxílio de containers, deve-se atentar para os seguintes pré requisitos:

- Python **3.5.2**
- Libxml2 dev
- PostgreSQL [**9.5**](https://hub.docker.com/r/scieloorg/inbox_postgres)
- Celery **4.2.1**
- Redis >= **4.0** <= **5.0**
- Musl dev

Faça o download da aplicação, desempacote o código e execute o comando:

```shell
pip install -r requirements.txt
```

Faça uma cópia dos arquivos de inicialização e configure as variáveis necessárias ao seu ambiente:

```shell
cp production.ini-TEMPLATE config.ini
cp alembic.ini-TEMPLATE alembic.ini
```

### Instalação via imagem Docker

É possível usar o `docker-compose` para facilitar a instalação do ambiente via Docker, utilize o comando:

```shell
docker-compose up
```

O build das imagens será realizado e o ambiente deve ser inicialiado de acordo com o processo definido no arquivo `docker-compose.yml`.


## Métodos de operação

O DOI Manager **não é** auto suficiente ao depositar os registros DOI, é necessário a intervenção humana para inicializar o processo de registro. Após instalação do DOI Manager o Comando `processing_export_doi` estará disponível a partir da linha de comando, para mais opções execute o comando `processing_export_doi --help`.

Ao configurar o ambiente de `deploy` da aplicação é recomendável que se configure agendadores de execução para o comando `processing_export_doi`.

**ATENÇÃO** :warning: O DOI Manager é dependente dos dados vindos do [`ArticleMeta`](https://github.com/scieloorg/articles_meta/), a execução do comando `processing_export_doi` só deverá acontecer após o `ArticleMeta` estar **ATUALIZADO**. Para mais detalhes sobre *datas e horários de atualização* consulte a pessoa responsável pela infraestrutura.
70 changes: 0 additions & 70 deletions README.rst

This file was deleted.

3 changes: 3 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Índice da documentação

* [Módulos e serviços para o ambiente de produção](production-services.md)
53 changes: 53 additions & 0 deletions docs/production-services.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Serviços para Produção

Para o funcionamento da aplicação, é necessário configurar:

- Banco de Dados: responsável por armazenar os registros dos documentos
- Exportdoi: responsável por consultar os documentos processados no Article Meta, de acordo com os parâmetros informados, e armazená-los na Base de Dados. É executado através da linha de comando::

```shell
processing_export_doi [-h] [--issns_file ISSNS_FILE] --collection
COLLECTION [--from_date FROM_DATE]
[--until_date UNTIL_DATE]
[--date_range DATE_RANGE]
[--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
[--sentry_handler SENTRY_HANDLER]
[issns [issns ...]]

Argumentos:
issns ISSN\'s seperados por espaço

Argumentos opcionais:
-h, --help Exibe este texto de ajuda
--issns_file ISSNS_FILE, -i ISSNS_FILE
Path completo para um arquivo TXT com a lista de ISSNs
a serem exportados
--collection COLLECTION, -c COLLECTION
Acrônimo da coleção a ser exportada
--from_date FROM_DATE, -f FROM_DATE
Data inicial de processamento dos documentos
(processing_date), no formato ISO no formato YYYY-MM-DD,
para a exportação.
Ex.: 2019-07-20
--until_date UNTIL_DATE, -g UNTIL_DATE
Data final de processamento dos documentos
(processing_date), no formato ISO no formato YYYY-MM-DD,
para a exportação.
Ex.: 2019-07-20
--date_range DATE_RANGE, -r DATE_RANGE
Número de dias anteriores à data corrente para a data de
processamento dos documentos a serem exportados. Este
sobrescreverá qualquer definição dos argumentos from_date
e until_date.
--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}, -l {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Logging level
--sentry_handler SENTRY_HANDLER
DSN do Sentry. Esta opção tem precedência sobre a
configuração da variável de ambiente SENTRY_HANDLER
```
- Dashboard: interface WEB desta aplicação
- Celeryworker: responsável por enfileirar as tarefas de depósito no CrossRef
- Celeryworker-dispacher: responsável por executar as tarefas enfileiradas pelo Celeryworker. Este não recebe o status do depósito de documentos.
- Celeryworker-releaser: responsável por consultar o status do depósito de documentos no CrossRef.
- Redis: armazena as filas
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from setuptools import setup, find_packages

here = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(here, 'README.rst')) as f:
with open(os.path.join(here, 'README.md')) as f:
README = f.read()

install_requires = [
Expand Down

0 comments on commit 1405432

Please sign in to comment.