MAC499 - Trabalho de formatura supervisionado

 

Coruja: Um Provedor de Dados para a Iniciativa Open Archives

 

aluno: Hernani Luiz Vila
orientador: prof. Imre Simon
tipo de trabalho: Projeto Supervisionado

Esta obra está disponível para leitura, cópia, redistribuição e modificações, sob os termos da licença OPL, Open Content License v1.0.

 

1. Introdução

Meu projeto consistiu em um estudo sobre a iniciativa Open Archives, e contava com a implementação de um repositório departamental de documentos digitais, compatível com os protocolos definidos pela iniciativa, no Instituto de Matemática e Estatística da USP, para atender aos professores e alunos do Departamento de Ciência da Computação desta unidade. Este servidor pode ser acessado no endereço http://coruja.arca.ime.usp.br/.

A organização e comunicação entre mim e meu orientador foi baseada em reuniões semanais, onde eram discutidas nossas dúvidas, apresentados os resultados da produção naquela semana, e sugeridas novas atividades para a semana seguinte. Além das reuniões, também foram trocadas muitas mensagens via e-mail entre mim e o professor. Para um melhor acompanhamento e organização, utilizamos a ferramenta phpwiki para montar um pequeno site onde tanto eu como meu professor podíamos fazer anotações, tornando-o uma espécie de mural do trabalho (veja mais sobre Wiki Wiki Web aqui).

A bibliografia básica utilizada neste projeto foi toda encontrada na web, e será apresentada ao longo deste texto nas referências e links aos principais assuntos discutidos. Ela consiste em artigos e FAQ's sobre a iniciativa em si e outros projetos ou iniciativas que se relacionam a ela. Para a parte de implementação do repositório de artigos, é necessária uma certa experiência com administração de sistemas Unix/Linux em geral, envolvendo instalação de pacotes e de software a partir da fonte, configuração de servidores como Bind e Apache, uso do MySQL, além de conhecimentos na linguagem Perl, sendo que a bibliografia básica para estes assuntos também pode ser encontrada facilmente na Internet. Não foi necessária a minha participação em nenhum tipo de treinamento.

 

2. Introdução ao Open Archives

A iniciativa Open Archives (OAI) promove e desenvolve padrões de interoperabilidade que visam facilitar a disseminação eficiente de informação sobre a literatura científica. O principal objetivo é aumentar a disponibilidade de acesso à comunicação científica. Esta iniciativa, dirigida por Herbert Van de Sompel e Carl Lagoze, é controlada por um comitê misto, onde decisões políticas e técnicas são feitas por divisões especializadas dentro da iniciativa.

As atividades da iniciativa Open Archives são apoiadas por entidades como Digital Library Federation, Coalition for Networked Information, e National Science Foundation Grant No. IIS-9817416 (Project Prism).

Na Open Archives, os padrões e estruturas tecnológicas que estão sendo devenvolvidos têm uma enorme importância na disponibilização de acesso à uma grande variedade de documentos digitais arquivados em repositórios na Internet, visando especialmente artigos científicos que já tenham passado por um processo de arbitragem. No entanto, estes padrões independendem do tipo de conteúdo que é oferecido, bem como de possíveis mecanismos econômicos que porventura restrinjam o acesso a estes documentos.

As raízes da iniciativa estão situadas na comunidade E-Prints, que promove e mantém arquivos de artigos acadêmicos acessíveis via Web como forma de aumentar o acesso à pesquisa e literatura científica. A sua motivação inicial foi o desejo de desenvolver uma estrutura de interoperabilidade para um agrupamento de repositórios de E-Prints. No entanto, logo ficou evidente que os conceitos em desenvolvimento para a interoperabilidade destes repositórios tinham aplicações muito além das até então pretendidas. Então a iniciativa adotou uma missão bem mais ampla: facilitar acesso a um gama de materiais digitais, através da exposição de metadados por seu protocolo.

A palavra "Open" de seu nome não quer dizer que o acesso ao conteúdo disponibilizado será livre e irrestrito, mas diz respeito à perspectiva arquitetural, onde são definidas e promovidas interfaces que facilitam o acesso à conteúdos de diferentes fontes. Em outras palavras, os protocolos da Open Archives é que são abertos. A iniciativa não ignora o custo monetário envolvido, que pode ser um dos tipos de restrições ao acesso, bem como fatores legais como direitos autorais, ou ainda aspectos técnicos, como restringir um ataque de denial-of-service.

O termo "Archive" reflete as origens da OAI, na comunidade E-print, onde este é aceito como um sinônimo para um repositório de artigos científicos. No entanto este significado pode ser complementado com as definições utilizadas por bibliotecários, recebendo uma conotação de um local de armazenamento com preservação por longos períodos de seu conteúdo, políticas institucionais de armazenamento e de autorizações. No entanto, para a OAI, "archive" possui um sentido muito mais amplo, se referindo apenas a um local onde a informação se encontra armazenada.

