Cartilha Técnica de Instalação, Migração e Configuração do TEDE2

De IBICT
Edição feita às 11h41min de 31 de outubro de 2014 por Alan (disc | contribs)

Ir para: navegação, pesquisa

A presente cartilha, tem como referência relatórios produzidos em consultorias efetuadas na IBICT, a maioria dos dados aqui apresentados fazem referência a esses documentos.

Índice

Introdução

A Biblioteca Digital Brasileira de Teses e Dissertações (BDTD) forma um ambiente cooperativo composto de três componentes, as BDTD locais (muitas implantadas com o sistema TEDE), o sistema coletador e a BDTD nacional (composta por um portal com busca consolidada). Assim, forma uma rede federada de bibliotecas digitais locais de teses e dissertações, que alimentam uma base nacional. Baseada na filosofia de Arquivos Abertos (Open Archieves), a BDTD coleta metadados provenientes das BDTD locais via protocolo OAI-PMH. Essa forma de execução constitui-se na interoperabilidade dos sistemas, juntamente com um conjunto mínimo de metadados e utilização de tecnologia XML.

Nesse sentido, a BDTD nacional compõe-se de uma base de dados consolidada, em que se pode ofertar serviços, como a recuperação por título, data de publicação, autor, entre outros filtros. Como a BDTD nacional possui uma base de dados de registros provenientes das BDTDs locais, as instituições participantes dão maior visibilidade a sua produção de Tedes e Dissertações em nível nacional.

As BDTD locais constituem-se, assim, por meio de sistemas informatizados, onde ocorre a entrada da informação. Esses sistemas podem ser implementados em diversas tecnologias, e atualmente a mais utilizada é o software TEDE. Este foi distribuído pelo Ibict em 2002, e devido as evoluções ocorridas desde sua criação, se tornou obsoleto em relação às demais plataformas. Por essa razão, optou-se por construir um processo de migração da tecnologia TEDE para um sistema baseado em DSpace, ja que este figura, de acordo com o ROAR 2014, como o software mais utilizado para construção de repositórios digitais.

Repositórios digitais

Em (LEITE et al, 2012), ressaltasse que, no contexto de acesso aberto, o termo repositório digital é usado para denominar os vários tipos de aplicações de provedores de dados que são destinados ao gerenciamento de informação científica. São criados para facilitar o acesso à produção científica. São bases de dados desenvolvidas para reunir, organizar e tornar mais acessível a produção científica dos pesquisadores. Ainda, de acordo com (LEITE, 2009) existem três tipos de repositórios digitais:

  • Repositórios institucionais: Voltados à produção intelectual de uma instituição, geralmente universidades ou centros de pesquisa;
  • Repositórios temáticos ou disciplinares: Tratam de área de conhecimento em particular, voltados a comunidades científicas específicas, produções cientificas de uma determinada instituição;
  • Repositórios de teses e dissertações (Eletronic Theses and Dissertation - ETD): Lidam exclusivamente com teses e dissertações, muitas vezes, quando coletadas em grandes quantidades, é centralizada por um agregador.

DSpace

O DSpace é uma iniciativa surgida no Instituto Tecnológico de massachussets (MIT), em conjunto com a Hewlett-Packard (HP), em resposta à emergente necessidade de mudanças na comunicação científica (CELESTE; BRANSCHOFSKY, 2002). A primeira instalação do DSpace foi disponibilizada no inverno de 2002, pela biblioteca do MIT, e teve como propósito, inicialmente, compartilhar a produção acadêmica entre os pares. Somente após estar totalmente estável foi disponibilizada para outras instituições.

Para Bauduin e Branschofsky (2004), o DSpace, no MIT, transcende ser puramente um aplicativo, tornando-se um projeto, serviço e software. Essa visão multifacetada do DSpace, que pode ser ampliada a todas as implementações do DSpace, refere-se à relação entre grupos diferentes de usuários do sistema, o que amplia sua definição. Assim, o DSpace possui significados diferentes dependendo dos usuários ou da área de atuação.

Como projeto, o DSpace iniciou-se no MIT aliado à HP. Hoje, no entanto, é mantido pelo DuraSpace com apoio de uma comunidade mundial, num projeto que, direta ou indiretamente, envolve muitos profissionais de vários países. Trata-se de uma comunidade que testa novas facilidades, verifica erros, corrige o mau funcionamento, desenvolve facilidades e traduz o aplicativo para diversas línguas, entre outras tarefas. No que concerne ao serviço, o DSpace gerencia e preserva objetos digitais fornecendo facilidades de recuperação. Nesse caso, cada instância do DSpace é um serviço de informação que disponibiliza aos seus usuários documentos digitais de forma facilitada, formando assim uma grande rede de serviços de informação.

Enfim, como software, é produto de um projeto, um aplicativo de computador que implementa um repositório. Baseado na filosofia livre, fornece facilidade para os arquivos abertos, possui open source, além de orientar para o acesso aberto. Entretanto, disponibilizar ou não os metadados para Harvesting (arquivos abertos), bem como o acesso livre ao conteúdo são opções das instituições mantenedoras dos repositórios, e não obrigação das mesmas.

O DSpace, como software, evoluiu desde suas primeiras versões, conforme a necessidade da comunidade, implementando novas facilidades, melhorando as ferramentas de gerenciamento e de busca. A indexação de texto completo da versão 1.3, a possibilidade de uso de vocabulários controlados da versão 1.4 e interface XMLUI da versão 1.5 são exemplos dessa evolução.

Organização DSpace

O DSpace foi desenvolvido com base na comunicação científica, seu projeto foi embasado na disseminação de literatura científica em formato, principalmente, de artigos que foram publicados anteriormente em periódicos. Por essa razão, sua organização está intimamente ligada a sua origem acadêmica. Assim, alguns conceitos orientadores dos repositórios remetem à comunicação científica.

A comunicação científica é o processo que envolve todas as etapas relacionadas à produção, disseminação e uso do conhecimento científico. Para Ziman (1984) é a principal instituição social da ciência, pois valida o conhecimento e o reconhece como científico. complementando, Costa (1999, 2008) e Björk (2005), em seus modelos de comunicação científica, propõem a utilização de repositórios como facilitadores do acesso à literatura científica.

O DSpace, em praticamente todos os aspectos, tem suas facilidades baseadas em práticas da comunidade usuária desse software. como a grande maioria dos repositórios instalados com DSpace estão vinculados a universidades, Registry of Open Access Repositories (ROAR), o DSpace incorpora procedimentos semelhantes aos processos acadêmicos em vários aspectos relacionados à disseminação de conhecimento. Atualmente, a comunidade usuária do DSpace tem contribuído para a evolução desse software, não apenas enviando sugestões ou relatando o mau funcionamento de alguns recursos, mas atuando diretamente no desenvolvimento de ferramentas que estão em consonância com as diretrizes do DSpace, podendo ser incorporadas a novas versões.

A evolução do software cria, na maioria dos casos, novas facilidades, melhorando sua utilização. Em outros casos, disponibiliza novas configurações, estendendo as possibilidades de adequá-lo a novos contextos. Independentemente das mudanças, a evolução apresenta-se como um fator benéfico, pois mantém o software em constante adaptação às necessidades da comunidade usuária. Como um software altamente configurável, o DSpace possui várias opções que lhe permitem ajustar-se às diversas necessidades de uma instituição. Entretanto, essas opções baseiam-se em conceitos que orientaram o desenvolvimento de um repositório. Muitos dos conceitos do DSpace são descritos de forma prática a seguir, e apresentados nos contextos relacionados ao funcionamento do software. Aborda-se também diversos tópicos relacionados à operacionalização do DSpace, o que auxilia o entendimento do software e das opções disponíveis para a implementação de repositórios.

XMLUI x JSPUI

Talvez a maior alteração estrutural efetuada no DSpace tenha ocorrido na versão 1.5, que se manteve na versão 1.6, foi a possibilidade de utilizar duas interfaces web, a JSPUI (Java Server Pages User Interface) e a XMLUI (eXtented Mark Language User Interface). Essa arquitetura de sistema permite que se escolha a interface web entre duas tecnologias distintas, com as vantagens e desvantagens de cada uma.


Infraestrutura.png


Uma das decisões do administrador ou da equipe responsável pelo repositório é exatamente decidir qual das interfaces o repositório irá utilizar. Assim, é mister apresentar as duas interfaces neste manual. Havendo somente um banco de dados e um conjunto de programas, independentemente da interface escolhida, o sistema operará plenamente. O JSPUI mantém a mesma tecnologia das versões antigas e serve para manter a compatibilidade com elas, facilitando a migração para a tecnologia XMLUI, ou apenas para aqueles que preferem essa tecnologia. Baseada em páginas JSP (páginas HTML mescladas com programação Java), para alguns técnicos é mais fácil de manipular. Entretanto, representa uma tecnologia mais antiga.

