Mudanças entre as edições de "Upgrade de versões"
Washington (disc | contribs) |
Washington (disc | contribs) |
||
(24 edições intermediárias de 2 usuários não apresentadas) | |||
Linha 1: | Linha 1: | ||
+ | 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: | Realizar upgrade de versões não é uma tarefa simples e direta. Há alguns dificultadores, os mais comuns são: | ||
Linha 15: | Linha 17: | ||
− | 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/ | + | 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% | + | 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).}} | {{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 para a | + | === 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'''. | 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}} | {{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 ==== | ==== Backup ==== | ||
− | {{Nota|Dependendo do tamanho da '''base de dados''' e, principalmente, da(s) pasta(s) '''assetstore''' antiga(s), assim como das | + | {{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.}} |
Linha 52: | Linha 59: | ||
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. | 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 ==== | ==== Restore ==== | ||
+ | |||
+ | ===== Base de dados ===== | ||
* Remova e crie novamente a base de dados da nova instalação. Isso fornecerá uma base de dados vazia: | * Remova e crie novamente a base de dados da nova instalação. Isso fornecerá uma base de dados vazia: | ||
Linha 66: | Linha 78: | ||
* 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''': | * 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 - | + | <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: | * 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> | <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: | * Mova o arquivo backup das estatísticas para dentro da pasta '''dspace-3.x-base/solr/statistics''', e lá execute: | ||
<pre>tar -vzxf bkp_statdata_DDMMAA.tar.gz</pre> | <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 ===== | ||
+ | |||
+ | <pre>./dspace index-init | ||
+ | ./dspace index-update</pre> | ||
+ | |||
+ | * 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'''. |
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.
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:
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.
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
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.
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.