A participação na iniciativa Open Archives pode ser feita de duas maneiras: tornando-se um provedor de dados (Data Provider) ou um provedor de serviços (Service Provider).

Os provedores de dados administram sistemas (repositórios de documentos digitais) que suportam o protocolo para coleta de dados especificado pela iniciativa (OAI-PMH, Open Archives Initiative Protocol for Metadata Harvesting) como uma forma de expor os metadados de seus documentos.

Os provedores de serviços usam os dados obtidos dos provedores de dados através do protocolo OAI-PMH para oferecer serviços com valor agregado, como uma biblioteca digital descentralizada, com serviços de busca em vários repositórios ao mesmo tempo, por exemplo. Analogamente, podemos dizer que o google.com é um provedor de serviços em relação à World Wide Web.

Os participantes da OAI são incentivados a registrarem seus repositórios ou serviços na Open Archives, no entanto isto não é obrigatório. Os sites e instituições que fizeram seus registros podem ser conferidos no site da iniciativa, para provedores de dados e provedores de serviço, em duas listas separadas.

As vantagens de se participar da iniciativa vão desde aumentar a exposição dos conteúdos publicados em provedores de dados até a possibilidade de ter estes conteúdos organizados e catalogados por um grande provedor de serviços na web, criando algo semelhante ao idealizado por Imre Simon em seu mais novo artigo, O Oráculo Bibliográfico: sonhos de um pesquisador.

Outras iniciativas se relacionam com a Open Archives, possuindo algumas características em comum com ela. Uma delas é a Self-Archiving Initiative, cujo principal motivador é Stevan Harnad, que incentiva os autores de textos científicos a publicarem o texto completo de seus trabalhos na Web, em suas home-pages, ou preferencialmente em repositórios de documentos digitais, para que possam ser acessados livremente pelas pessoas que estiverem interessadas nestes trabalhos. Além disso, os autores são incentivados a publicar seus artigos apenas em revistas ou jornais cujas versões eletrônicas sejam livremente acessíveis, ou caso isto não seja possível, que o autor mantenha seu direito de publicar seus trabalhos em outros locais na web, ao invés de dar a instituição que está publicando seu trabalho poderes totais sobre os direitos autorais deste.

Também relacionada com a Iniciativa Open Archives, a Budapest Open Access Movement (BOAI) é uma iniciativa cuja principal motivação é garantir o livre acesso à todos os tipos de documentos acadêmicos. Isto é feito de dois modos distintos. Um deles é incentivar os autores a realizar self-archiving de seus documentos. O segundo modo é incentivar a criação de novos jornais e revistas acadêmicas cujos conteúdos sejam livremente acessíveis, ou ainda ajudando na transição de jornais que não possuam livre acesso para uma sistemática na qual seu conteúdo seja livre. Isto é feito através do oferecimento de subsídios monetários para a criação de novos softwares, ferramentas e jornais ou repositórios de artigos na internet.

Enquanto a iniciativa Self-Archiving incentiva que os autores divulguem seus trabalhos a partir das suas primeiras versões (mesmo preliminares à sua publicação), a BOAI trabalha com seu foco voltado para documentos que já tenham passado por um processo de arbitragem, com a intenção de manter os atuais padrões de qualidade do material que será encontrado.

A BOAI é uma ramificação de outra iniciativa mais abrangente, a Free Online Scholarship Movement (FOS), que se preocupa com todas formas de disponibilização de documentos online, livremente acessíveis, e não apenas com documentos de pesquisas que já tenham passado por um processo de arbitragem.

A participação de instituições brasileiras registradas na iniciativa Open Archives ainda é tímida, se resumindo a um repositório em funcionamento (Arquivos Abertos - IBICT). Porém, novas participações estão por vir, sendo um dos destaques a disponibilização do conteúdo do banco de dados de teses e dissertações da USP através do protocolo da Open Archives.

Outro ponto positivo para a participação de instituições brasileiras na iniciativa é o software Nou-Rau, desenvolvido pelo Instituto Vale do Futuro em parceria com o Centro de Computação da Unicamp, sob coordenação de Marcelo Malheiros, e que contará em breve com suporte ao protocolo da OAI. Seu uso é livre e gratuito, sendo distribuído sob a licença GPL.

Já no âmbito internacional, existem várias entidades participando da iniciativa que merecem destaque, tanto como provedores de dados quanto como provedores de serviços. O último levantamento feito através do site OAIster (veja abaixo) nos indica que estão disponíveis atualmente cerca de um milhão de documentos, através dos padrões definidos pela Open Archives. Existem outros 600.000 documentos que estão presentes nos bancos de dados do ResearchIndex, e que em breve também estarão disponíveis através do protocolo da iniciativa. No entanto, existem documentos que se encontram espelhados entre vários destes repositórios, e com isso estimamos que o número real de textos completos seja próximo de 500.000, desconsiderando as repetições.

