quinta-feira, 28 de março de 2013

RELATO DA EXPERIÊNCIA DO DAG NA ATUALIZAÇÃO DO SOFTWARE ICA-AtoM DA VERSÃO 1.2 PARA 1.3


Neiva Pavezi
Dhion Carlos Hedlund
(07/03/2013)


A nossa equipe é formada por Arquivistas e não temos conhecimento na programação do ICA-AtoM. Esse foi o principal motivo das nossas dificuldades. No decorrer das atividades executadas ficou bastante evidente a necessidade da participação de um profissional da área de informática, com conhecimento dos comandos do framework Simfony.
Conseguimos migrar os dados da versão 1.2 para a versão 1.3 que já está disponível on-line. O estudo do AtoM é contínuo, nesse momento estamos listando os problemas que vamos encontrando, principalmente nos resultados de busca e importação.

O primeiro passo para a atualização do software foi a instalação da versão 1.3.0 no servidor. O download foi realizado a partir do site <www.ica-atom.org>.
O procedimento de instalação foi realizado de acordo com as instruções de <www.ica-atom.org/doc/Installation> e <www.qubit-toolkit.org/wiki/Installation_-_Setting_directory_and_file_permissions>.

Na primeira tentativa (12/09/2012), o arquivo de configuração da versão 1.3 foi alterado para utilizar a base de dados em que estão todos os dados da descrição da versão 1.2. Isso gerou o erro ao fazer o login:  "Oops! An Error Occurred - The server returned a "500 Internal Server Error".

De acordo com o manual para atualização da versão, deve ser executada a tarefa de atualização da base de dados da versão 1.2, executando o comando: $ php symfony tools:upgrade-sql.
Quando executamos esse comando, apareceu o seguinte erro: impossível abrir symfony. Repetimos esse comando várias vezes, sem sucesso.

Entramos em contato com a equipe da empresa Artefactual e fomos prontamente atendidos por Jesús Garcia Crespo. O esclarecimento que recebemos foi que:


ICA-AtoM 1.3 no es compatible con bases de datos anteriores. El administrador necesita realizar la actualización manualmente. (...)symfony es un script que se encuentra dentro del directorio raíz de ICA-AtoM. Por ejemplo, si tienes ICA-AtoM instalado en /var/www/ica-atom, primero tendrás que cambiar el directorio actual en tu intérprete de comandos:
$ cd /var/www/ica-atom
Una vez hayas realizado el paso anterior, podrás ejecutar el script:
$ php symfony tools:upgrade-sql


Ao realizarmos o procedimento acima, obtivemos a seguinte situação:


pfoto@pfoto-ThinkCentre-xxx:~$ cd '/var/www'
pfoto@pfoto-ThinkCentre-xxx:/var/www$ cd '/var/www/icaatom-1.2.0'
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.2.0$ php symfony tools:upgrade-sql
Task "tools:upgrade-sql" is not defined.
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.2.0$
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.2.0$
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.2.0$


O motivo desse erro foi que rodamos o comando a partir do diretório raiz da versão 1.2.0. É preciso rodar o comando a partir do diretório 1.3.
Realizado o comando corretamente, obtivemos o seguinte resultado:


pfoto@pfoto-ThinkCentre-xxx:~$ cd '/var/www/icaatom-1.3.0/icaatom-1.3.0'
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.3.0/icaatom-1.3.0$ php symfony tools:upgrade-sql
>> backup Backing up database "teste" to db_20130228033846.sql.bak
>> backup Database backup complete!
>> upgrade-sql Upgrading from Release 1.1
>> upgrade-sql Upgrading from Release 1.2
>> upgrade-sql Upgrading from Release 1.3
>> upgrade-sql Already at latest version (92), no upgrades done
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.3.0/icaatom-1.3.0$ cd
pfoto@pfoto-ThinkCentre-xxx:~$ ^C
pfoto@pfoto-ThinkCentre-xxx:~$ ^C
pfoto@pfoto-ThinkCentre-xxx:~$


Repetimos o procedimento e tivemos a seguinte situação, com um pequeno progresso em relação à tentativa anterior:


pfoto@pfoto-ThinkCentre-xxx:~$ cd '/var/www/icaatom-1.3.0/icaatom-1.3.0'
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.3.0/icaatom-1.3.0$ php symfony tools:upgrade-sql
>> backup Backing up database "teste" to db_20130301073614.sql.bak
>> backup Database backup complete!
>> upgrade-sql Upgrading from Release 1.1
>> upgrade-sql Upgrading from Release 1.2
PHP Fatal error: Class QubitTerm contains 4 abstract methods and must therefore be declared abstract or implement the remaining methods (ArrayAccess::offsetExists, ArrayAccess::offsetGet, ArrayAccess::offsetSet, ...) in /var/www/icaatom-1.3.0/icaatom-1.3.0/lib/model/QubitTerm.php on line 30
Fatal error: Class QubitTerm contains 4 abstract methods and must therefore be declared abstract or implement the remaining methods (ArrayAccess::offsetExists, ArrayAccess::offsetGet, ArrayAccess::offsetSet, ...) in /var/www/icaatom-1.3.0/icaatom-1.3.0/lib/model/QubitTerm.php on line 30
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.3.0/icaatom-1.3.0$


A partir dessa situação, Crespo nos orientou a apagar o diretório do cache, da seguinte forma:


Anyways, that errors is related to the cache but. It gets fixed by running the following commands form the AtoM directory:

$ rm -rf cache/*
$ php symfony cc

And then you can run the command:

$ php symfony tools:upgrade-sql

That's in the user manual by the way :P


A informação acima está disponível no Manual do usuário!
Sucesso!


pfoto@pfoto-ThinkCentre-xxx:~$ cd '/var/www/icaatom-1.3.0/icaatom-1.3.0'
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.3.0/icaatom-1.3.0$ rm -rf cache/*pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.3.0/icaatom-1.3.0$ php symfony ccpfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.3.0/icaatom-1.3.0$ php symfony tools:upgrade-sql
>> backup Backing up database "teste" to db_20130305042607.sql.bak
>> backup Database backup complete!
>> upgrade-sql Upgrading from Release 1.1
>> upgrade-sql Upgrading from Release 1.2
>> upgrade-sql Upgrading from Release 1.3
>> upgrade-sql Successfully upgraded to Release 1.3 v92
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.3.0/icaatom-1.3.0$ ^C
pfoto@pfoto-ThinkCentre-xxx:/var/www/icaatom-1.3.0/icaatom-1.3.0$


Depois de conseguirmos rodar a base na versão 1.3 (06/03/2013), foi necessário reconstruir o sistema de busca. De acordo com Crespo:


Don't forget to rebuild the search engine!

php symfony search:populate QubitSearch


Foram 6 meses de trabalho e estudo que nos renderam bastante conhecimento introdutório na área de informática. O pronto atendimento que recebemos da empresa Artefactual foi imprescindível. Apesar das nossas limitações (pessoas, máquinas, tempo) os resultados obtidos são importantes e servirão de subsídio para o intercâmbio de informações com os demais usuários dessa ferramenta.
A partir de agora, iniciamos os testes de busca e exportação na versão 1.3 do AtoM.

Esperamos que a versão 2.0 seja lançada em breve, pois de acordo com o site oficial, esta terá algumas mudanças significativas em relação à versão 1.3, principalmente em relação ao motor de busca, confira algumas:

·       Substituição do motor padrão de busca escrito em PHP (Zend Lucene) para um novo baseado em Java (Lucene/ElasticSearch);
·       Mudança nos resultados da busca, passando a exibir os resultados de forma hierárquica;
·       Busca popular;
·       Amigável a aparelhos móveis (Iphone, Android) – CSS para aparência de busca básica (em vez de Java, para diminuir o tempo de carregamento da página nos dispositivos móveis);
·       Mais opções para personalizar a template, como esquema de cores, background e logo a partir do painel de controle;
·       Adicionar esquema de metadados “Canadiana Metadata Repository” para exportação em XML; e outros.
Confira outros recursos que serão implementados na versão 2.0 em http://www.accesstomemory.org/wiki/Main_Page