Skip to content
This repository was archived by the owner on Jan 28, 2026. It is now read-only.

Repository files navigation

SciELO - On-line Public Access Catalog

Instalação e configuração

Em nossa wiki <https://github.com/scieloorg/opac/wiki>_ você tem as diferentes guias de instalação e configuração para diferentes ambientes:

  • De desenvolvimento <https://github.com/scieloorg/opac/wiki/Configura%C3%A7%C3%A3o-e-instala%C3%A7%C3%A3o>_
  • De produção com Gunicorn/Nginx/Supervisor em CentOS <https://github.com/scieloorg/opac/wiki/Configura%C3%A7%C3%A3o-e-instala%C3%A7%C3%A3o-%28ambiente-de-produ%C3%A7%C3%A3o%29-Gunicorn>_
  • De produção com Chaussette/Nginx/Circus em CentOS <https://github.com/scieloorg/opac/wiki/Configura%C3%A7%C3%A3o-e-instala%C3%A7%C3%A3o-%28ambiente-de-produ%C3%A7%C3%A3o%29-Gunicorn>_

Guia de configuração do site

Pode acessar nossa wiki <https://github.com/scieloorg/opac/wiki/Configura%C3%A7%C3%A3o-padr%C3%A3o-e-vari%C3%A1veis-de-ambiente>_ para ter uma guia completa e como ajustar a configuração a partir de um arquivo de configuração em cada instância ou utilizando variáveis de ambiente.

Caso queira apresentar na home do website o link para a versão anterior do site

PREVIOUS_WEBSITE_URI=https://old.scielo.br

Caso queira apresentar na home do website qualquer mensagem de texto

ALERT_MSG_PT=Novo portal pode conter incorreções ALERT_MSG_EN=New portal may contain inaccuracies ALERT_MSG_ES=Nuevo portal puede contener incorrecciones

Como executar os tests

  • Para rodar os tests de unidade, pode executar: make test
  • Para ter o relatório de coverage deve executar: make test_coverage

Arquivos: Dockerfile* e docker-compose*.yml

  • Dockerfile: contém as definições para construir a imagem pronta para instalar em produção

  • Dockerfile-dev: contém as definições para construir a imagem pronta para instalar em desenvolvimento

  • docker-compose.yml: contém as definições para iniciar todos os containers necessários para rodar em produção

  • docker-compose-build.yml: contém as definições para construir as imagems e iniciar todos os containers necessários para rodar no Travis/CI

  • docker-compose-dev.yml: contém as definições para iniciar todos os containers necessários para rodar em desenvolvimento

Variáveis de ambiente