Um exemplo de sucesso é o repositório ArXiv, criado por Paul Ginsparg no Los Alamos National Laboratory (LANL), e atualmente sendo mantido pela Cornell University. Este repositório, que concentra suas atividades nas áreas da física de alta energia, é amplamente utilizado por físicos de todo o mundo, possuindo atualmente mais de 215.000 artigos em seu banco de dados, disponíveis tanto via web quanto através do protocolo da Open Archives.

Na universidade de Southampton, outro exemplo é o repositório CogPrints, mantido por seu departamento de Eletrônica e Ciência da Computação, e que conta atualmente com mais de 1500 artigos específicos das áreas de ciências cognitivas. Mas a importância deste repositório não é o número de documentos que é disponibilizado por ele, e sim o fato de que este repositório foi implementado através do software Eprints (veja sobre ele na sessão "Softwares") pela equipe que o desenvolve, e é uma espécie de "plataforma de testes" para este software, que tem uma grande importância no atual cenário da OAI.

Um outro projeto que merece destaque também é mantido e desenvolvido pela universidade de Southampton. Ele é o projeto CiteBase, que mantém no ar um provedor de serviços da Open Archives, com cache local dos documentos de três importantes repositórios, e que possibilita uma busca única em todos estes locais ao mesmo tempo. Porém o mais interessante é que esta busca utiliza algoritmos que levam em consideração na ordem de exibição dos resultados o impacto acadêmico obtido por cada artigo. Este impacto acadêmico é calculado através do número de citações que cada artigo teve em outros documentos que se encontram no banco de dados do CiteBase. Com isto, é possível montar uma espécie de grafo orientado entre todos os artigos deste repositório, permitindo que se navegue entre eles, tanto no sentido de visualizar os documentos citados por um dado artigo, quanto para descobrir quais outros artigos citaram o atual documento que estamos visualizando.

Outro grande provedor de serviços que participa da Open Archives é o OAIster, mantido pela universidade de Michigan. Este serviço mantém cópias locais dos dados de todos os repositórios atualmente cadastrados junto à Open Archives, permitindo realizar buscas cuja abrangência cobre todos os documentos disponibilizados pelos participantes da iniciativa, o que atualmente totaliza quase um milhão de documentos.

Outras participações na iniciativa já foram anunciadas, e são aguardadas com expectativa pela comunidade acadêmica usuária dos serviços da iniciativa, como a disponibilização, usando os protocolos da OAI, do conteúdo colhido pelo ResearchIndex, nas áreas de Ciências da Computação, conforme divulgado por Lee Giles, na lista September-98 Forum.

 

3. O Protocolo

O protocolo utilizado pela iniciativa é intencionalmente simples, com o intuito de facilitar a entrada de novos participantes. Ele define um mecanismo para a coleta de informações sobre os documentos armazenados nos repositórios, formatadas em XML. O protocolo não possui suporte para coleta de informações que não estejam formatadas em XML, bem como não faz nenhum tipo de obrigação quanto a quais campos dos metadados devem ou não estar presentes.

A única exigência feita é a de que pelo menos um dos formatos nos quais os metadados sejam exportados seja compatível com o especificado pela Dublin Core, uma respeitada iniciativa que define padrões para o uso de metadados, visando facilitar a sua interoperabilidade. Por exemplo, não existe nenhuma regra no protocolo da Open Archives que defina os meios de se fazer a associação entre os metadados e o texto completo relativo a estes, porém normalmente um dos campos dos metadados é utilizado para fornecer um link para o texto completo, e de acordo com as especificações da Dublin Core, este seria o campo indentifier.

Outros protocolos mais complexos, como o Z39.50, utilizado por bibliotecas tradicionais, possuem funcionalidades bem mais complexas, como lidar como gerenciamento de sessões ou especificação de predicados para filtrar os resultados encontrados. No entanto, a presença de tais funcionalidades aumentam em demasia as dificuldades para a implementação destes protocolos, e consequentemente seus custos. A iniciativa não prentende substituir estes protocolos mais complexos, mas sim prover uma alternativa de implementação e uso simples, para propósitos diferentes daqueles pretendidos pelos protocolos mais complexos já existentes.