O XMLUI, por sua vez, é inovador. Baseado na tecnologia XML, que ganha cada vez mais espaço na internet, separa a camada de negócio da apresentação. Essa estrutura apresenta-se mais segura, porém mais complexa. Sua interface é alterada exclusivamente com o uso de folhas de estilos e programas conversores (XSL), exigindo assim profissionais que possuam conhecimentos específicos de desenho de sistemas web com XML.

Opcionalmente pode-se implementar o repositório com a interface JSPUI até que a equipe técnica sinta-se confortável para migrar para a interface XMLUI. Essa estratégia não interfere nas operações efetuadas no repositório, mas exige maior controle por parte dos profissionais envolvidos, principalmente no que se refere à apresentação. Os dados são os mesmos, independentemente da interface, mas tudo o que se relacionar à apresentação é particular a cada interface.

TEDE

O TEDE (Sistema Eletrônico de Teses e Dissertações) é um projeto voltado para o armazenamento de teses e dissertações produzidas por alunos de instituições de ensino superior e institutos de pesquisa. A distribuição desse sistema, dá-se de maneira aberta (software livre) e é orquestrada pelo IBICT (Instituto Brasileiro de Informação Ciência e Tecnologia).

Atualmente, o TEDE é um sistema desenvolvido pelo IBICT, o qual já está em execução desde 2002 em instituições de ensino. A última atualização do TEDE foi feita em 2006. Com o passar do tempo, notou-se que a solução atual não está totalmente aderente às necessidades das instituições e do próprio IBICT. Visando a evolução do sistema, o IBICT decidiu adotar a plataforma DSpace, munida de customizações, para compor a nova versão, denominada TEDE 2. O projeto TEDE 2 tem seu sistema baseado no Software DSpace e possui customizações específicas (configurações, modificações de layout e itens de desenvolvimento) para o contexto de teses e dissertações. Muitas dessas customizações apresentam-se úteis não só para essa tipologia restrita, mas para a comunidade geral de usuários do DSpace. Para tanto, definiu se que as novas funcionalidades seriam organizadas em grupos que dariam origem a plugins e poderiam ser disponibilizados para o livre download.

TEDE2

O novo TEDE é baseado no software DSpace, na sua interface JSPUI, e possui customizações que também objetivam o correto armazenamento de informações relativas à Teses e Dissertações, assim como a garantia de disponibilização de informações para a coleta da BDTD, que por sua vez atua como software unificador das instância do TEDE instaladas nas instituições de ensino.

De acordo com o site “OpenDoar2” o TEDE, na versão antiga, representa cerca de 4.8% dos repositórios nacionais, ao passo que o DSpace ocupa 75% das instalações. Isso significa que os referidos 4,8% do TEDE, se juntarão aos 75% do DSpace:

Utilização repositorios.jpg

Objetivos

O objetivo do presente manual é apresentar a migração de teses e dissertações, em seus textos integrais e seus metadados, do sistema TEDE para sistemas desenvolvidos com DSpace, como sistema TEDE2, baseado em DSpace. Para tanto, apresenta os procedimentos necessários para exportar as teses e dissertações no sistema TEDE e a importação desses documentos no sistema TEDE2.

Público Alvo

O presente trabalho foi elaborado para orientar os profissionais de informática no processo de instalação do TEDE 2 e migração das teses e dissertações, do sistema TEDE para o sistema os sistemas baseados em DSpace. Assim, prioritariamente, a terminologia está adequada a esses profissionais. Entretanto, como os procedimentos relacionados aos repositórios são de responsabilidade do administrador, procura-se abarcar questões de administração de repositórios. Dessa forma, torna-se um documento para informáticos, que pode ser útil aos administradores do repositórios.

Requisitos

  • Para a execução dos procedimentos constantes no presente manual requer-se acesso ao servidor de instalação do TEDE e da instalação do sistema TEDE2, assim como, acesso com privilégio de administrador nos dois sistemas.
  • Para o TEDE, requer-se acesso aos diretórios de instalação, com permissão para sobrescrever programas e copiar arquivos, além do acesso para executar tarefas de administrador na interface do sistema.
  • Para o TEDE2, requer-se acesso aos diretórios do TEDE2 para copiar os arquivos exportados e execução de procedimentos de importação em lote, da mesma forma, que requer-se acesso de administrador para criação da coleção para importação na interface do sistema.
  • Dessa forma, requerem-se tanto os acessos via interface dos sistemas quanto no servidor via linha de comando. Portanto, esse procedimento deve ser efetuado por um profissional de informática, juntamente, com o administrador do sistema TEDE e administrador do sistema desenvolvido com DSpace, TEDE2.

Ferramentas utilizadas

GitHub

