Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Atualiza o README do projeto #8

Merged
merged 2 commits into from
Aug 21, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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