A implementação do protocolo da Open Archives deve ser uma tarefa fácil. As tarefas iniciais a serem realizadas, como a configuração de um servidor web e a análise de argumentos nos scripts CGI, devem consumir cerca de um dia de trabalho para alguém com uma certa experiência em programação e configuração de servidores web. Porém a implementação do protocolo em si envolve mais do que a simples análise dos argumentos, pois as respostas às requisições envolvem o acesso ou a extração dos metadados. Dar uma estimativa de tempo para o desenvolvimento destas rotinas é virtualmente impossível, pois elas serão fortemente dependentes de como os documentos estão organizados atualmente: se estes já possuem metadados ou estes podem ser facilmente extraídos, esta tarefa não será complicada.

No site da Open Archives existe um roteiro para a implementação do protocolo. A definição do protocolo pode ser encontrada nesta página.

 

4. Softwares (que implementam o protocolo OAI-PMH)

No site da iniciativa Open Archives existe uma sessão onde é possível encontrar softwares e ferramentas que auxiliam na implementação de serviços compatíveis com o protocolo OAI-PMH.

Uma das principais ferramentas é o Repository Explorer, uma ferramenta que permite que se teste interativamente se o protocolo OAI-PHM de um repositório está funcionando corretamente. Através dele também é possível visualizar como os dados são exportados através da linguagem XML.

Kepler

Um software que merece destaque no ambiente da OAI é o Kepler, em desenvolvimento pela Old Dominion University. Ele mereçe este destaque pois leva a ideologia das redes peer-to-peer para a iniciativa Open Archives, possibilitando a participação de pequenos grupos de pesquisa ou mesmo indivíduos na iniciativa, sem a necessidade de uma infra-estrutura para manter um repositório de documentos na internet. Este software, ainda em fase de testes, está disponível para download em Java, e já foi testado com sucesso em máquinas Windows, Linux e Solaris.

O Kepler funciona baseado em um servidor central, disponibilizado pela Old Dominion University, que monta um repositório com cópias locais (cache) de todos os documentos e metadados cadastrados pelos usuários do software. Com isso, é possível acessar este servidor e realizar buscas entre os documentos disponibilizados por todos os usuários do software. Com isto, podemos caracterizar este servidor central como um tipo especializado de provedor de serviços, que faz cache de documentos e oferece uma ferramenta de busca centralizada para vários outros "repositórios".

Por outro lado, todas estas informações sobre os documentos também serão disponibilizadas através do protocolo OAI-MHP para que outros provedores de serviços também possam coletar estes metadados. Esta característica nos leva a caracterizar este servidor central também como um provedor de dados da Open Archives.

Quando uma busca é feita, os resultados apresentados são agrupados por usuário, e para cada documento encontrado, existe uma página a partir de onde é possível acessar tanto o texto completo disponível diretamente na máquina do autor (caso este esteja "online") quanto a versão mantida em cache pelo software.

Arc e Celestial

Estes dois softwares são bem semelhantes no que oferecem, sendo basicamente dois pacotes de software que montam bancos de dados locais com as informações coletadas de um conjunto de provedores de dados compatíveis com o protocolo OAI-PMH. Estes bancos de dados também podem ser re-exportados pelo protocolo OAI-PMH. Com estes bancos de dados preenchidos, podem ser implementadas buscas, algoritmos de contagem de referências, etc.

Ambos estes softwares são interessantes para serem utilizados como ponto de partida, para alguém que queira montar um provedor de serviços. Enquanto o Arc é escrito em Java, o Celestial é todo feito em Perl. Eles requerem um banco de dados, sendo que o MySQL atende às exigências de ambos.

Eprints

O software Eprints, cujo principal motivador é Stevan Harnad (um dos principais pilares da iniciativa "self-archiving"), facilita a participação de pessoas interessadas em sua iniciativa de disponibilizar livremente a literatura acadêmica. Desenvolvido por Robert Tansley e Chris Gutteridge, o software provê um ambiente de submissão, gerenciamento e disponibilização de documentos na Web, formando um repositório de documentos digitais já compatível com a iniciativa Open Archives. Com isso, uma vez que um novo repositório Eprints esteja em funcionamento e com algum conteúdo, este já estará disponível para os provedores de serviços assim que este repositório for registrado como um provedor de dados junto à iniciativa OAI.

O enfoque principal do software Eprints é facilitar a criação de repositórios que disponibilizem acesso livre a resultados de pesquisas de instituições (especialmente universidades) que já tenham passado por um processo de revisão pelos pares (peer review). A facilidade do acesso aos resultados de pesquisas maximiza o seu uso e seu impacto em pesquisas futuras, para o benefício dos pesquisadores, de suas instituições, da sociedade que suporta a pesquisa, e do pesquisador em si.

O software Eprints suporta qualquer formato para os documentos digitais que serão nele depositados, incluindo HTML, Adobe PDF e ?PostScript. Os autores que desejarem depositar seus trabalhos no repositório precisam obrigatoriamente criar uma conta no sistema. No entanto, os leitores são encorajados a se cadastrarem, nas isto não é obrigatório.