VariávelValor padrãoValores possíveisÚltima avaliaçãoObservações
OPAC_USE_HOME_METRICSFalseTrue/False21/11/2021ativa/desativa a apresentação dos dados de métricas da coleção (default: False), o padrão é não apresentar
OPAC_DEBUG_MODEFalseTrue/False21/11/2021ativa/desativa o modo Debug da app, deve estar desativado em produção! (default: False)
OPAC_SECRET_KEYsecr3t-k3y'123523445werw45345'21/11/2021chave aleatória necessária para segurança nos formulario da app.
OPAC_COLLECTIONsclscl, spa, mex, cub, entre outros acrônimos válidos21/11/2021acrônimo da coleção do opac
OPAC_DEFAULT_EMAILscielo@scielo.orgadmin@scielo.org, scielo@scielo.org21/11/2021conta de email para envio de mensagens desde o site
OPAC_MAIL_SERVERlocalhostlocalhost, 127.0.0.1, 0.0.0.021/11/2021host do servidor de emails
OPAC_MAIL_PORT102525, 485, 102521/11/2021porta do servidor de emails
OPAC_MAIL_USE_TLSFalseTrue/False21/11/2021ativa/desativa envio de email com TLS
OPAC_MAIL_USE_SSLFalseTrue/False21/11/2021ativa/desativa envio de email com SSL
OPAC_MONGODB_NAMEopacopac, opac_spa, opac_mex21/11/2021nome do banco
OPAC_MONGODB_HOSTlocalhostlocalhost, 127.0.0.1, 0.0.0.021/11/2021host do banco
OPAC_MONGODB_PORT2701727017, 27018, 2701921/11/2021porta do banco
OPAC_MONGODB_USERNoneopac_user21/11/2021usuário para acessar o banco, essa variável é opcional
OPAC_MONGODB_PASSNone1234521/11/2021password para acessar o banco
OPAC_DATABASE_FILEopac.sqliteopac_spa.sqlite21/11/2021nome do arquivo (sqlite)
OPAC_DATABASE_DIR/tmp/app/database/, /app, /tmp21/11/2021pasta aonde fica o banco (sqlite)
OPAC_DATABASE_DIRsqlite:////tmp/opac.sqlitesqlite:////tmp/opac.sqlite21/11/2021URI do banco sql opcional
GA_TRACKING_CODEG-MKLVK7B5B4G-MKLVK7B4B621/11/2021código de google analytics (acesse https://goo.gl/HE77SO para resgatar seu código)
OPAC_MEDIA_ROOT/[repo dir]/opac/opac/webapp/media//[repo dir]/opac/opac/webapp/media/21/11/2021path absoluto da pasta que vai armazenar as imagens subidas pelos usuários pelo admin.
OPAC_MEDIA_URL/media//media/21/11/2021URL para servir as imagens.
FILES_ALLOWED_EXTENSIONS('txt', 'pdf', 'csv', 'xls', 'doc', 'ppt', 'xlsx', 'docx', 'pptx', 'html', 'htm')('txt', 'pdf', 'csv', 'xls', 'doc', 'ppt', 'xlsx', 'docx', 'pptx', 'html', 'htm')21/11/2021conjunto de extensões dos arquivos permitidos para upload
IMAGES_ALLOWED_EXTENSIONS('png', 'jpg', 'jpeg', 'gif', 'webp')('png', 'jpg', 'jpeg', 'gif', 'webp')21/11/2021extensão imagens permitidas para upload
THUMBNAIL_HEIGHT100100, 200,21/11/2021altura do thumbnail
THUMBNAIL_WIDTH100100, 200,21/11/2021largura do thumbnail
OPAC_TWITTER_CONSUMER_KEYconsum3r-k3yconsum3r-k3y21/11/2021Twitter consumer key
OPAC_TWITTER_CONSUMER_SECRETconsum3r-secr3tconsum3r-secr3t21/11/2021Twitter consumer secret
OPAC_TWITTER_ACCESS_TOKENacc3ss-tok3n-secr3tacc3ss-tok3n-secr3t21/11/2021Twitter access token
OPAC_TWITTER_ACCESS_TOKEN_SECRETacc3ss-tok3n-secr3tacc3ss-tok3n-secr3t21/11/2021Twitter access token
OPAC_TWITTER_SCREEN_NAMERedeSciELORedeSciELO, SciELO, Scielo Espanha21/11/2021Twitter screen name
OPAC_USE_METRICSFalseTrue/False21/11/2021ativa/desativa a integração com o SciELO Analytics. Se sim, definir como 'True'
OPAC_METRICS_URLhttp://analytics.scielo.orghttp://analytics.scielo.org21/11/2021URL para SciELO Analytics
OPAC_USE_DIMENSIONSFalseTrue/False21/11/2021ativa/desativa a integração com o Dimensions. Se sim, definir como 'True'
OPAC_DIMENSIONS_METRICS_URLhttps://badge.dimensions.ai/details/doihttps://badge.dimensions.ai/details/doi21/11/2021URL para o Dimensions
OPAC_USE_PLUMXFalseTrue/False21/11/2021ativa/desativa a integração com o PlumX. Se sim, definir como 'True'
OPAC_PLUMX_METRICS_URL//cdn.plu.mx/widget-popup.js//cdn.plu.mx/widget-popup.js21/11/2021URL para o PlumX
OPAC_USE_SCIENCEOPENFalseTrue/False21/11/2021ativa/desativa a integração de métricas com o ScienceOpen. Se sim, definir como 'True'
OPAC_USE_SCITEFalseTrue/False21/11/2021ativa/desativa a integração de métricas com _SCITE. Se sim, definir como 'True'
OPAC_SCITE_URLhttps://cdn.scite.ai/badge/scite-badge-latest.min.jshttps://cdn.scite.ai/badge/scite-badge-latest.min.js21/11/2021URL para o SCITE_ JS
OPAC_SCITE_METRICS_URLhttps://scite.ai/reports/https://scite.ai/reports/21/11/2021URL para o Scite_
LOCAL_ZONE'America/Sao_Paulo''America/Sao_Paulo'21/11/2021Localização para data
OPAC_USE_SENTRYFalseTrue/False21/11/2021ativa/desativa a integração com Sentry, se sim definir como: 'True'
OPAC_SENTRY_DSNNoneDSN do Sentry21/11/2021DSN definido pelo sentry para este projeto. Utilizado só se OPAC_USE_SENTRY == True
OPAC_BUILD_DATENone05/11/2002, 09/02/200921/11/2021data de build. definida em tempo de construção da imagem
OPAC_VCS_REFNoneNone21/11/2021commit do código. definida pelo travis em tempo de construção da imagem.
OPAC_WEBAPP_VERSIONNone3.44.5,3.43.221/11/2021'versão do OPAC WEBAPP'. definida pelo travis em tempo de construção da imagem. definida pelo travis em tempo de construção da imagem.
OPAC_WTF_CSRF_ENABLEDTrueTrue/False21/11/2021ativa/desativa o recurso de CSRF
OPAC_WTF_CSRF_SECRET_KEYJGvNWiwBIq2Iig89LWbV21/11/2021chave para segurança nos formulários WTF.
READCUBE_ENABLEDFalseTrue/False21/11/2021ativa/desativa a exibição do link para o ReadCube, se sim definir como: 'True'
OPAC_SSM_SCHEMEhttpshttp/https21/11/2021Protocolo de conexão com SSM. Opções: 'http' ou 'https' - (default: 'https')
OPAC_SSM_DOMAINssm.scielo.orgssm.scielo.org dam.doamin.suffix21/11/2021Dominio/FQDN da conexão com SSM. Ex: 'homolog.ssm.scielo.org
OPAC_SSM_PORT8080, 800021/11/2021Dominio/FQDN da conexão com SSM.
OPAC_SSM_MEDIA_PATH'/media/assets/''/media/assets/', '/media/files/'21/11/2021Path da pasta media do assests no SSM.
OPAC_SSM_XML_URL_REWRITETrueTrue/False21/11/2021Troca o scheme + authority da URL armazenada em Article.xml por OPAC_SSM_SCHEME + '://' + OPAC_SSM_DOMAIN + ':' + OPAC_SSM_PORT.
OPAC_SERVER_NAMENonewww.scielo.br, www.scielosp.org21/11/2021Nome: IP do servidor
OPAC_SESSION_COOKIE_DOMAINOPAC_SERVER_NAMEwww.scielo.br, www.scielosp.org21/11/2021O dominio para a cookie da sessão
OPAC_SESSION_COOKIE_HTTPONLYTrueTrue/False21/11/2021Seta a flag: httponly da cookie.
OPAC_SESSION_COOKIE_NAMEopac_sessionopac_session21/11/2021nome da cookie de sessão
OPAC_SESSION_COOKIE_PATHNone'/'21/11/2021path para a cookie de sessão
OPAC_SESSION_COOKIE_SECUREFalseTrue/False21/11/2021define se a cookie de sessão deve ser marcada como segura
OPAC_SESSION_REFRESH_EACH_REQUESTFalseTrue/False21/11/2021Fazer refresh da cookie em cada request?
OPAC_CACHE_ENABLEDTrueTrue/False21/11/2021ativa/desativa o cache com redis
OPAC_CACHE_TYPEredisredi, null21/11/2021O tipo de backend do cache: 'null', 'redis', outros
OPAC_CACHE_NO_NULL_WARNINGTrueTrue/False21/11/2021ativa/desativa exibição de warnings quando o CACHE_TYPE é 'null'
OPAC_CACHE_DEFAULT_TIMEOUT36003600, 520021/11/2021tempo de vida dos objetos no cache. Tempo medido em segundos
OPAC_CACHE_KEY_PREFIXopac_cacheopac_cache, opac, cache21/11/2021prefixo da chave de cache
OPAC_CACHE_REDIS_HOSTredis-cacheredis-cache21/11/2021host do servidor redis que vai ser usado no cache.
OPAC_CACHE_REDIS_PORT6379637921/11/2021porta do servidor redis que vai ser usado no cache.
OPAC_CACHE_REDIS_DB0inteiro >= 021/11/2021nome de db do servidor redis que vai ser usado no cache
OPAC_CACHE_REDIS_PASSWORDNonesenha21/11/2021senha do servidor redis que vai ser usado no cache.
OPAC_PINGDOM_VISITOR_INSIGHTS_JS_SRCNone//rum-static.pingdom.net/pa-XXXXXXXXX.js21/11/2021URL do JS para utilizar o Pingdom visitor insights (ex: //rum-static.pingdom.net/pa-XXXXXXXXX.js)
OPAC_GOOGLE_RECAPTCHA_SECRET_KEYchave do google21/11/2021Chave do site
OPAC_GOOGLE_VERIFY_RECAPTCHA_KEYchave do secreta do google6LcMGeoUAAAAALMHmu9872DeufdBVvF2ZRBzEwyCn7Jd21/11/2021Chave secreta do parceiro
OPAC_GOOGLE_RECAPTCHA_URLchave do secreta do google21/11/2021URL do JavaScript Google reCAPTCHA
OPAC_GOOGLE_VERIFY_RECAPTCHA_URLhttps://www.google.com/recaptcha/api/siteverifyhttps://www.google.com/recaptcha/api/siteverify21/11/2021URL de verificação do google
OPAC_EMAIL_ACCOUNTS_RECEIVE_ERRORSNonewebmaster@scielo.org21/11/2021Contas de email para receber mensagens de erros da interface
OPAC_AUDIT_LOG_NOTIFICATION_ENABLEDTrueTrue/False21/11/2021ativa/desativa envio de notificações via email do relatorio de auditoria
OPAC_AUDIT_LOG_NOTIFICATION_ENABLEDTrueTrue/False21/11/2021ativa/desativa envio de notificações via email do relatorio de auditoria
OPAC_AUDIT_LOG_NOTIFICATION_RECIPIENTSscielo@scielo.orgemails21/11/2021lista de email que devem receber o emails com relatorio de auditoria
OPAC_RQ_REDIS_HOSTlocalhostlocalhost, 127.0.0.1, 0.0.0.021/11/2021localhost do servidor de Redis (pode ser o mesmo server do Cache)
OPAC_RQ_REDIS_PORTNoneNone21/11/2021porta do servidor de Redis (pode ser o mesmo server do Cache)
OPAC_RQ_REDIS_PASSWORDNoneNone21/11/2021senha do servidor de Redis (pode ser o mesmo server do Cache)
OPAC_MAILING_CRON_STRINGNoneNone21/11/2021valor de cron padrão para o envio de emails
OPAC_DEFAULT_SCHEDULER_TIMEOUT1000None21/11/2021timeout do screduler cron.
OPAC_MATHJAX_CDN_URLhttps://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMMLhttps://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML21/11/2021string com a URL do mathjax padrão
URL_SCIELO_ORG//www.scielo.org//www.scielo.org21/11/2021URL para o SciELO.org
URL_BLOG_SCIELO//blog.scielo.org//blog.scielo.org21/11/2021URL para o Blog SciELO em Perspectiva
URL_SEARCH//search.scielo.org///search.scielo.org/21/11/2021URL para o Search SciELO
URL_BLOG_PRESSRELEASE//pressreleases.scielo.org//pressreleases.scielo.org21/11/2021URL para o Blog SciELO em Perspectiva Press releases
OPAC_COOKIE_POLICY_ENABLEDhttps://static.scielo.org/js/cookiePolicy.min.jsttps://static.scielo.org/js/cookiePolicy.min.js21/11/2021ativa/desativa o javascript de política de cookie, se sim definir como: 'True' caso contrário 'False'
OPAC_ORCID_URLhttp://orcid.org/http://orcid.org/21/11/2021URL do ORCID.)
OPAC_FORCE_USE_HTTPS_GOOGLE_TAGSTrueTrue/False21/11/2021Força o uso de https nas URLs para do site do OPAC nas tags do google
OPAC_FILTER_SECTION_ENABLEFalseTrue/False21/11/2021ativa/desativa o filtro por seção na página do issue

Instalação utilizando Docker para desenvolvimento

Para executar o ambiente (de desenvolvimento) com Docker, utilizando as definições do arquivo Dockerfile-dev e docker-compose.yml-dev na raiz do projeto. Simplesmente executar:

  1. executar: make dev_compose_build para construir a imagem do OPAC.
  2. executar: make dev_compose_up para rodar os containers.
  3. acessar pelo browser: http://localhost ou no caso de utilizar OSx trocar localhost pela IP da maquina default (ver na saída do comando: docker-machine ip)
  4. para inspecionar os logs, executar: make dev_compose_logs
  5. para interromper os containers, executar: make dev_compose_stop
  6. para abrir uma terminal dentro do container, executar: make dev_compose_exec_shell_webapp

Fixtures

Procedimento para popular a instância de desenvolvimento a partir de fixtures disponibilizadas pelo SciELO.

  1. Para execução dos procedimentos que adicionam dados no banco é necessário que o ambiente de desenvolvimento do OPAC esteja rodando make dev_compose_up
  2. Baixar a fixture de desenvolvimento versão light com 4 periódicos, execute: wget https://minio.scielo.br/dev/fixtures/opac_br.zip ou a versão full:wget https://minio.scielo.br/dev/fixtures/opac_br_full.zip
  3. Extraia o conteúdo, execute: unzip opac_br.zip
  4. Repare que uma pasta chamada opac_br foi criada e dentro dela há arquivos .bson, .json, .sqlite e outra pasta chamada media que contém os ativos dos periódicos e da coleção.
  5. Acesse a pasta opac_br, execute: cd opac_br
  6. Utilizando mongorestore realize a recuperação do banco de dados apontando para o endereço que está rodando o seu mongo local, exemplo: mongorestore --host=localhost --port=27017 -d=opac --dir .
  7. Realize a cópia da pasta media para a pasta data. A pasta data está na raiz deste repositório e é, por padrão, mapeada à aplicação OPAC.
  8. Realize a cópia da pasta opac.sqlite para a pasta data. A pasta data está na raiz deste repositório e é, por padrão, mapeada à aplicação OPAC.
  9. Os seguintes parâmetros devem está configurados no arquivo docker-compose-dev.yml:
  • OPAC_SSM_DOMAIN=minio.scielo.br
  • OPAC_SSM_PORT=443
  • OPAC_SSM_SCHEME=https
  • OPAC_SSM_XML_URL_REWRITE=False
  1. Para ambiente utilizando Docker é necessário reiniciar os containers: make dev_compose_stop && make dev_compose_up

Caso não tenha o mongorestore localmente é necessário instalar a aplicação MONGODB DATABASE TOOLS: https://docs.mongodb.com/database-tools/installation/installation/

Para utilizar o ambiente de desenvolvimento com o banco de dados populado a partir dos passos indicados nestas instruções, é necessário estar conectado à VPN da SciELO. Caso não esteja conectado, as páginas de artigos estarão indisponíveis.

A área administrativa possui um usuário cadastrado. Acesse http://0.0.0.0:8000/admin com as seguintes credenciais:

Usuário:admin@admin.com

Senha: admin

Caso queira alterar para um mongodb local do hospedeiro, é necessário alterar o parâmetro: OPAC_MONGODB_HOST no docker-compose-dev.yml.

Reportar problemas, ou solicitar mudanças

Para reportar problemas, bugs, ou simplesmente solicitar alguma nova funcionalidade, pode criar um ticket <https://github.com/scieloorg/opac/issues>_ com seus pedidos.

About

SciELO - On-line Public Access Catalog - OPAC

Topics

Resources

Stars

10 stars

Watchers

15 watching

Forks

Releases

Packages

Contributors

Languages