Mudanças entre as edições de "Upgrade de versões"

De IBICT
Ir para: navegação, pesquisa
 
(90 edições intermediárias de 2 usuários não apresentadas)
Linha 1: Linha 1:
Realizar upgrade de versões não é uma tarefa, um tanto quanto, simples e direta, pois surgem alguns dificultadores pelo caminho. Os mais comuns são:
+
Este procedimento está também descrito no [https://drive.google.com/file/d/0B6UBxTsnsN6LQXJjODJ6OWdteEVicFlnVUZJMS1VMm94eERN/view?usp=sharing 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:
  
* Saber exatamente quais foram os arquivos alterados nas mudanças de layout executadas pelo usuário;
 
  
* Casar novas funcionalidades com o layout antigo (por exemplo a busca facetada);
+
* Migrar as configurações antigas para a nova versão;
  
* Manter as estatísticas de acesso antigas;
+
* Migrar arquivos de layout que foram alterados pelo usuário;
  
* Atualizar a base de dados sem corrompê-la;
+
* Manter as estatísticas antigas;
 +
 
 +
* Atualizar a base de dados;
  
 
* Migrar a assetstore (pasta que contem os documentos);
 
* Migrar a assetstore (pasta que contem os documentos);
  
* Implementar possíveis alterações de código das bibliotecas Java, que usuário efetuou.
+
* Implementar possíveis alterações de código feitas pelo usuário.
  
 
   
 
   
Este tutorial concentra esforços no sentido de contornar os quatro primeiros tópicos, já que o último envolveria um conhecimento mais amplo da linguagem de programação Java, o que foge do escopo planejado. Também há uma diferença entre os procedimentos descritos no [https://github.com/DSpace/DSpace/raw/master/dspace/docs/DSpace-Manual.pdf manual oficial do DSpace 3.x] e o que aqui se recomenda. De fato, entende-se que há uma maior segurança em realizar uma instalação '''clean''' da nova versão e aplicar nela as configurações particulares da antiga. Essa tarefa gera também uma melhor compreensão do processo de atualização.
+
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 [https://github.com/DSpace/DSpace/releases/download/dspace-5.5/DSpace-Manual.pdf 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 [http://devds-01.ibict.br/Dwiki/index.php/Instala%C3%A7%C3%A3o_do_DSpace_5.x instalação] limpa, em uma '''pasta''' e '''base de dados''' diferente da utilizada para versão antiga.
 +
 
 +
{{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).}}
 +
 
 +
 
 +
=== 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:
 +
 
 +
[[Arquivo:Passos_upgrade_de_versões.png|center]]
 +
<small><center>Esquema atualização de versões</center></small>
 +
 
 +
 
 +
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'''.
 +
 
 +
{{Advert|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 ====
 +
 
 +
 
 +
{{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:
 +
 
 +
<pre>pg_dump dspace1x > bkp_dspace1x_DDMMAA.sql</pre>
 +
 
 +
 
 +
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''':
 +
 
 +
<pre>tar -cvzf bkp_assetstore_DDMMAA.tar.gz assetstore </pre>
 +
 
 +
O backup das estatísticas pode ser feito, dentro da pasta '''dspace-1.x-base/solr/statistics''', com:
 +
 
 +
<pre>tar -cvzf bkp_statdata_DDMMAA.tar.gz data</pre>
 +
 
 +
==== 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.
 +
 
 +
{{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:
 +
 
 +
<pre>dropdb dspace3x
 +
createdb -E UNICODE dspace3x</pre>
 +
 
 +
* Para que possamos realizar o restore, vá até o local onde está o arquivo backup do banco e execute o comando:
 +
 
 +
<pre>psql -d dspace3x -f bkp_dspace1x_DDMMAA.sql</pre>
 +
 
 +
* 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''':
 +
 
 +
<pre>psql -d dspace3x -f database_schema_xx-xx.sql</pre>
 +
 
 +
===== Assetstore =====
 +
 
 +
* Mova o arquivo backup da(s) assetstore(s) para dentro da pasta '''dspace-3.x-base''', e lá execute o comando:
 +
 
 +
<pre>tar -vzxf bkp_assetstore_DDMMAA.tar.gz</pre>
 +
 
 +
===== Estatísiticas =====
 +
 
 +
* Mova o arquivo backup das estatísticas para dentro da pasta '''dspace-3.x-base/solr/statistics''', e lá execute:
  
{{Nota|O primeiro passo é a [http://devds-01.ibict.br/Dwiki/index.php/Instala%C3%A7%C3%A3o_do_DSpace_3.x instalação] limpa, em uma pasta e base de dados diferente da utilizada para versão antiga. Por exemplo pode-se utilizar como pasta base o nome '''dspace-3.x-base''' e como base de dados '''dspace3x''', onde '''x''' representa o número correspondente à nova versão.}}
+
<pre>tar -vzxf bkp_statdata_DDMMAA.tar.gz</pre>
  
 +
* Para atualizar os índices execute, dentro da pasta '''dspace-3.x-base/bin''', os comandos:
  
 +
===== Finalizando =====
  
== [[Versão 1.8 para a 3.x]] ==
+
<pre>./dspace index-init
 +
./dspace index-update</pre>
  
== [[Versão 1.7 para a 3.x]] ==
+
* 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.
  
== [[Versão 1.6 para a 3.x]] ==
+
===== Layout =====
  
== [[Versão 1.5 para a 3.x]] ==
+
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'''.

Edição atual tal como às 17h07min de 4 de abril de 2016

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.