Os custos para a implantação de um novo servidor Eprints são mínimos: será necessário um servidor "sabor unix", conectado à Internet, e com alguns softwares previamente instalados. A combinação mais adequada é um servidor PC, executando uma das várias distribuições do sistema operacional Linux. Com o sistema operacional corretamente instalado e configurado, precisamos instalar e configurar alguns softwares necessários para a instalação do Eprints, como o servidor web Apache, o banco de dados MySQL, o interpretador Perl e alguns dos seus módulos. Lembramos que tanto o sistema operacional quanto os outros softwares necessários são todos software livre, licenciados pela GNU General Public License (GPL) ou outra licença compatível.

O Eprints foi criado para facilitar a disponibilização e o acesso à resultados de pesquisas que já tenham passado por um processo de revisão. Isto corresponde à primeira estratégia da iniciativa BOAI. No entanto, o Eprints também pode ser utilizado para criar repositórios de jornais de acesso livre compatíveis com o protocolo da Open Archives, satisfazendo também a segunda estratégia definida pela BOAI.

Quando um novo documento é submetido a um repositório Eprints, ele fica armazenado em uma área restrita, para que antes que estes sejam disponibilizados em nosso repositório, algumas verificações possam ser feitas, assegurando a qualidade do material que está sendo disponibilizado, como verificar se possíveis políticas quanto ao tipo de documento, área de pesquisa ou afiliação do autor estão sendo respeitadas, verificar (e complementar) os metadados, verificar se o documento enviado é legível em todos os formatos em que foi submetido, realizar a conversão do documento para formatos mais comuns, etc. Estes serviços devem ser executados por um bibliotecário ou administrador do sistema.

Finalmente, o documento pode ser aceito, rejeitado ou enviado de volta à seu autor, para que possíveis correções possam serem feitas.

Outros softwares

Outros softwares que podem ser interessantes para quem estiver desenvolvendo novas ferramentas compatíveis com a OAI são o my.OAI, um programa simples que colhe toda a informação disponível de um provedor de dados, o oai-perl-library, uma biblioteca do Perl que provê assistência no desenvolvimento de aplicações compatíveis com o protocolo da OAI, e o Perl Harvester, outro script que colhe os metadados de um ou mais repositórios, e os envia para sua saída padrão, para quem possam ser tratados por outro programa.

 

5. Criando um servidor

Para iniciarmos a instalação do Eprints, precisamos atender a alguns pré-requisitos. Não vou descrever em detalhes como estes passos são realizados, pois eles dependem do ambiente em que se está trabalhando. A lista atualizada com estes requisitos pode ser encontrada nas páginas de documentação do software Eprints.

O primeiro passo é obter uma máquina na qual poderá ser instalado um sistema operacional GNU/Linux ou similar. Um PC "doméstico" é o suficiente para montarmos um servidor departamental, onde poderão ser armazenados até alguns milhares de documentos. Lembre-se de que será necessária a presença de uma infra-estrutura de rede para manter este servidor conectado à internet!

Verifique todos os detalhes de hardware desta máquina, e se necessário já providencie um upgrade de alguns deles, que porventura estiverem em situação mais crítica: os itens mais importantes do meu ponto de vista são capacidade de processamento, memória, espaço em disco e velocidade de leitura deste, interface de rede, e dispositivo para backups.

Com o futuro servidor em mãos, inicie a instalação de sua distribuição GNU/Linux favorita (supondo que você esteja usando um PC; é possivel instalar o Eprints em qualquer ambiente Unix). Pessoalmente, uso a distribuição Debian, mas é perfeitamente possível utilizar outras como Red Hat, Conectiva, Mandrake, Suse, etc. Não existe, ainda, uma versão do Eprints para Windows.

Após a instalação do sistema operacional, instale os softwares necessários para que o Eprints funcione:

Outros módulos Perl necessários são encontrados pré-instalados na maioria das distribuições do Perl: você provavelmente já tem os módulos CGI, Carp, Cwd, Data::Dumper, Digest::MD5, File::Basename, File::Copy, File::Find, File::Path, Getopt::Long, Pod::Usage, e Sys::Hostname instalados em seu servidor, porém caso algum destes não esteja presente, será necessária sua instalação.

Já outros módulos que são necessários devem ser instalados por você, já que provavelmente não estarão presentes no sistema. É recomendado instalá-los na ordem em que eles estão listados abaixo:

A partir da versão 2.2 do Eprints, o módulo XML::DOM pode ser substituído pelo XML::GDOME, que é mais rápido e eficiente em relação ao uso da memória. Porém, o GDOME depende de outros módulos do Perl e de bibliotecas para seu funcionamento, por isso sua instalação pode vir a ser mais complicada.