O código fonte do TEDE 2 está versionado na ferramenta “GitHub” (https://github.com/). O GitHub é uma forma de“rede social” de projetos de código aberto (opensource), que utiliza o gerenciador de revisões GIT (http://pt.wikipedia.org/wiki/Git). Trata-se de um local onde pessoas e instituições podem depositar e versionar seus códigos fonte e torná-los disponíveis para a comunidade, de maneira colaborativa, onde diversas pessoas interagem, modificando um mesmo projeto.

Em maio de 2012 o DSpace migrou o versionamento de seu código-fonte para o GitHub, fato que resultou em melhora significativa em sua evolução. O que gerou uma participação mais ativa da comunidade no desenvolvimento de seu código. Em síntese, para o depósito e versionamento dos artefatos criados ou modificados para o TEDE 2 (código fonte, imagens, etc…) é utilizada a plataforma GitHub, dado que esta provê um “link” entre o desenvolvimento do TEDE 2 e o do DSpace, o que é elemento facilitador para manter o TEDE 2 em em sincronia com o segundo.

A versão inicial do TEDE 2 é resultado de uma bifurcação do código fonte original do DSpace em sua última versão (a 4.2). Uma bifurcação ou fork, em linhas gerais, é uma cópia de determinado código ou projeto visando sua manutenção e evolução por outro mantenedor. Isso é interessante, dado que o GitHub permite que o criador do projeto original observe as evoluções criadas em cópias do seu projeto e as promova, quando julgar conveniente. Essa metodologia é um dos fatores que colabora para a continuidade do software livre.

Para todos os commits efetuados, foram inseridos comentários que remetem o leitor às modificações efetuadas. Quando algum commit está relacionado a um card (ou atividade) do Trello, o link do card é associado ao commit, provendo um relacionamento entre commit e atividade - a partir do link é possível visualizar o card da atividade em questão e analisar o que motivou uma data modificação.

Uma outra feature do GitHub adotada no TEDE 2 foram as páginas de Wiki que a ferramenta disponibiliza: por ela algumas funcionalidades desenvolvidas para o TEDE 2 foram documentadas, a exemplo das modificações do formulário de entrada para permitir ao usuário submissor a associação de idioma para metadados e a interface para importação de metadados exportados em forma de pastas com XMLs e arquivos. A wiki do TEDE 2 pode ser acessada pela seguinte URL: https://github.com/ibict-br/TEDE/wiki/Sele%C3%A7%C3%A3o-de-idioma-para-metadados.


Demonstrativo de commit com referência ao Trello
CommitTrello.png

Trello

No TEDE 2, foi abordada uma metodologia de desenvolvimento ágil, baseada na metodologia do quadro de Kanban. A referida abordagem não foca no formalismo das atividades, mas sim no resultado do produto de software, objetivando interação entre os stakeholders do projeto. A ferramenta escolhida como “instância” do quadro de Kaban foi a ferramenta “Trello”, que se destaca pelo fácil manuseio e pela facilidade de comunicação entre as partes envolvidas. O Trello é adotado como ferramenta oficial de gestão de atividades por grandes empresas e projetos. A empresa “Caelum”, que atua no mercado de treinamento em TI, escreveu um artigo declarando as motivações para utilização do Trello em: http://blog.caelum.com.br/kanban-alem-do-gerenciamento-de-software.

A experência com a utilização da metologia de Kanban foi benéfica e determinante para o sucesso do projeto. Dado que permitiu comunicação “assíncronas” às necessidades do projeto, o que permitiu a execução das tarefas com a presença remota do consultor. Além disso, a ferrramenta possibilitou a troca de arquivos, como imagens e documentos que representavam requisitos ou propostas ao projeto.

O “quadro” do TEDE 2 é de visualização pública, pois qualquer pessoa com acesso à internet pode acessá-lo, com permissões de leitura. Isso permite que interessados externos possam acompanhar o ciclo de vida do projeto. Somente os stakeholders do projeto, têm acesso de escrita no quadro, a fim de permitir interação entre as partes envolvidas. O referido “board” pode ser acessado pelo seguinte endereço: https://trello.com/b/94vtbsB9/tede.


Quadro de Kanban do TEDE 2
Trello.png

IDE

O DSpace assim como TEDE 2 é um projeto baseado em Java. Existem diversas IDEs que provêem suporte ao desenvolvimento Java a exemplo de: InteliJ, Netbeans, 3 JBuilder, Eclipse, etc… Para o TEDE 2 foi escolhida a IDE “Eclipse”, por ser uma ferramenta consolidada, de amplo uso e popularidade

Em síntese, o Eclipse foi a ferramenta escolhida por prover suporte à edição de uma diversidade de arquivos do DSpace, isso é, não se limita somente a arquivos do tipo “java”: foram editados também, via interface, arquivos CSS, Javascript, HTML, XML e properties. Para a continuidade do TEDE 2 a utilização do Eclipse é recomendada, mas não mandatória. Isso é, não foi adicionada nenhuma característica do ciclo de desenvolvimento do TEDE 2 que o faça depender da IDE. Logo, é possível evoluir o projeto utilizando outras IDEs ou até mesmo com simples editores de texto.

Fatores motivadores para utilização do Eclipse

  • Possibilidade de utilização de recurso de “hot deploy”, que é uma técnica utilizada em tempo de desenvolvimento de software, que evita necessidade de reinicializações do container web (no caso do TEDE 2, o tomcat) para testar modificações. Em outras palavras, códigos Java, CSS, Javascript e alguns XMLs podem ser modificados e testados imediatamente após a modificação. Essa situação propicia enorme ganho de tempo no processo de desenvolvimento. Há arquivos no Dspace que não são passíveis de “hot deploy”, por serem mantidos em memória após o primeiro acesso, a exemplo do arquivo “dspace.cfg”;
  • Integração nativa com repositórios do tipo “Git”, o que significa que é possível estabelecer comunicação com o repositório remoto do TEDE 2 dentro do próprio Eclipse. Entre as atividades facilitadas pela integração estão o commit de artefatos modificados, a atualização de cópia local e a auditoria de artefatos modificados.
Imagem demonstrativa do TEDE 2 configurado no eclipse
TEDE2Manual.png


Breve contextualização para configuração do Eclipse com o TEDE 2

Para ter o Eclipse funcionando em conjunto com a IDE, é necessário seguir os seguintes passos:

  • Ter o DSpace corretamente instalado;
  • No Eclipse 4.4.0 “Luna”:
    • Associar o Eclipse a uma instalação do JDK (Java Development Kit);
    • Adicionar o servidor “Apache Tomcat”, versões 7 ou 8;
    • Nas configurações de execução do Tomcat, adicionar o seguinte parâmetro de VM:
      -Ddspace.dir="[diretório de instalação do TEDE 2]"
    • Importar TEDE 2 como projeto “Maven”, caso a IDE informe acerca da existência de plugins não encontrados, selecione a opção que permita que os referidos plugins sejam ignorados enquanto o DSpace é executado internamente ao Eclipse. Entre os módulos a serem selecionados e importados para o workspace, é obrigatório no mínimo a seleção dos módulos “jspui”
    • Adicionar os módulos “jspui” e “solr” ao servidor de aplicações;
    • Inicializar o servidor.
    • Via browser, acessar a seguinte URL: localhost:8080/jspui.

PostgreSQL

O TEDE 2 faz uso de uma das possibilidades de banco de dados que o DSpace provê: o PostgreSQL. Trata-se de um banco de dados relacional de código aberto, reconhecido por sua confiabilidade e escalabilidade.

No processo de desenvolvimento do TEDE 2, as modificações em banco de dados foram evitadas, de modo a inibir fatores que venham a dificultar a atualização do TEDE 2 para novas versões do DSpace. Em outras palavras, quando houve necessidade de modificação na base de dados foram buscadas alternativas de resolução de problemas utilizando recursos de programação, em nenhum desses casos os princípios de boas práticas de desenvolvimento de software, assim como de atualização do DSpace, foram violados. Isso significa que, quando for estritamente necessário, o banco de dados pode ser alterado, contudo, uma forte documentação e orientação deve ser confeccionada para que o TEDE 2 não deixe de ser equalizado com as últimas versões do DSpace.

Para auxílio à operações de banco de dados (DMLs, DDLs), a ferramenta “PgAdmin” foi utilizada. A ferramenta dispõe de recursos gráficos em forma de alternativas para os programas de linha de comando que o PostgreSQL dispõe (a exemplo do comando “psql”).

No TEDE 2, o PgAdmin foi utilizado para executar instruções de seleção, inserção e DUMP da base de dados. Para continuidade do projeto não é necessária a utilização do PgAdmin.

Instalação

Criando infraestrutura para instalação do DSpace

O DSpace necessita de uma infraestrutura básica para seu pleno funcionamento, a saber:

  • Apache-Ant (em sua versão binária, que pode ser baixada no site do projeto)
  • Apache-Maven (em sua versão binária, que pode ser baixada no site do projeto)
  • Apache-Tomcat (em sua versão binária, que pode ser baixada no site do projeto)
  • PostgreSQL

Instalação das ferramentas

O DSpace/TEDE2 necessita de algumas ferramentas para sua correta compilação (Oracle-JDK, jai_core, jai_imageio e Apache-Maven), instalação (Apache-Ant, PostgreSQL) e execução (Oracle-JDK, Apache-Tomcat e XPDF), no entanto recomenda-se a instalação via apt-get somente do PostgreSQL, os demais podem ser baixados em suas versões binárias. A seguir será dado um passo-a-passo da instalação de cada uma dessas ferramentas, e por fim da compilação e instalação do DSpace/TEDE2

Passo 1 - Criando usuário DSpace

Para que as aplicações não fiquem espalhadas pelo servidor, com diversos tipos de permissões de acesso, recomenda-se a criação de um usuário de sistema de nome dspace que mais adiante será também o usuário do banco banco de dados. Os comandos para criação do grupo dspace e usuário dspace, e senha para usuário devem ser executados com o usuário root, e são os seguintes:

addgroup dspace
useradd –m dspace -g dspace
passwd dspace

Passo 2 - PostgreSQL

O DSpace necessita de uma base de dados para armazenamento dos registros. Os SGBDs recomendados para essa tarefa são o PostgreSQL ou Oracle DB. Por ser um software livre e atender perfeitamente aos requistos do DSpace, o PostgreSQL tem relativa vantagem em relação ao Oracle DB. Para instalação do PostgreSQL basta executar, com perfil de root, o comando:

apt-get install postgresql

Após sua instalação é necessário realizar alterações em alguns arquivos de configuração do SGBD. Primeiro, estando ainda logado como root, deve-se acessar o arquivo /etc/postgresql/x.x/main/postgresql.conf (onde x.x será o número da versão do postgreSQL instalado) e retirar o # da linha:

#listen_addresses = 'localhost'

Após, logado ainda como root, acessar /etc/postgresql/x.x/main/pg_hba.conf (x.x é o número da versão do postgreSQL instalado) e adicionar, ao final do arquivo, a seguinte linha:

host all all 127.0.0.1 255.255.255.255 md5

Em seguida, logado como root, deve-se criar o usuário do banco. Para tanto deve-se executar os seguintes comandos (o sistema pedirá uma senha, a qual deve ser fornecida de acordo com o preenchido no parâmetro db.password do arquivo build.properties) :

su postgres
createuser –d –A –P dspace
exit

Agora para criar o base de dados do sistema (que deverá receber o mesmo nome dado no final do parâmetro db.url):

su dspace
createdb -E UNICODE dspace

Passo 3 - Oracle-JDK

O Java Development Kit (JDK), promove portabilidade das aplicações desenvolvidas nessa linguagem. Existem versões open source dessa ferramenta, como o Open-JDK, no entanto a compilação e execução do DSpace 4.x funciona somente com versão Oracle-JDK 1.7.x. Esta não é uma versão livre, mas ao aceitar sua licença, há a liberação do download, sem custos para o usuário. A Oracle-JDK 1.7.x pode ser baixada no seguinte endereço:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html?ssSourceSiteId=otnpt


Após baixar o arquivo, deve-se alterar sua extensão de .gz para .tar.gz. Exemplo: de jdk-7u71-linux-x64.gz para jdk-7u71-linux-x64.tar.gz. Feito isso, estando logado como root, é necessário descompactar o pacote por meio dos comandos:

mkdir /opt/jdk
tar -zxf jdk-7u71-linux-x64.tar.gz -C /opt/jdk

Feito isso, deve-se instalar o pacote, o que pode ser efetuado, estando ainda logado como root, por meio dos comandos:

update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_71/bin/java 100
update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.7.0_71/bin/javac 100


Após, como root, execute comando update-alternatives --config java, e selecione a opção (digitando o número de aparece à esqueda) em que aparece o caminho /opt/jdk/jdk1.7.0_71. Verifique se a versão corrente é a versão instalada por meio de:

java -version

Deve aparecer como resposta, no terminal, algo como:

"java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)"

Passo 4 - Apache-Maven

O Apache-Maven é a ferramente que realiza a construção de toda a árvore de pacotes que serão necessários para instalação do DSpace, e além disso compila o código fonte, deixando-o pronto para instalação. A partir deste ponto, do passo-a-passo de instalação, o Apache-Maven e as demais ferramentas devem ser instaladas e executadas com o usuário de sistema dspace. Para a instalação do Apache-Maven, deve-se baixar o seu pacote binário no endereço http://maven.apache.org/ e descompactá-lo, estando dentro de /home/dspace/ por meio do comando (x.x.x representa o número da versão baixada):

tar -vzxf apache-maven-x.x.x-bin.tar.gz

Caso esteja em um servidor que necessita de autenticação em um servidor proxy para baixar recursos da internet, é necessário criar uma pasta de nome .m2 dentro de /home/dspace/, e dentro da pasta .m2 criar um documento de nome settings.xml com o seguinte conteúdo:

<settings>
    <proxies>
        <proxy>
           <active>true</active>
           <protocol>http</protocol>
           <host>10.1.1.1</host>
           <port>80</port>
           <username>username</username>
           <password>password</password>
           <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
        </proxy>
    </proxies>
</settings>

Onde 10.1.1.1 deve ser trocado pelo endereço IP do proxy. O número 80 é porta de conexão com este, e username e password são o login e senha de autenticação no proxy.

Passo 5 -Bibliotecas “jai_core”e “jai_imageio”, e o rederizador “XPDF”

Nativamente, o DSpace não cria, e portanto não exibe, as miniaturas das capas dos documentos PDF’s depositados. Assim é necessário que se instale um conjunto de ferramentas (as bibliotecas jai_core e jai_imageio, e o renderizador XPDF) para que essa funcionalidade seja executada de forma correta. Com o Apache-Maven instalado e configurado, deve-se fazer download das bibliotecas jai_core e jai_imageio, e renderizador XPDF dentro da pasta /home/dspace. Estes pacotes podem ser baixados nos seguintes endereços:

Após o download, estando dentro /home/dspace, devem ser executados os seguintes comandos:

/home/dspace/apache-maven-x.x.x/bin/mvn install:install-file \
-Dfile=jai_core-1.1.2_01.jar \
-DgroupId=javax.media \
-DartifactId=jai_core -Dversion=1.1.2_01 \
-Dpackaging=jar \
-DgeneratePom=true

Após a execução, o sistema deverá exibir um pequeno log e a mensagem final BUILD SUCCESSFUL

/home/dspace/apache-maven-x.x.x/bin/mvn install:install-file \
-Dfile=jai_imageio-1_1/lib/jai_imageio.jar \
-DgroupId=com.sun.media \
-DartifactId=jai_imageio \
-Dversion=1.0_01 \
-Dpackaging=jar \
-DgeneratePom=true

Após a execução, o sistema deverá, novamente, exibir um pequeno log e a mensagem final BUILD SUCCESSFUL

Passo 6 - Apache-Ant

A ferramenta que executa a tarefa de instalação do DSpace é o Apache-Ant. Para tornar esse software disponível para uso, basta realizar o download de seu pacote binário em http://ant.apache.org/ e descompactá-lo dentro de /home/dspace.

Passo 7 - Apache-TomCat

O Apache-Tomcat, é o servidor Web que torna disponível o acesso do DSpace via rede (seja a Intranet ou a Internet). Para instalá-lo basta baixar seu pacote binário em http://tomcat.apache.org/ e descompactá-lo dentro de /home/dspace. É necessário que se faça ainda uma mudança na codificação de apresentação dos arquivos. Acessando o arquivo home/dspace/apache-tomcat-x.x.x/conf/server.xml e inserindo o termo URIEncoding="UTF-8" no seguinte conector:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />

Passo 8 - Compilando e instalando o DSpace/TEDE2

Nos passos 1 a 7, foi construída a infraestrutura necessária para compilação, instalação e execução do DSpace/TEDE2 . Portanto, o ponto agora a ser abortado é a seguinte sequência: 1º. Compilação do código fonte do DSpace, que é realizada por meio do Apache-Maven; 2º. Instalação do código compilado por meio do Apache-Ant, e 3º. Ativação do serviço Web por meio do Apache-Tomcat. Todos comandos a seguir, salvo se explicitado o login de root, devem executados com o usuário dspace.

  • A compilação é executada dentro da pasta TEDE2-fonte, e se dá por meio do comando:
/home/dspace/pache-maven-x.x.x/bin/mvn -Pxpdf-mediafilter-support -U clean package

Após aproximadamente 30 min, o sistema deve responder com um log na tela, e ao final a mensagem BUILD SUCCESSFUL.

  • Uma falha bastante comum, nesse processo, é o erro de permissão de escrita na pasta definida no dspace.install.dir=/dspace-base do arquivo build.properties. Portanto para se certificar que o diretório destino de instalação está com permissões de escrita ao usuário dspace, deve-se logar como root e executar o comandos:
mkdir /dspace-base
chown dspace:dspace /dspace-base

Retornado-se ao login com o usuário dspace, a instalação deve ser executada dentro de TEDE2-fonte/dspace/target/dspace-4.x-build, e é realizada por meio do comando:

/home/dspace/apache-ant-x.x.x/bin/ant fresh_install

Após, no máximo 10 min, o sistema deve responder com um log na tela, e ao final a mensagem BUILD SUCCESSFUL.

  • A ativação do servidor Web Apache-Tomcat com a aplicação do DSpace se dá por meio dos comandos:
mv /home/dspace/apache-tomcat-x.x.x/webapps/ROOT \
/home/dspace/apache-tomcat-x.x.x/webapps/tomcat

cp -R /home/dspace/dspace-base/webapps/jspui /home/dspace/apache-tomcat-x.x.x/webapps/ROOT
cp -R /home/dspace/dspace-base/webapps/solr /home/dspace/apache-tomcat-x.x.x/webapps/
cp -R /home/dspace/dspace-base/webapps/oai /home/dspace/apache-tomcat-x.x.x/webapps/

export JAVA_OPTS="-Xmx512M -Xms64M -Dfile.encoding=UTF-8"

este último expande os parâmetro de memória reservada para o Apache-Tomcat. Contudo, se o servidor for reiniciado, essa configuração será perdida. Para torná-la definitiva, deve-se, com perfil de root, editar o arquivo /etc/profile e adicionar ao final dele as linhas:

JAVA_OPTS="-Xmx512M -Xms64M -Dfile.encoding=UTF-8"
export JAVA_OPTS

Por fim, basta que se inicie o servidor Apache-Tomcat:

/home/dspace/apache-tomcat-x.x.x/bin/startup.sh

O TEDE 2 poderá ser acessado em https://meuservidor.br:8080, onde o termo meuservidor deverá ser substituído pelo endereço do servidor onde está instalado o DSpace.

Passo 9 - Configurações pós-instalação

Após a instalação do DSpace/TEDE2 é necessário que se crie uma senha de administrador, o que pode ser feito pelo comando:

/dspace-base/bin/dspace create-administrator

Ainda é necessário que se inclua alguns comandos na Contrab do sistema, que é uma forma de agendar algumas tarefas que deverão ser executadas durante o período em que o uso do sistema pela comunidade não seja tão intenso. Esse procedimento pode ser efetuado, quando se está logado como root, se executa o comando: crontab -e . Após abertura do arquivo da crontab, devem ser adicionadas as seguintes linha no final do texto:

0 0 * * * /dspace-base/bin/dspace oai import

0 1 * * * /dspace-base/bin/dspace filter-media

0 2 * * * /dspace-base/bin/dspace index-discovery

Migração TEDE/DSpace

Exportação de TDs do sistema TEDE

Para exportação de teses e dissertações de um sistema TEDE, o Ibict desenvolveu um addon (módulos de hardware ou software que suplementam ou aumentam as ferramentas e possibilidades de uso ou características originais onde são utilizados) de exportação, conjunto de programas que podem ser adicionados ao sistema TEDE, para disponibilizar a facilidade de exportação de teses e dissertações no formato de importação do sistema TEDE2. Este Addon, não afeta as facilidades existentes no sistema TEDE, apenas acrescenta essa nova facilidade, ofertando certa segurança à aplicação.

Nesse ponto, a facilidade de exportação fica disponível apenas para o administrador, evitando acessos indevidos a este tipo de procedimento. Da mesma forma que os arquivos exportados ficam disponíveis em uma pasta do servidor em que o sistema TEDE esta implementado. Assim, somente a equipe técnica da instituição tem acesso aos registros e arquivos exportados.

Para a implantação deste addon de exportação, no entanto, é necessária algumas operações que garantam um menor impacto no sistema. Entretanto, é importante mencionar que este addon não faz alteração nos dados existente no sistema, apenas copia os dados necessários para a exportação, sem aterá-los.

Procedimentos para instalação do Plug-in de exportação de teses e dissertações do sistema TEDE para sistemas desenvolvidos com DSpace

O plug-in, como um conjunto de programas, deve ser instalado pela equipe de TI da instituição, para tanto, segue-se um procedimento. A instalação do Plug-in dá-se por meio de cópia de arquivos em diretórios específicos, não existindo um instalador. Assim, a seguir, o passo-a-passo para a instalação:

Obter o plugin

O Plugin está disponível, em formato compactado, com extensão .zip, para ser baixado no endereço: https://github.com/wtonribeiro/TEDE/tree/exportador, no Portal do IBICT, como também, pode-se pedir um cópia pelo email: bdtd@ibict.br. O nome do arquivo é “TEDE-exportador.zip” e pode ser baixado diretamente no servidor do sistema TEDE ou em um desktop para ser, posteriormente, transferido ao servidor.

Fazer cópia de segurança do sistema TEDE

O Plug-in de exportação não faz grandes alterações no sistema TEDE, que altere os dados das teses e dissertações contidos no sistema, mas por precaução, é altamente recomendável que se faça uma cópia de segurança, em todo procedimento de manutenção de sistemas informatizados. Assim, fazer uma cópia de segurança alinha-se aos procedimentos padrão de manutenção do sistema TEDE.

Fazer uma cópia de segurança de todo o sistema TEDE, tanto dos programas, quanto as bases de dados. Com esse procedimento, assegura-se a integridade original de todo o sistema TEDE. Caso venha ocorrer algum problema, basta retornar a copia de segurança para ter o sistema no estado original.

Para os programas e arquivos arquivados no sistema, basta copiar o sistema de diretório do sistema TEDE, desde o diretório raiz (diretório inicial do sistema, em que está contido todo o sistema). Geralmente, se instalado na forma padrão, por ser um sistema PHP/Apache, fica no diretório /var/www/[nome-do-diretório-tede]. Para copiar pode-se utilizar o comando de sistema operacional “cp –R” que copia recursivamente os diretórios.

cp –R /var/www/[nome-do-diretório-tede] /var/www/[nome-do-backup]

Para as bases de dados, o sistema TEDE possui duas bases de dados, TDE e TDE_SUBMISSÃO, em banco de dados MySql. Assim, é importante que a cópia de segurança contemple as duas bases de dados. Para fazer a copia das bases de dados, pode-se fazer uso das facilidades do banco de dados MySql, da seguinte forma:

mysqldump -u [nomedousuario] -p [nomeBanco] > [nomeBackUp]
Descompactar o plugin de exportação

O Plug-in de exportação deve ser descompactado ou copiado para o diretório raiz do sistema TEDE, sobrescrevendo alguns programas. Por isso, é importante a copia de segurança. O Plug-in de exportação possui uma nova pasta chamada “arquivo-exportacao” e alguns novos programas a serem sobrescritos na pasta “tde-admin”. Deve-se ter cuidado para manter os programas já existentes, apenas copiar ou sobrescrever os novos programas. A estrutura do Plug-in de exportação é o seguinte:

  • Arquivo-exportação (pasta vazia em que as teses e dissertações serão exportadas, pasta destino dos dados exportados)
  • tde-admin (pasta existente no sistema TEDE, com os programas novos e alterados)
    • Biblioteca (pasta existente no sistema, com novos programas)
      • export.php (programa exportador)
    • detalhar_export.php (página de detalhamento da exportação)
    • diretorio_export.php (arquivo para configuração do diretório de saída da exportação – padrão: arquivos_exportacao)
    • excluir_export.php (página de exclusão de uma exportação)
    • exportar.php (página de detalhamento da exportação)
    • tde_admin.php (página de administração do sistema TEDE, único programa a ser sobrescrito, para adicionar a opção de menu de exportação)
    • tela_export.php (página de exportação)
      • log-export.sql (script para alteração da base de dados, TDE, do sistema TEDE para criar tabela para conter os registros de logs da exportação).
Verificar permissões

Como o Plug-in precisar criar pastas e arquivos no diretório “arquivos_exportacao”, o sistema TEDE requer permissão de escrita neste diretório. Para tanto, use o comando de sistema operacional chmod com o argumento –R (recursivo a todos os subdiretórios) e 755 (7=permissão total para o dono do sistema, 5=leitura e execução para os membros do grupo do dono do sistema, e 5= leitura e execução para os demais usuários). Assim, de forma padrão, o comando ficaria assim:

chmod –R 755 [usuário-Apache:grupo-Apache, geralmente o www-data para os dois] arquivo-exportacao 

Para verificar o usuário dono do sistema, pode-se dar o comando “ps – ef | grep apache”. Uma lista é apresentada, que na primeira coluna aparece o dono do sistema, que, geralmente, é o www-data.

Criar tabela de registros de log de exportação

Como o Plug-in de exportação contempla o registro e visualização do procedimento de exportação, diretamente na interface do sistema TEDE, uma tabela de banco de dados deve ser criada para esse fim. Para tanto, o arquivo “log_export.sql” é um script MySql que cria essa tabela, que, também, pode ser criada manualmente com o comando em SQL (Structured Query Language), apresentado a seguir:

CREATE TABLE IF NOT EXISTS `log_export` (
`le_data` datetime NOT NULL,
`tsIdentificador` int(11) NOT NULL,
`le_metadados` text,
`le_arquivos` text,
`le_diretorio` varchar(200) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Execução da exportação

A execução da exportação das teses e dissertações do sistema TEDE, no formato DSpace, dá-se na página de administrador. Para tanto o usuário deve ter acesso (usuário e senha com perfil de administrador do TEDE) para executá-lo. Ao entrar na página do administrador, uma nova opção no menu à esquerda se apresenta “Exportador DSPACE”, como mostra a figura abaixo:

Tela inicial do módulo Administrador sistema do sistema TEDE.
TelaInicialTedeAdm.jpg

Ao clicar na opção de menu “Exportador DSPACE”, uma nova tela será apresentada com um menu com duas opções “Exportar” e “Visualizar”, como mostra a figura abaixo. Esta é uma página de histórico e que mantêm as informações da última exportação. Para exportar as teses e dissertações, clique em exportar, para visualizar o resultado da exportação, clique em “Visualizar”.

Telavisualização.jpg

Na tela de visualização, há a opção de detalhar o processo de exportação, clique em “detalhar”. Assim, o sistema apresenta uma listagem de todas as teses e dissertações exportadas e o status final do processo (figura abaixo). Assim, pode-se verificar os registros que resultaram em erro, ou notificações de alerta, na exportação e fazer as devidas correções.

TelaDetalhamento.jpg

Ao clicar na opção de menu “Exportar” a tela de exportação será carregada, e será permitido filtrar objetos para exportação. Este filtro será feito de acordo com os atributos “Programa de Pós-Gradução” e “Grau” (Mestrado, Doutorado). É ainda possível escolher se deseja que os itens exportados fiquem todos em uma única pasta ou em pastas separadas, novamente de acordo com o nome do Programa de Pós-Graduação e Grau.

Esse procedimento pode ser feito várias vezes, pois o sistema cria uma estrutura nova para cada exportação das teses e dissertações. Assim, ao se verificar, pelo detalhamento algum problema, pode-se corrigir e reexecutar a exportação. A exportação pode demorar alguns segundos, ou, para uma execução de grande vulto, algumas dezenas de minutos, pois o sistema tem que criar, para cada tese ou dissertação, uma patas com arquivos do item.

TelaExportação.jpg

Ao término da exportação, a tela de resumo do processo será apresentada (figura abaixo). Nessa página, pode-se verificar as condições de termino da exportação, quantidade de itens exportados e erros. Da mesma forma, pode detalhar o processo para verificar os registros em que ocorreram erros, para ajustar e reexecutar a exportação.

TelaResumoExportação.jpg

Ao executar a exportação, o Plug-in cria um sistema de identificação da exportação, na pasta “arquivo_exportação”, conforme a data e hora da exportação. Assim, para cada exportação um diretório será criado para conter, exclusivamente, aquela exportação. Nesse caso, o diretório “arquivo exportação” terá várias subdiretórios, um para cada exportação executado.

Dentro da pasta de exportação estará a seguinte estrutura de diretórios:

  • Exportados (itens que foram exportados sem qualquer ocorrência de falha);
  • _erro_itens_triagem (itens que necessitam de tratamento especial, devido à ocorrência de erros na exportação)

Os erros de exportação serão armazenados em relatórios com o nome “logfile”, que dentro da pata de cada item que apresentou problema. Portanto aconselha-se realizar a importação dos itens da pasta “Exportados” e então prosseguir com uma análise caso a caso para cada objeto que pertencente ao diretório “_erro_itens_triagem” Para cada tese ou dissertação exportada existirá uma pasta, numerada sequencialmente, com os seguintes arquivos:

  • Contents (arquivo texto com o conteúdo da pasta, pois uma tese ou dissertação pode ter mais que um arquivo do texto completo, estar dividido em volumes e possuir um texto anexo da licença dos documentos)
  • dublin_core.xml (arquivo contendo os metadados da tese ou dissertação, no formato QDC para o DSpace)
  • logfile (presente somente quando há erro na exportação do item)
  • Arquivos da tese ou dissertação (os arquivos de texto completo)

A pasta de exportação, com as TDs exportadas, deve ser copiada para o servidor do DSpace, para o processo de importação. Caso estejam em servidores diferente, deve-se ter o cuidado de transferir e assegurar a codificação UTF-8, para evitar problemas na importação.

Plugins

Desenvolvimento de plugins para Dspace

Plugins, no âmbito da informática, são elementos responsáveis por agregar ou complementar funcionalidades a um software. Em outras palavras, são módulos de extensão que ampliam a capacidade de determinado software, fazendo com que ele passe a atender propósitos específicos. Assim, adicionam funcionalidades sem interferir na arquitetura da ferramenta, podendo ser anexado sem alterar estruturalmente os programas que compõe um software.

Os Plugins apresentados aqui alinham-se aos interesses expressos por muitos gestores de repositórios institucionais que utilizam o DSpace e desejam agregar novas funcionalidades, sem que seja preciso instalar outras ferramentas. Com isso, tem-se uma economia de tempo e recurso na aprendizagem de manuseio do software, por apenas agregar funcionalidades ao DSpace, seguindo a mesma forma de operação.

Nesse contexto, o desenvolvimento dos Plugins apresentados seguiu estratégia usada pela comunidade internacional, que colabora com a evolução tecnológica do DSpace, visto que, o desenvolvimento de funcionalidades por meio de Plugins no projeto DSpace é extremamente comum. Com isso, possibilita o compartilhamento com a comunidade usuária da ferramenta, contribuindo para o desenvolvimento do código original.

Esta iniciativa possui as mesmas características de outras funcionalidades desenvolvidas pela comunidade internacional colaborativa que foram agregados ao DSpace, tais como a interface web XMLUI, desenvolvida pela empresa @Mire e o XOAI, feito pela LynCode, que se integraram a distribuição padrão do DSpace. Com isso, espera-se futuramente que os Plugins desenvolvidos no âmbito desta consultoria possam ser enviados para o Comitê Gestor do DSpace para integração.

A forma de desenvolvimento da plataforma DSpace o qual é mantido por uma comunidade internacional colaborativa admite a elaboração de plugins para implementação funcionalidades não existentes, o que é algo comum e se configura como o primeiro passo para aceitação de uma contribuição substancial de desenvolvimento do código original. Foi exatamente essa situação que gerou a criação da interface XMLUI, pela empresa @Mire, e da XOAI, pela Lyncode, pacotes que agora se agregaram a distribuição padrão.

Estratégia para geração de plugins

Diversas funcionalidades foram criadas para atender os requisitos do TEDE 2. Dada a grande quantidade de funcionalidades, não é viável criar um plugin para cada funcionalidade criada ou modificada. Caso essa solução fosse tomada, haveria um grande número de plugins onde as unidades poderiam não ser tão representativas e o gerenciamento da diversidade de plugins se tornaria uma atividade complexa. Em acordo com o IBICT, os plugins serão disponibilizados em forma de grupos, que serão reexaminados após a conclusão da implementação de todas funcionalidades. Isso é, as modificações serão concluídas em sua plenitude para então ocorrer a delimitação definitiva dos plugins. Em síntese, os plugins só deverão ser concebidos quando todas as funcionalidades forem aceitas pelo IBICT e tiverem excelente nível de estabilidade (ausência de bugs).

Uma vez que as funcionalidades estejam concluídas, os plugins serão criados e disponibilizados no repositório de versionamento do TEDE 2: https://github.com/ibictbr/TEDE. Será uma área no GitHub dedicada ao armazenamento dos plugins do TEDE 2.

Em termos técnicos, os plugins serão entregues em forma de PATCHES. Patches são um conjunto de instruções que visam a modificação de determinados artefatos, tende a modificar o estado inicial desses artefatos para que estes sejam capazes de atender dada necessidade. Isso é, imaginando de determinado programa possua as funcionalidades “A” e “B” e deseja-se adicionar uma funcionalidade “C”. Tal procedimento pode ser feito por meio da aplicação de patches, onde este conhece as funcionalidades “A” e “B” e sabe aonde inserir novos conteúdos que irão resultar na funcionalidade “C”. A aplicação de patches é uma metodologia comum no ciclo desenvolvimento de softwares e todos sistemas gerenciadores de modificação (CVS, GIT e SVN) suportam essa metodologia. Os sistemas operacionais Linux, possuem suporte nativo a paches.

Todos os plugins concebidos serão testados diretamente no código fonte do DSpace (versão 4.2) sem modificações. Em outras palavras, os plugins serão testados em uma instalação do DSpace que não contenha intervenções no código fonte disponibilizado pelo DuraSpace (fundação mantenedora do DSpace). Quando os plugins do TEDE forem concebidos, além do próprio plugin, também será disponibilizado um manual que instrua o responsável pela aplicação do “pach” acerca dos procedimentos necessários para que a aplicação seja bem sucedida.

Requisitos do DSpace para receber plugins

Dado que o DSpace é um software livre e possui evolução contínua, é necessário que os plugins do TEDE 2 sejam criados em cima de releases oficiais e estáveis do DSpace. Isso permite que os plugins sejam construídos em cima de uma base sólida (versão estável), além disso também há a garantia de que o código do DSpace não será modificado enquanto um plugin é concebido. Em termos técnicos, os plugins do TEDE 2 serão construídos tendo como base TAGs do DSpace.

Proposta de plugins

Estatísticas com gráficos

Propósito

Melhorar estatísticas nativas do DSpace, aprimorando folhas de estilos e dispondo de gráficos iterativos,.

Descrição

As estatísticas do módulo JSPUI interface utilizada no TEDE ainda não dispõem de elementos que a tornam interativa, de leitura fácil e agradável. Sabes-e que uma estatística bem disposta e organizada é objeto apreço de gestores de repositórios.


Demonstração das estatísticas nativas do DSpace:
DesmonstraçãoEstatisticas.jpg


Funcionalidade das estatísticas criada para o TEDE:
FuncionalidadeEstatisticas.jpg


BugFixes para DSpace

Propósito

Implantar correção de bugs "nativos" do DSpace. Os referidos bugs foram identificados pelo IBICT e tiveram correção solicitada no TEDE.

Descrição de bugs encontrados na versão 4.2
  • Vocabulário controlado: Correção de bug na seleção de “nós” da árvore. Nessa situação o sistema impede a continuidade do fluxo, informando que o campo de metadado regido por vocabulário controlado não foi preenchido;
  • Políticas de embargo: na tela de políticas de embargo, caso o usuário insira um texto com mais de 100 caracteres o sistema apresenta erro interno;
  • Ferramenta de busca: caso o usuário insira o argumento de busca com o sinal “/” há ocorrência apresentação de tela de erro.

Formulário de entrada e interoperabilidade

Propósito

Garantir às instâncias do DSpace que desejam prover informações para a BDTD utilizem mesmo padrão de metadados. Isso significa que um mesmo conjunto de metadados será utilizado e que o preenchimento desses será convencionado, conforme as especificações do TEDE.

Descrição detalhada de modificações
  • Preenchimento de metadados: Conforme especificação das diretrizes DRIVER(Padronização de metadados a fim de propiciar maior fluidez na interoperabilidade dos metadados) , além da utilização de um conjunto 3 específico de metadados isso incube em:
    • Efetuar o preenchimento do idioma de metadados no padrão “ISO6392”, a regra deve ser aplicada tanto para os metadados gerados pelo sistema quanto metadados inseridos pelo usuário via ferramenta de submissão;
    • Recuperação da URL da licença utilizada nos bitstreams do item e persistência dessa em metadado;
    • Preenchimento do mime type dos arquivos submetidos como metadado.


Abaixo print de metadados, obtido a partir de seleção de resultados da base de dados:
Metadados.jpg

-A linha de número “2” demonstra o preenchimento da URL da licença do arquivo;

-A linha de número “3” demonstra o preenchimento do mime type do arquivo;

-A coluna “text_lang” apresenta utilização do padrão “ISO6392” no preenchimento de idiomas.

  • Controle de autoridade:

A filtragem de sugestões oriundas de value pairs do arquivo “input-forms.xml” não é funcional. Ao passo que o usuário insere novos argumentos de busca, a lista de sugestões não se adapta aos novos termos (palavras, caracteres) de filtro. Além disso, constatou-se um outro problema na persistência dos identificadores de autoridade: o subsistema de controle de autoridade espera que os referidos identificadores sejam representados por números, contudo para esse tipo de autoridade (baseada em conteúdo do arquivo “input-forms”) o DSpace estava permitindo a persistência de valores não numéricos, o que acarretava em erro no ato de indexação dos metadados, rotina geralmente disparada no ato de publicação de itens. Para sanar a situação supracitada, foram criados identificadores do tipo hash, que têm como entrada caracteres e resultam em números. Em outras palavras, para uma dada entrada do tipo “alfa numérica” o resultado produzido pelo hash terá sempre o mesmo número.


  • Seleção de metadados:

Quando um novo metadado é inserido no DSpace, automaticamente o sistema vincula o dioma do metadado com o padrão do repositório. Isso é, se o idioma padrão do repositório é “pt_BR”, automaticamente, o DSpace irá vincular esse idioma com todas as entradas. Em outras palavras, tudo que for inserido no formulário de submissão será registrado para o idioma “pt_BR”. Contudo, ocorre que alguns metadados necessitam ser preenchidos com conteúdo em outro idioma e nesses casos não é desejável que o idioma padrão seja utilizado. O TEDE permite que o usuário selecione o idioma associado a determinado campo de entrada (metadados). Em outras palavras, é possível indicar metadados para receber o idioma associado ao valor a ser inserido.


Funcionalidade na seleção de idiomas para metadados:
SeleçãoIdiomasMetadados.jpg


  • Modificação das perguntas iniciais:

As produções depositadas no TEDE são passíveis de fomento, isso é, pessoas ou instituições podem apoiar determinado trabalho. Sendo assim, criou-se um campo no formulário de submissão do TEDE 2 para registro da informação de fomento. Contudo, visando evitar que o campo seja apresentado para casos onde não há fomento - e por consequência minimizar a possibilidade de preenchimento indevido de metadado - foi disponibilizada uma pergunta no início da submissão, que indaga o submissor a respeito do fomento. O DSpace permite que uma página de “perguntas inicias” seja apresentada ao usuário, contudo as perguntas existentes, assim como o tratamento das respostas não atendia a necessidade do TEDE. Sendo assim, a funcionalidade foi modificada para contemplar o tratamento do campo “fomento”.


Pergunta inicial sobre existência de fomento:
PerguntaInicial.jpg


  • Preenchimento automático da citação

No meio acadêmico, a citação de produções (Artigos, Teses, Dissertações, TCCs, etc…) é extremamente importante, dado que identifica obra e autor. O preenchimento adequado da citação implica na boa indexação e facilidade para recuperar (buscar) obras. Para minimizar problemas de preenchimento da citação o TEDE 2 provê o preenchimento automático desse campo. Para tal, o sistema extrai informações de metadados, registrados previamente, e as dispõe no padrão de citação, com exceção das informações “quantidade de folhas” e “local da defesa”. Estas necessitam de entrada manual do usuário e foram dispostas na citação em forma de variáveis de preenchimento obrigatório. O sistema impede que a submissão seja evoluída caso as variáveis não sejam substituídas por valores válidos.


Preenchimento automático da citação, com apresentação de mensagem de erro relativa ao não preenchimento das variáveis:
PreenchimentoCriação.jpg


  • Dica de preenchimento de campo

A forma de apresentação de texto de ajuda para preenchimento de metadados foi enriquecida no TEDE, tornando o acesso à informação mais rápido e interativo. Usualmente no DSpace, quando os usuários depositantes necessitam recorrer a documentos de apoio, se deparam com uma página onde são dispostos conteúdos em abundância, inclusive aqueles que provavelmente não são de seu interesse no momento. O referido plugin visa disponibilizar para o usuário somente as informações que se aplicam ao campo em questão, orientando-o no que concerne às diretivas de preenchimento do metadado.


Apresentação de dica (hint) para campos da submissão:
Hint.jpg


  • Preenchimento de metadados relacionados ao embargo

Visando prover informações de acesso ao item para ferramentas de coleta, foi criada uma funcionalidade dedica à persistência das referidas informações em metadado. O metadado pode ser preenchido com conteúdo que indique se o item é livre, embargado ou restrito. Caso o item seja embargado, um outro metadado será registrado indicando a data limite do embargo.


Tela de preenchimento de informações de acesso ao item
PreenchimentoAcesso.jpg


  • Componente para seleção de data

O campo de data do formulário de submissão foi enriquecido, a fim de permitir facilidade no manuseio no preenchimento de datas.


Componente de seleção de data
ResultadoExportação.jpg

Exportação de metadados em formato de citação

Propósito

Permitir que itens publicados possam ser exportados para padrões convencionados no meio acadêmico: BiBTex e EndNote.

Descrição

Na ficha do item publicado, o TEDE disponibiliza a opção de download do item nos formatos supracitados. Para preenchimento do arquivo, são extraídas informações dos metadados (descrição, título, etc…). Essas informações também são utilizadas para geração de um número para identificação do autor. A construção dos arquivos é baseada na utilização de modelos, que permitem a flexibilização da sintaxe do arquivo, assim como agregação de novos metadados.


Disposição de ícones para exportação em BibTex e EndNote
IconesExportaçao.jpg


Arquivos resultantes da exportação
ResultadoExportação.jpg


Página inicial

Propósito

Tornar a página inicial do DSpace mais interativa, por meio de adição de nuvem de TAGs e melhoramento das “facetas” apresentadas na página inicial.

Nuvem de TAGs

A nuvem de TAGs do TEDE é composta por informações providas pelo framework SOLR. Essas obtidas são dispostas por intermédio de javascript, sendo este o responsável por dar característica de “nuvem” às informações. A funcionalidade também permite que a quantidade de termos a serem apresentados seja modificada, por meio de parâmetro.

Facetas com botão de expansão

Um dos adventos da nova interface JSPUI do DSpace (apresentada na versão 4.x) é a utilização da busca facetada (chamada de Discovery). Na página inicial opções de busca facetada são apresentadas por padrão na referida interface. No TEDE 2, a funcionalidade foi melhorada para permitir a expansão/retração do conteúdo da sugestão de busca. Com isso, ganha-se maior espaço na página inicial, permitindo que novos elementos sejam dispostos ao usuário


Apresentação da nuvem de tags, e apresentação das caixas de busca facetada retraídas.
PaginaInicial.jpg


Compartilhamento com mídias sociais

Propósito

Permitir que usuários do DSpace possam compartilhar em mídias sociais conteúdos de páginas do DSpace. O plugin irá permitir o compartilhamento de fichas de itens assim como resultado de buscas.


Barra de compartilhamento em mídias sociais
MidiasSociais.jpg


Tema gráfico do TEDE

Propósito

Propiciar às instalações do DSpace que utilizarem esse plugin a experiência visual do TEDE. Isso implica na utilização predominante da cor verde, enriquecimento de páginas do DSpace - a exemplo da página de busca que não possuía folhas de estilo do bootstrap(Framework de folha de estilo, possui características “responsivas” e interface gráfica rica) em seu formulário.

Página de busca com recursos de CSS melhorados
TemaTEDE.jpg

Importação de dados do TEDE legado

Propósito

Permitir que usuários do DSpace - não necessariamente pessoas de TI - sejam capazes de efetuar a importação de dados exportados pelo TEDE legado. O plugin é uma alternativa de funcionalidade gráfica para o comando dspace import.


Página de seleção de diretórios para importação
ImportaçãoDados.jpg

Geração de link para thumbnail

Propósito

Registrar em metadado o link (URL) para os thumbnails dos arquivos do item.

Pré-visualização em janela suspensa

Propósito

Permitir a pré-visualização de determinados tipos de arquivos, evitando a obrigatoriedade de download dos mesmos.

Layout

Folha de estilo DSpace

Atualmente, o DSpace é dotado de duas interfaces gráficas: JSPUI, e XMLUI(concebida na versão 1.5 do DSpace).

A interface gráfica, JSPUI faz uso de JSPs (Java Server Page) para renderizar suas páginas. Isso é, os JSPs são executados no servidor (Tomcat, Jetty) resultando na entrega de um HTML para o usuário WEB. Até a versão 4.x do DSpace, as folhas de estilo eram empregadas de maneira precária na interface JSPUI: eram resultado de processamento de arquivos JSP, em outras palavras, ao invés de serem empregados arquivos do tipo “CSS” para registro do estilo, eram utilizadas páginas JSP, o que ocasionava em dificuldade de entendimento e desenvolvimento.

Ao passo em que a interface JSPUI apresentava essa característica, foi concebido um novo módulo de interface gráfica na versão 1.5: o XMLUI. Trata-se de uma interface que emprega tecnologias evoluídas para o processamento de folhas de estilos, a exemplo da utilização de XSLTs como conversores de XML para HTML e da clara divisão entre camada de serviço e interface gráfica. A interface XMLUI permite que o mantenedor de determinada instalação do DSpace alterne entre temas do repositório com pouco esforço e pouco (ou nenhum) impacto nas funcionalidades. A partir da versão 1.6, a interface XMLUI foi enriquecida com novos temas que representavam melhoria na experiência visual do repositório.

A partir do momento em que o módulo XMLUI fora fomentado por novos temas, a interface JSPUI permaneceu praticamente inerte: sua interface gráfica estava defasada com relação ao módulo XMLUI, quando a comparação era feita com outros sites da WEB o contraste se exponenciava. Contudo, na versão 4.0 o módulo JSPUI foi reformulado, recebendo tecnologias de ponta no que tange a folha de estilo e o XHTML. O HTML 5 foi aderido em conjunto com o CSS 3. Além disso, foi adotado o framework Bootstrap, que além de dispor de boa experiência visual também possui características responsivas: permite que um mesmo site seja bem visualizado tanto em dispositivos móveis quanto em PCs. Para conhecer mais detalhes sobre a inovação ocorrida no módulo JSPUI, a apresentação disposta no link a seguir pode ser utilizada como referência: http://pt.slideshare.net/DuraSpace/2514-dspace-user-interface-innovation-presentation-slides.

Dada a evolução da interface gráfica JSPUI no DSpace 4.0 e a facilidade de manutenção, essa foi a interface adotada como padrão no TEDE. Sabe-se que a interface XMLUI, apesar de ser rica em termos tecnológicos, representa grande curva de aprendizado no entendimento das tecnologias empregadas, fator que dificulta o processo de customização.

Interface gráfica do DSpace 1.8, com a interface JSPUI
InterfaceJSPUI1.8.png


Interface gráfica do DSpace 1.6, com a interface XMLUI e tema Mirage
InterfaceXMLUI1.6.png

Estratégia de modificação do Layout do TEDE

Estilo do TEDE, assim como as folhas de estilo foram modificadas conforme instruções de boas práticas de customização do DSpace. Isso é:

  • Os módulos de sobrescrita foram utilizados, a fim de evitar modificação no código fonte original. Em outras palavras, os arquivos de customização foram copiados do código original e modificados no módulos de sobrescrita, no caso da interface gráfica o módulo “jspui”:
TEDE/dspace/modules/jspui
  • As customizações de folha de estilo foram efetuadas no módulo de sobrescrita e foi feito uso do arquivo de sobreposição “nativo” da folha de estilo: o dspace-theme.css.

O arquivo pode ser encontrado na seguinte localização do módulo de sobrescrita:

TEDE/dspace/modules/jspui/src/main/webapp/static/css/bootstrap/dspace-theme.css

O arquivo supracitado é a última folha de estilo importada nos cabeçalhos HTML do DSpace (tag “header”). Isso indica que, todas instruções presentes no arquivo terão precedência com relação às declaradas anteriormente.

Dessa maneira, o TEDE se fez utilizar do tema de CSS nativo do Bootstrap (presente por padrão no DSpace) e teve as diferenças de folha de estilo com relação ao tema original registradas no referido arquivo. Por exemplo, o tema nativo do DSpace tem as cores “preta” e “azul” predominantes. Essas características foram sobrepostas nesse arquivo.

Tabela de cores
TabelaCores.png


Tela Inicial TEDE2
TelaInicial.png


Tabelas

Frameworks adicionados ao DSpace

(Tabela 1)
Framework Tipo Finalidade Página
ChartJS Javascript Enriquecimento da funcionalidade de estatística do TEDE 2 http://www.chartjs.org
Foundation - Reveal Javascript Apresentação de janelas em forma de “Modal” http://foundation.zurb.com
jQClouds Javascript API de suporte à apresentação de termos em forma de nuvem na página inicial http://www.jquerycode.com/data/jqcloud/
qtip Javascript Utilizada para apresentação de “dicas” de preenchimento de campos no formulário de submissão http://craigsworks.com/projects/qtip/
Apache velocity Java API que viabiliza utilização de templates para geração de arquivos. Utilizada nas funcionalidades que envolvem exportação da citação http://velocity.apache.org/

Matriz de rastreabilidade de funcionalidades

A tabela abaixo relaciona funcionalidades customizadas ou criadas para o TEDE 2 com seus pontos de entrada no código fonte:


(Tabela 2)
Funcionalidade Ponto(s) de entrada
Estatísticas com gráficos dspace/modules/jspui/src/main/webapp/displaystatistics.jsp

dspace/modules/jspui/src/main/java/org/dspace/app/webui/servlet/DisplayStatisticsServlet.java

Preenchimento automático de metadados exceto citação e URL e Thumbnails dspace/modules/additions/src/main/java/org/dspace/submit/step/PostUploadStep.java
Preenchimento automático de metadado para citação dspaceapi/src/main/java/org/dspace/submit/step/DescribeStep.java
Preenchimento automático de metadado para URL de Thumbnails dspaceapi/src/main/java/org/dspace/app/mediafilter/MediaFilterManager.java
Seleção de idioma para metadados dspaceapi/src/main/java/org/dspace/app/util/DCInputsReader.java

dspace/modules/jspui/src/main/webapp/submit/editmetadata.jsp

Modificação das perguntas iniciais dspaceapi/src/main/java/org/dspace/submit/step/InitialQuestionsStep.java

dspace/modules/jspui/src/main/webapp/submit/initialquestions.jsp

Dica de preenchimento de campo do formulário de entrada dspace/modules/jspui/src/main/webapp/submit/describeitem.jsp
Preenchimento de metadados relacionados ao embargo dspaceapi/src/main/java/org/dspace/submit/step/UploadWithEmbargoStep.java

dspace/modules/jspui/src/main/java/org/dspace/app/webui/jsptag/AccessSettingTag.java

Componente para seleção de data dspace/modules/jspui/src/main/webapp/submit/describeitem.jsp

dspaceapi/src/main/java/org/dspace/submit/step/DescribeStep.java

Exportação de metadados em formato de citação dspace/modules/jspui/src/main/webapp/displayitem.jsp

dspace/modules/jspui/src/main/java/org/dspace/app/webui/servlet/DownloadItemExportServlet.java

Nuvem de TAGs dspace/modules/jspui/src/main/webapp/discovery/cloudtag.jsp

dspace/modules/jspui/src/main/java/org/dspace/app/webui/discovery/CloudTagProcessor.java

Facetas com botão de expansão dspace/modules/jspui/src/main/webapp/discovery/staticsidebarfacet.jsp
Compartilhamento com mídias sociais dspace/modules/jspui/src/main/webapp/static/js/social.jsp

dspace/modules/jspui/src/main/webapp/displayitem.jsp

Tema gráfico do TEDE 2 (folhas de estilo) dspace/modules/jspui/src/main/webapp/static/css/bootstrap/dspacetheme.css
Importação de dados do TEDE legado dspace/modules/jspui/src/main/webapp/dspaceadmin/foldermetadataselection.jsp

dspace/modules/jspui/src/main/java/org/dspace/app/webui/servlet/FolderMetadataSelectionServlet.java

Pré-visualização em janela suspensa dspace/modules/jspui/src/main/java/org/dspace/app/webui/jsptag/ItemTag.java

dspace/modules/jspui/src/main/webapp/static/js/itemview.jsp

Compartilhamento de busca por email dspace/modules/jspui/src/main/webapp/search/sharesearchemail.jsp

dspace/modules/jspui/src/main/java/org/dspace/app/webui/servlet/ShareEmailSearchServlet.java

Comunidades e coleções em forma de árvore dspace/modules/jspui/src/main/webapp/communitylist.jsp

Características e versionamento de softwares de apoio

(Tabela 3)
Característica Valor utilizado
Encoding de arquivos UTF-8
Versão do Java 1.7 (JDK)
Versão do Apache Tomcat 7.0
Versão do Apache Ant 1.9.2
Versão do Apache Maven 3.1.1
Versão do PostgresSQL 9.0

Referências

BAUDOIN, P.; BRANSCHOFSKY, M. Implementing an Institutional Repository: The DSpace Experience at MIT. Science & Technology Libraries, v. 24, n. 1/2, p.31-45, jun. 2004.

BJÖRK, B. C. A lifecycle model of the scientific communication process. Learned Publishing. v. 18, n. 3, p. 165-176. 2005. Scientific communication life-cycle model. 2005. Disponível em: < http://oacs.shh.fi/publications/Model35explanation2.pdf >. Acesso em 20 mar. 2010.

CELESTE, Eric; BRANSCHOFSKY, Margret. Building DSpace to Enhance Scholarly Communication. E-serials: Publishers, Libraries, Users and Standards, 2nd ed., New York, p. 239-247. 2002. Disponível em: <http://dspace.mit.edu/handle/1721.1/26704>. Acesso em: 16 set. 2013.

COSTA, S. M. S. The impact of computer usage on scholarly communication amongst academic social scientists. 1999. 302 p. Tese (Doutorado em Ciência da informação) - Loughborough University, Department of Information Science, Loughborough, Inglaterra.

LEITE, F. C. L. Como gerenciar e ampliar a visibilidade de informação científica brasileira - Repositórios institucionais de Acesso Aberto. 2009

ZIMAN, J. M. An Introduction of science studies: The Philosophical and Social Aspects of Science and Technology. Cambridge: Cambridge University Press, 1984.