Upgrade de versões

De IBICT
Ir para: navegação, pesquisa

Este procedimento está também descrito no Manual de Atualizações de Versões do DSpace.

Realizar upgrade de versões não é uma tarefa simples e direta. Há alguns dificultadores, os mais comuns são:


  • Migrar as configurações antigas para a nova versão;
  • Migrar arquivos de layout que foram alterados pelo usuário;
  • Manter as estatísticas antigas;
  • Atualizar a base de dados;
  • Migrar a assetstore (pasta que contem os documentos);
  • Implementar possíveis alterações de código feitas pelo usuário.


Este passo-a-passo se concentra nos quatro primeiros tópicos descritos, já que o último foge do escopo de configuração e está mais relacionado às técnicas de programação Java. É possível perceber uma diferença entre os procedimentos descritos no manual oficial do DSpace 5.x e o que aqui se apresenta. De fato, entende-se que existe maior segurança em se realizar uma instalação clean da nova versão e se aplicar nela as configurações particulares da antiga. Essa tarefa gera também uma melhor compreensão do processo de atualização, e é possível estabelecer um procedimento genérico de migração de uma versão 1.x ou 3.x para a 5.x.


O primeiro passo é efetuar uma instalação instalação limpa, em uma pasta e base de dados diferente da utilizada para versão antiga.

Notepad.gif NOTA: Para exemplo utilizaremos como pasta base o nome dspace-3.x-base e como base de dados dspace3x, onde x representa o número correspondente à versão (ex.: dspace32 para a versão 3.2).


Índice

Versão 1.x e 3.x para a 5.x

Para melhor entender como é feita a atualização de versões, a figura abaixo descreve, de forma simples, os passos explicados nessa página:

Passos upgrade de versões.png
Esquema atualização de versões


Aqui toma-se como pressuposto que a instalação antiga foi efetuada na pasta dspace-1.x-base e tomou como base de dados dspace1x.

Warning.gif Atenção: Antes de qualquer outra ação deve-se realizar um backup da base de dados e da assetstore antiga. A aplicação pode receber um nome temporário novo, como por exemplo: dspace-3.x-jspui

Backup

Notepad.gif NOTA: Dependendo do tamanho da base de dados e, principalmente, da(s) pasta(s) assetstore antiga(s), assim como das pastas de estatísticas. Os processos de backup e restore podem ser bastante demorados, portanto é melhor iniciá-los o mais breve possível.


Para o backup da base de dados basta que se execute o comando:

pg_dump dspace1x > bkp_dspace1x_DDMMAA.sql


Já para o backup da(s) pasta(s) assetstore, basta que se execute o comando, para cada pasta utilizada (em geral só se utiliza uma única pasta, que deve estar dentro da pasta base de instalação. Contudo para se ter certeza de qual(is) pasta(s) é(são) utiliza(s), deve-se verificar no arquivo dspace-1.x-base/config/dspace.cfg os parâmetros assetstore.dir, assetstore.dir.1 e assetstore.dir.2), estando dentro da pasta dspace-1.x-base:

tar -cvzf bkp_assetstore_DDMMAA.tar.gz assetstore 

O backup das estatísticas pode ser feito, dentro da pasta dspace-1.x-base/solr/statistics, com:

tar -cvzf bkp_statdata_DDMMAA.tar.gz data

Configurações

As configurações do DSpace 3.x estão organizadas de modo diferente em relação a algumas versões antigas. As menores que 1.8, tem todas as principais configurações concentradas no arquivo dspace.cfg, enquanto que as versões mais recentes dividem os blocos de configuração em módulos, dentro da pasta [dspace-base]/config/modules. A tarefa árdua é verificar quais configurações não são padrão na instalação antiga e então há que se replicá-las na nova instalação 3.x, arquivo por arquivo.

Notepad.gif NOTA: Todas as configurações devem ser realizadas na pasta dspace-3.x-base e depois replicadas nas dspace-3.x-src-release


Restore

Base de dados
  • Remova e crie novamente a base de dados da nova instalação. Isso fornecerá uma base de dados vazia:
dropdb dspace3x
createdb -E UNICODE dspace3x
  • Para que possamos realizar o restore, vá até o local onde está o arquivo backup do banco e execute o comando:
psql -d dspace3x -f bkp_dspace1x_DDMMAA.sql
  • Vá até a pasta dspace-3.x-src-release/dspace/etc/postgres, e execute os scripts de atualização de bases de acordo com a versão da base corrente. Por exemplo, se se deseja subir da versão 1.6.0 para a 3.2 é necessário repetir o comando abaixo para os scripts database_schema_16-17.sql, database_schema_17-18.sql e database_schema_17-3.sql:
psql -d dspace3x -f database_schema_xx-xx.sql
Assetstore
  • Mova o arquivo backup da(s) assetstore(s) para dentro da pasta dspace-3.x-base, e lá execute o comando:
tar -vzxf bkp_assetstore_DDMMAA.tar.gz
Estatísiticas
  • Mova o arquivo backup das estatísticas para dentro da pasta dspace-3.x-base/solr/statistics, e lá execute:
tar -vzxf bkp_statdata_DDMMAA.tar.gz
  • Para atualizar os índices execute, dentro da pasta dspace-3.x-base/bin, os comandos:
Finalizando
./dspace index-init
./dspace index-update
  • Copie as pastas dspace-3.x-base/webapps/jspui (ou xmlui) e a dspace-3.x-base/webapps/solr para dentro da pasta webapps do servidor Apache-Tomcat. Reinicie este, e, já na nova versão, a interface jspui (ou xmlui) estará acessível com a base de dados, os arquivos, e as estatísticas da versão anterior.
Layout

Uma parte crítica de qualquer atualização são as mudanças de layout. É necessário ter conhecimento de quais arquivos foram alterados, e sobrescrevê-los na interface de usuário (jspui ou xmlui). Para que, nas novas instalações / atualizações não haja problema em determinar quais são estes arquivos, é necessário que os copiemos (exatamente como aparecem na aplicação, em sua organização de pastas) dentro do código fonte, na pasta dspace-3.x-src-release/dspace/modules/jspui(ou xmlui)/src/main/webapp.