Algumas ferramentas do sistema operacional são necessárias para que o envio de documentos em formato compactado ou a captura destes da internet funcione: wget, tar, gunzip e unzip. Instale-as antes de iniciar a instalação do Eprints.

Com seu sistema corretamente instalado e configurado, o próximo passo é iniciar a instalação do próprio Eprints. A primeira coisa a ser feita é obter a versão mais recente do Eprints (a atual é 2.2.1). Descompacte este arquivo em um diretório temporário, com o comando tar xvfz eprints-2.2.1.tar.gz. Será criado um diretório chamado eprints-2.2.1. Nele existe o arquivo executável 'configure'. Este programa fará várias verificações no seu sistema, para checar se estão instalados e localizar vários softwares necessários para que o Eprints funcione.

O configure aceita alguns parâmetros, que recomendo que sejam usados. Dois deles são --with-user=USER e --with-group=GROUP. Caso eles não sejam usados, o software será instalado com permissões para um novo usuário do sistema ("eprints"), e adiante, será necessário mudar o usuário em que o servidor web Apache roda para este usuário. Como isso pode trazer problemas com outros websites que já estejam neste mesmo servidor, eu prefiro configurar o Eprints para que ele seja instalado com o mesmo usuário e grupo nos quais o Apache já está configurado (no meu caso, www-data).

Por default, o Eprints será instalado no diretório /opt/eprints2. Caso você queira instalá-lo em outro local, use a opção --prefix=PREFIX.

Assim que o script configure seja executado corretamente, você pode instalar o Eprints executando como root o comando ./install.pl.

Assim que o Eprints for instalado, será necessário realizar uma pequena alteração no arquivo de configuração do Apache (httpd.conf). Este arquivo normalmente é encontrado no diretório /etc/httpd/conf ou ainda /usr/local/httpd/conf ("httpd" pode ser substituído por "apache" em alguns sistemas). Será necessário adicionar a linha "Include /opt/eprints2/cfg/apache.conf" (o diretório será outro caso o Eprints não seja instalado em seu local padrão) no final do arquivo, e caso o usuário/grupo em que o Eprints for instalado seja diferente dos que o Apache está atualmente configurado, também será necessário trocá-los na configuração do Apache.

