O DSpace tem sido o sistema mais amplamente utilizado no Brasil e em outros países para a implantação de repositórios digitais..
DSpace é um software livre, voltado a repositórios institucionais, usado por universidades, centros de pesquisa e órgãos públicos para preservar e disponibilizar conteúdos digitais, sobretudo aqueles que resultam de atividades de pesquisa.
A partir da versão 7, o DSpace adotou uma nova arquitetura de sistema, composta por dois componentes principais:
Backend (REST API em Java): expõe serviços (REST, OAI‑PMH, SWORD, etc.) e integra com banco de dados, índice de busca e filas de processamento - https://github.com/DSpace/DSpace.
Frontend (interface web em Angular): a aplicação que o usuário final acessa, construída para consumir a REST API do backend. Deve usar a mesma versão do backend (pares 7.x/7.x, 8.x/8.x, 9.x/9.x) - https://github.com/DSpace-Labs/dspace-angular-7x.
As versões atuais mantidas pela comunidade incluem as séries 7.6.x, 8.x e 9.x (com lançamentos de correção frequentes) e que podem ser acompanhados em: https://github.com/dspace/dspace/releases.
A comunidade global de desenvolvedores do DSpace é significativa e há documentação do sistema disponível em: https://wiki.lyrasis.org/display/DSPACE/Documentation.
Quanto ao processo de instalação, o DSpace possui pré-requisitos técnicos e decisões de arquitetura normalmente adotadas, que podem ser alteradas nas diferentes versões do sistema.
SO: Linux (Ubuntu LTS, Debian, Rocky/AlmaLinux) é a opção mais comum em produção.
Topologia recomendada: pelo menos três serviços separados (podem ser VMs/contêineres distintos): banco de dados (PostgreSQL), servidor de aplicação Java (Tomcat) para o backend, Apache Solr (busca/estatísticas). O frontend Angular pode rodar em Node.js (SSR) por trás de um Nginx/Apache fazendo proxy reverso.
Docker: existe docker‑compose oficial para testes/desenvolvimento, mas não há imagens “production‑ready” oficiais; produção costuma ser feita com instalação nativa ou automação própria (Ansible/Terraform).
Java (JDK LTS): Utilize JDK 11 ou 17, conforme a série instalada (7/8 suportam 11 e 17; 9.x permanece em LTS). Verifique a nota da sua versão, mas a combinação Java 11/17 + Maven é a mais comum.
Maven 3.x e Ant 1.10+: Usados para compilar e empacotar o backend.
Tomcat 9.x para DSpace 7.x/8.x;
Tomcat 10.1 é comum em instalações DSpace 9.x (Jakarta EE 10).
A configuração do Tomcat segue a documentação oficial do projeto Tomcat.
PostgreSQL é o banco suportado e recomendado. Suporte ao Oracle foi descontinuado (deprecado em 7.3; remoção planejada na série 7.6). Em 9.x, a recomendação prática é PostgreSQL 14+.
Solr 8.x para séries 7.x/8.x;
Solr 9.x para série 9.x (há notas específicas na documentação).
Node.js LTS (16.x ou 18.x) e Yarn v1 para construir/executar o dspace‑angular. É obrigatório parear a mesma versão do frontend com a do backend.
Servidor de e‑mail (SMTP) para notificações (convites, redefinição de senha, etc.).
Proxy reverso (Nginx/Apache HTTPD) para TLS/HTTP2 e routing (UI → API).
JavaMail/credenciais SMTP, DNS (urls públicas estáveis), certificados TLS, NTP (sincronização de hora), backup/monitoramento.
O IBICT fornece a documentação detalhada para a instalação e mais detalhes sobre o software DSpace - https://www.gov.br/ibict/pt-br/assuntos/tecnologias-para-a-informacao/dspace/documentacao-de-apoio.
O DSpace implementa um provedor OAI-PMH e expõe registros em diferentes formatos de metadados (ex.: oai_dc, qdc, dim, mets, perfis como OpenAIRE). A interface OAI encontra-se no backend do DSpace (módulo dspace-oai) e mapeia os campos internos para cada formato por meio de crosswalks (XSLTs).
A) Habilite o módulo OAI no arquivo dspace/config/modules/oai.cfg:
oai.enabled = true
oai.path = oai # URL final: ${dspace.server.url}/oai/
oai.storage = solr # recomendado
oai.url = ${dspace.server.url}/${oai.path}
oai.config.dir = ${dspace.dir}/config/crosswalks/oai
Esses parâmetros controlam se a interface OAI está ativa, o caminho base e onde estão os arquivos de configuração/crosswalks.
B) Defina o identificador OAI (domínio da sua instância) quando necessário:
# Por padrão é derivado do dspace.ui.url; se precisar, faça:
# oai. identifier.prefix = repositorio.suainstituicao.br
Este prefixo compõe o <repositoryIdentifier> e os oai:<prefixo>:<handle>
C) Escolher e ajustar os formatos de metadados (crosswalks):
Os crosswalks OAI ficam, por padrão, em: [dspace]/config/crosswalks/oai/metadataFormats/
Cada formato é um XSL que transforma o “modelo XOAI” interno do item no XML de saída do OAI-PMH. Exemplos oficiais:
oai_dc.xsl (Dublin Core simples)
qdc.xsl (Qualified Dublin Core)
dim.xsl (DSpace Intermediate Metadata)
etdms.xsl, mods.xsl,
Ex.: para expor Qualified Dublin Core, use metadataPrefix=qdc nas requisições OAI ou ajuste o qdc.xsl se precisar mudar o mapeamento (o XSL pode traduzir de qualquer schema interno para QDC) - https://github.com/DSpace/DSpace/blob/main/dspace/config/crosswalks/oai/metadataFormats/oai_dc.xsl
D) Definir quais formatos e contextos o OAI oferece:
O DSpace usa a biblioteca XOAI e organiza a configuração via xoai.xml, onde se declara:
Formats: lista de metadataPrefix disponíveis (ex.: oai_dc, qdc, dim, mets).
Contexts: “perfis” de exportação (ex.: driver, openaire) que aplicam transformações/constrangimentos adicionais.
O oai.cfg aponta oai.config.dir para a pasta dos arquivos XOAI e crosswalks.
Alguns repositórios mantêm variações desse arquivo, mas a estrutura padrão (Formats, Contexts, Transformers) é a mesma e controla quais metadataPrefix aparecem em ListMetadataFormats.
E) Testar endpoints e formatos
Com o Tomcat ativo e o índice OAI criado:
Identify
https://SEU_BACKEND/server/oai/request?verb=Identify
ListMetadataFormats
.../oai/request?verb=ListMetadataFormats
ListRecords (ex.: QDC)
.../oai/request?verb=ListRecords&metadataPrefix=qdc
É importante confirmar a presença de oai_dc (obrigatório pelo protocolo) e de outros formatos que foram habilitados.
OAI-PMH requer carimbo de data à granularidade de segundos no padrão YYYY-MM-DDThh:mm:ssZ. Se o seu endpoint retornar datas inválidas, os validadores podem rejeitar o repositório.
O provedor OAI-PMH do DSpace depende de um índice Solr específico do OAI. Esse índice não se atualiza sozinho a partir do banco; é preciso alimentá-lo periodicamente com o comando de CLI dspace oai import. Esse comando trabalha de forma incremental (indexa apenas o que mudou desde a última execução) e pode, quando necessário, fazer uma reindexação completa com a opção -c (clear).
Se faz necessário criar alguns arquivos de configuração para automação da atualização do OAI:
1o. arquivo: /etc/systemd/system/dspace-oai.service
2o. arquivo: /etc/systemd/system/dspace-oai.timer
Depois faz-se necessário ativá-los da seguinte forma:
systemctl daemon-reload
systemctl enable --now dspace-oai.timer. Tantocom .timer quanto com .service.