Interface web para consulta de indicadores de acessos e publicação das coleções da rede SciELO.
- Dockerfile: define a imagem para produção.
- Dockerfile-dev: define a imagem para desenvolvimento, com ferramentas adicionais e configuração para debug.
- docker-compose.yml: inicia todos os containers necessários para produção.
- docker-compose-dev.yml: inicia todos os containers necessários para desenvolvimento, incluindo Memcached, VPN, etc.
Para testes, é mais prático usar um ambiente virtual Python em vez de containers Docker.
- Instale a dependência de sistema
libmemcached-dev(no Ubuntu/Debian):
sudo apt install libmemcached-dev- Crie um ambiente virtual Python 3.6 (usando miniconda):
conda create -n scl-analytics python=3.6 -y
conda activate scl-analytics- Instale as dependências:
pip install deps/scielojcr-1.3.0-py2.py3-none-any.whl
pip install -r requirements.txt- Execute os testes de unidade:
python setup.py test
⚠️ Observação: fora do Docker, o Memcached deve estar rodando localmente (127.0.0.1:11211). Você pode iniciá-lo com:
docker run -d --name memcached-dev -p 11211:11211 memcached:latestO Analytics integra cinco serviços principais:
- Article Meta: GitHub
- Publication Stats: GitHub
- Access Stats: GitHub
- Bibliometrics: GitHub
- SUSHI API: GitHub
| Serviço | Host/Port | Observações |
|---|---|---|
| Article Meta | articlemeta.scielo.org:11621 | Thrift |
| Publication Stats | publication.scielo.org:11620 | Thrift |
| Access Stats | ratchet.scielo.org:11660 | Thrift |
| Bibliometrics | usa conexão do Article Meta | Thrift |
| SUSHI API | usage.apis.scielo.org | HTTP (não Thrift) |
⚠️ Importante: verifique a conectividade antes de instalar. Exemplo comtelnet:
telnet articlemeta.scielo.org 11621Se conectar, o host tem acesso à porta do serviço.
- Crie o arquivo
development.inia partir do template:
cp development.ini-TEMPLATE development.ini-
Certifique-se de que Memcached está acessível:
- Fora do Docker: use
docker run -d --name memcached-dev -p 11211:11211 memcached:latest - Dentro do Docker Compose: o serviço já estará configurado.
- Fora do Docker: use
-
Construir o container:
docker-compose -f docker-compose-dev.yml build --no-cache- Iniciar o container:
docker-compose -f docker-compose-dev.yml up-
Conectar-se à VPN SciELO (necessário para acessar alguns serviços).
-
Acessar a interface web:
http://0.0.0.0:6543
Sempre que fizer alterações:
- Construir o container (
docker-compose build --no-cache) - Iniciar o container (
docker-compose up) - Conectar à VPN SciELO
- Acessar a interface web (
http://0.0.0.0:6543)
⚠️ Para desenvolvimento local fora do Docker, lembre-se de iniciar o Memcached local (127.0.0.1:11211) antes de rodar opserve.
Para adicionar ou atualizar strings de tradução, siga os passos abaixo.
Nos templates Mako (.mako), envolva as strings com ${_(u'texto para traduzir')}. Em arquivos Python (.py), use _('texto para traduzir') após importar o tradutor.
Execute o comando abaixo na raiz do projeto para extrair as strings marcadas para um arquivo de modelo (.pot):
python setup.py extract_messagesAtualize os arquivos de tradução (.po) de cada idioma com as novas strings do arquivo de modelo:
python setup.py update_catalogEdite os arquivos .po em analytics/locale/<idioma>/LC_MESSAGES/analytics.po e adicione as traduções para as strings com msgstr "".
Compile os arquivos .po para o formato binário (.mo), que é usado pela aplicação:
python setup.py compile_catalog