Neste ponto, já é interessante definir qual será o endereço do nosso repositório na Web. Um detalhe importante é o de que o Eprints não pode ser instalado em um subdiretório de um site já existente (por exemplo: http://www.arca.ime.usp.br/coruja/): ele precisa de um "virtualhost" exclusivo para ele (http://coruja.arca.ime.usp.br/). Defina em qual virtualhost o Eprints ficará, e já configure seu servidor de nomes (DNS), ou peça para seu administrador de rede fazer isso. No meu caso foi incluída a linha "coruja IN CNAME arca.ime.usp.br." no arquivo de configuração do Bind (arca.ime.usp.br é o hostname real do servidor).

Finalizada a instalação do Eprints, será necessária a customização deste para nosso uso. Isto será feito com a customização do layout padrão distribuído com o software, definição da árvore de assuntos adequada para os tipos de documentos que pretendemos receber, e definição de quais campos de metadados serão usados para descrever um documento e para fazer buscas.

Este passo inicia-se com a tarefa de se criar um repositório (o Eprints têm suporte para múltiplos repositórios em uma mesma instalação). Para fazer isso, verifique se o servidor MySQL está ativo, e caso esteja, faça um login no sistema como o usuário no qual o Eprints foi instalado (www-data, no meu caso). Então, a partir do diretório onde o Eprints foi instalado, execute bin/configure_archive.

Neste momento, serão feitas várias perguntas sobre seu repositório, como um título e um identificador para seu repositório, uma URL (hostname), o email do administrador do repositório, e informações de acesso ao banco de dados. Em boa parte das questões, a resposta padrão sugerida pelo sistema é adequada.

Assim que esta etapa estiver concluída, você pode executar o comando bin/generate_apacheconf archiveid, onde "archiveid" deve ser substituído pelo identificador do repositório que você acabou de criar.

Assim que este comando terminar, interrompa temporariamente o processo de configuração do Eprints caso você queira realizar customizações no seu repositório, como incluir ou remover campos dos metadados, incluir ou remover tipos de documentos que você irá aceitar em seu repositório, editar os templates das páginas do site, definir quais serão as áreas do conhecimento (subjects) de seu repositório, etc. Isto deve ser feito neste momento pois algumas destas alterações, se deixadas para serem feitas adiante, não serão triviais, exigindo um pouco (as vezes muito) de trabalho manual do administrador do sistema.

O processo de alterar o conjunto de metadados associados à cada documento é feito em basicamente quatro etapas. Na primeira etapa, o administrador do repositório deve definir um conjunto maximal de metadados que devem ser armazenados, que cubra todos os tipos de documentos que ele pretende aceitar. Estes tipos de documentos também podem ser alterados neste momento, e são definidos na segunda etapa. Inclua novos tipos ou remova os já existentes de acordo com suas necessidades. Já no próximo passo, o administrador deve associar quais campos de metadados serão utilizados para cada tipo de documento que ele pretende aceitar no repositório, já definindo se eles serão de preenchimento obrigatório ou opcional. A quarta etapa consiste em definir se e como estes metadados serão exportados pelo protocolo da Open Archives.

No repositório que administro, incluí dois novos campos obrigatórios para todos os tipos documentos: um segundo campo "abstract" e um campo "language", que são utilizados para armazenar o resumo (abstract) em português (enquanto o campo original recebe o mesmo em inglês), e para indicar em qual língua está escrito o texto completo, respectivamente.

As customizações de layout do site gerado pelo Eprints não devem ser feitas diretamente nos arquivos "estáticos", e sim nos templates e arquivos XML presentes dentro do diretório cfg de cada um dos repositórios, além dos aquivos em XML no diretório cfg principal do Eprints. Caso as alterações sejam feitas nos arquivos estáticos, elas serão perdidas quando o comando "generate_static" for executado.

Com estas etapas finalizadas, você pode continuar a instalação do Eprints, executando os comandos:

bin/create_tables archiveid
bin/import_subjects archiveid
bin/generate_static archiveid
bin/generate_apacheconf archiveid
bin/create_user archiveid <username> <email> admin <password>

Neste ponto, seu repositório já está funcionando corretamente. Você pode entrar na área de usuário com o username que você acabou de cadastrar como administrador do sistema, e iniciar o envio de documentos.

Durante a customização do repositório administrado por mim, um processo que foi muito trabalhoso (mas que pretendo facilitar ao máximo para aqueles que estiverem interessados em repeti-lo) foi a adaptação do Eprints para que ele implementasse um repositório bilíngue, com a totalidade de suas páginas disponíveis tanto em inglês quanto em português.

Esta é uma tarefa simples de ser realizada, mas trabalhosa. A primeira coisa a ser feita é editar o arquivo cfg/languages.xml e incluir suporte ao português, além do inglês que já deve estar selecionado.

Após isto, você deve duplicar e traduzir todos os arquivos e diretórios que façam referência à lingua inglesa. No diretório de configuração principal do Eprints, faça uma cópia do arquivo system-phrases-en.xml com o nome de system-phrases-pt.xml, e então edite-o e traduza suas frases. Isto também deve ser feito nos diretórios de configuração de cada repositório do seu sistema, com os arquivos citations-en.xml, phrases-en.xml e template-en.xml. Ainda dentro do diretório de configuração do repositório, entre no diretório static e faça uma cópia de todo o diretório "en" com o nome "pt". Os arquivos presentes nestes diretórios são os templates de algumas páginas do site, como a página inicial, ajuda, etc.

Uma outra alteração que foi feita por mim no Eprints original é o modo como é feita a mudança da língua em que o usuário do site está navegando. No script original (set_lang), após a mudança de língua, é exibida uma página de confirmação e o usuário é remetido de volta para a página inicial do repositório. A partir deste script, eu criei outro, chamado de set_lang2, no qual o internauta é remetido para a mesma página em que ele se encontrava ao decidir trocar de língua. Uma característica deste script é que ele insere na URL da página um parâmetro (?lang=pt, por exemplo). Assim, o browser exibe novamente esta página, já na língua selecionada pelo usuário.

Para evitar que várias pessoas façam o mesmo trabalho repetidas vezes, vou compartilhar com todos que estiverem interessados os arquivos que foram criados ou alterados por mim no Eprints. No endereço http://www.arca.ime.usp.br/coruja/wiki/ estará disponível um arquivo .tar.gz com estes arquivos para download.

Após qualquer alteração nestes arquivos, é necessário executar o comando generate_static archiveid, para que as páginas estáticas sejam recriadas a partir dos templates, e também reiniciar o servidor Apache, para que os módulos do Eprints sejam reiniciados com as novas configurações.

Finalmente, quando seu repositório já estiver em produção, você pode registrá-lo junto ao site da Open Archives, para que os provedores de serviços possam coletar os dados dos documentos presentes no seu repositório.

Uma tarefa muito importante, que deverá ser feita com regularidade, é a geração de backups do conteúdo armazenado no seu repositório. Use sua ferramenta ou metodologia de backups preferida, mas não deixe de fazê-los! Um detalhe importante é não esquecer de incluir nos seus backups um dump das tabelas do repositório, armazenadas no MySQL, bem como das configurações e customizações realizadas no seu repositório.

 

6. Problemas encontrados, soluções propostas

Durante o início do projeto, minhas dúvidas eram relativas aos papéis que cada pessoa e cada iniciativa tinham, dentro deste grupo onde várias iniciativas diferentes acabam se relacionando. Este problema só foi resolvido após a leitura de vários textos e artigos sobre as diferentes iniciativas, e também conversando com meu orientador.

Já em uma fase posterior, os principais problemas que enfrentei foram relacionados ao software Eprints. Seu processo de instalação é muito confuso para quem nunca o instalou. Mesmo acompanhando todos os passos pela documentação, só fui descobrir a verdadeira função ou utilidade de vários parâmetros e informações que o software recebe após instalá-lo e reinstalá-lo repetidas vezes.

Outro aspecto do Eprints que me deu muito trabalho foi realizar um upgrade no sistema. A tarefa de realizar o upgrade em si é simples, porém a execução do upgrade envolve a substituição dos arquivos de frases das línguas. Porém o upgrade só instala as novas versões dos arquivos relativos ao inglês: as outras línguas ficam com seus arquivos antigos, desatualizados, causando vários erros enquanto se está navegando no site em português.

Não posso deixar de mencionar a ajuda que recebi durante a implementação do repositório Coruja, da equipe técnica do IBICT, especialmente de um de seus funcionários (Eustáquio), que já contava com mais experiência com o Eprints, e me enviou vários arquivos que facilitaram muito meu trabalho de implementação das páginas do repositório em português.

Durante o segundo semestre, fizemos uma tentativa de montar um provedor de serviços, que faria algo que não é feito por nenhum outro site: realizar o acompanhamento da evolução da Iniciativa, através do monitoramento de dados como o número de repositórios cadastrados na Open Archives, o número de documentos disponíveis em cada um deles, e o número total de documentos disponibilizados por todo o sistema. Estas informações poderiam ser facilmente acompanhadas através dos gráficos que seriam gerados semanalmente pelo sistema.

Esta tentativa foi adiada (ainda sem previsão de retorno) por alguns motivos, como o tempo que estava consumindo (que iria atrapalhar o desenvolvimento das outras atividades), e também pelo uso excessivo de CPU/disco do servidor arca, durante os períodos em que os dados dos outros provedores estavam sendo coletados.

Para realizar esta coleta de dados, estávamos utilizando o software Celestial. Talvez exista outro software mais eficiente que este que implemente o protocolo para coleta de dados, porém para saber isso será necessário testar pessoalmente todas as alternativas, já que nunca encontrei uma comparação direta entre dois softwares deste tipo.

Meus problemas não foram maiores graças ao conhecimento adquirido durante toda a graduação e outras atividades realizadas antes desta disciplina. As matérias que mais foram úteis para o desenvolvimento deste projeto foram:

 

7. O Futuro

O meu trabalho de formatura não se encerra aqui. Pretendemos continuar com o projeto, com as seguintes atividades já previstas:

 

8. Referências

  1. Open Archives Initiative
    http://www.openarchives.org/

  2. The Self-Archiving FAQ
    http://www.eprints.org/self-faq/

  3. BOAI - Budapest Open Access Movement
    http://www.soros.org/openaccess/

  4. Review: Eprints.org Software. SPARC E-News
    http://www.arl.org/sparc/core/index.asp?page=g20#

  5. Eprints.org - Software Website
    http://www.eprints.org/software.php

  6. Ginsparg, Paul: Winners and Losers in the Global Research Village
    http://arxiv.org/blurb/pg96unesco.html

  7. Harnard, Stevan: The Self-Archiving Initiative
    http://www.nature.com/nature/debates/e-access/Articles/harnad.html

  8. Jackson, Allyn: From Preprints to E-prints: The Rise of Electronic Preprint Servers in Mathematics
    http://www.ams.org/notices/200201/fea-preprints.pdf

  9. Sena, Nathália Kneipp: Open Archives: caminho alternativo para a comunicação científica
    http://www.ibict.br/arquivosabertos/2930007.pdf

  10. Hunter, Philip: An e-prints revolution?
    http://www.ariadne.ac.uk/issue31/editorial/intro.html

  11. Pinfield, Stephen; Gardner, Mike; MacColl, John: Setting up an institutional e-print archive
    http://www.ariadne.ac.uk/issue31/eprint-archives/

  12. Kiernan, Vincent: 'Open Archives' Project Promises Alternative to Costly Journals
    http://chronicle.com/free/v46/i15/15a04301.htm

  13. Café, Lígia: Arquivos Abertos: Inovação para a comunicação científica na rede
    http://www.intercom.org.br/papers/2002/endocom/ENDOCOM_CAFE.pdf

  14. Simon, Imre: O oráculo bibliográfico: sonhos de um pesquisador
    http://www.ime.usp.br/~is/papir/oraculo/