O documento descreve a integração bem-sucedida dos sistemas NOU-RAU e VIRTUA da UNICAMP para fornecer um sistema on-line para armazenamento e busca de documentos digitais. O sistema usa o protocolo Z39.50 para integrar os bancos de dados e permite buscas, upload e correções de metadados de teses e dissertações.
1. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL INTEGRAÇÃO DOS SISTEMAS NOU-RAU e VIRTUA: uma experiência que deu certo! Gilmar Vicente Bibliotecário Diretoria de Tecnologia de Informação SBU - Sistema de Bibliotecas da UNICAMP Setembro - 2006
2. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Portaria GR Nº 85, DE 08/11/2001. Reitor: Hermano Tavares Dispõe sobre a criação da Biblioteca Digital da Universidade Estadual de Campinas.
3. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Prospecção Tecnológica 1. NOU-RAU 2. NDLTD 3. DSPACE
4. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL MOTIVAÇÃO Necessidade de um Sistema On-line para armazenamento e obtenção de documentos
5. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL METAS 1. Armazenar qualquer tipo de documento 2. Prover mecanismos de busca 3. Controlar aceitação de novos documentos 4. Ter uso simples e baixo custo de manutenção
6. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL ELEMENTOS PRINCIPAIS “Personagens” 1. Visitante: quem consulta o sistema 2. Colaborador: quem insere os documentos 3. Responsável: quem aprova 4. Administrador: quem gerencia a aplicação
7. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL COMUNICAÇÃO Visitante Colaborador Responsável Administrador Servidor de Aplicações
11. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL SUBTÓPICOS - NÍVEL 2 - APRESENTAÇÃO
12. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL SUBTÓPICOS - NÍVEL 2 - APRESENTAÇÃO 1
13. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL SUBTÓPICOS - NÍVEL 2 - APRESENTAÇÃO 2
14. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL SUBTÓPICOS - NÍVEL 2 - APRESENTAÇÃO 3
15. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL SUBTÓPICOS - NÍVEL 2 - APRESENTAÇÃO 4
16. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL DADOS DE CONTEÚDO - PÁGINAS PREFACIAIS 1. Autor, Título, Palavras-chave, Autores secundários 2. Informações adicionais 3. Dono, Categoria e Formato 4. Arquivo, Tamanho, Data da Criação e Alteração 5. Visitas e Downloads
17. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL CATEGORIAS E FORMATOS 1. Um único tópico pode aceitar diversas categorias: Ex.: Tese, Artigo, Figura, Tabela, etc. 2. Uma categoria define um ou mais formatos de arquivos válidos: PDF, DOC, GIF, WAV e qualquer tipo de Imagem
18. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL MECANISMOS DE BUSCA Suporte para os seguintes formatos: 1. ASCII, HTML, XML, SGML e WML 2. LaTex, Tex e DVI 3. PostScript e PDF 4. Word, Excell e Power Point
20. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Integração de Dados: NOU-RAU versus VIRTUA Elementos: 1. Biblioteca YAZ - PHP - Protocolo Z39.50 2. VIRTUA - Servidor Z39.50
21. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Integração de Dados: NOU-RAU versus VIRTUA Z39.50 Definição: “ Z39.50 é um protocolo de comunicação entre computadores desenhado para permitir pesquisa e recuperação de informação - documentos com textos completos, dados bibliográficos, imagens, multimeios em redes de computadores distribuídos. Baseado em arquitetura cliente/servidor e operando sobre a rede Internet, o protocolo permite um número crescente de aplicações. E como esse ambiente é muito dinâmico, no qual o protocolo é aplicado, é preciso que a norma seja constantemente analisada e atualizada para proporcionar as mudanças de que os provedores e usuários de informação necessitam”
22. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Integração de Dados: NOU-RAU versus VIRTUA PHP/YAZ Definição: PHP/YAZ é uma extensão da linguagem de programação PHP que implementa as funcionalidades do protocolo Z39.50 e SRW/SRU. Essa extensão oferece uma interface ao toolkit YAZ, que é uma biblioteca desenvolvida em C/C++ para aplicações de restauração de informações que utiliza os protocolos Z39.50/SRW/SRU.
23. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Integração de Dados: NOU-RAU versus VIRTUA Z39.50 Client PHP/YAZ Z39.50 Server VIRTUA Bco Dados Oracle Relacional Textual Documental
24. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Estudo dos Formatos - Composição do Lay-Out Teses e Dissertações
25. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL , - Nº de Chamada 090 , , - Título, Sub-título, Responsabilidade. 245 , , - Local de Publicação, (s.n), Data da Public. 260 , - Último movimento 005 , - Identificação da Biblioteca 003 , - Chave de Identificação 001 Descrição de Conteúdo Tags
26. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL , - Notas de Resumo e Abstract 520 , , , , , , - Assunto pessoal, tópico, etc. 6XX , - Entradas secundárias 700 , - Indicação de nível 502 , - Orientador, Orientadores 500 , - Nº de Páginas, Ilustração 300 Descrição de Conteúdo Tags
27. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL , - Titulação 941 , - Banca 942 , - Data da Defesa 943 , - Área de Concentração 940 , - Localização e Acesso eletrônico 856 , - Entidade coletiva 710 Descrição de Conteúdo Tags
28. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Funções de Coleta PHP/YAZ <?php // NOU-RAU - Copyright (C) 2002 Instituto Vale do Futuro // This program is free software; see COPYING for details. function z3950_id_search($bibid) { // connects in the data base (UNICAMP) $id = yaz_connect('dewey.unicamp.br:XXXX/DEFAULT'); yaz_element($id, 'B'); // specify the Z39.50 resulting format yaz_syntax($id, 'usmarc');
29. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Funções de Coleta PHP/YAZ // do Z39.50 query and search $result = array(); yaz_search($id, "rpn", "@attr 1=1000 {$bibid}"); yaz_wait(array("timeout" => 120)); $error = yaz_error($id); if (!empty($error)) form("Por favor repita a procura [$error]"); $hits = yaz_hits($id); if ($hits == 0) form("Nenhum registro encontrado");$marc = yaz_record($id, 1, “ array"); if (is_array($marc)) { $record = z3950_extract_marc_record($marc); $result[$record['id']] = $record; } return $result;
30. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Funções de Coleta PHP/YAZ function z3950_extract_marc_record ($marc) { reset($marc); $a = array(); // array to be returned while (list($key, list($tag, $data)) = each($marc)) { $data = utf8_decode($data); // trasforma o conteude de utf8 para latin1 $data = ereg_replace("[- .,:/]+$"," ", $data); // tira os lixos do final das frases if (ereg("^3,([^)]*)3,@$", $tag, $res)) { // this follows the (3,xxx)(3,@) format if ($res[1] == '001') $a['id'] = $data; else if ($res[1] == '008') { $a['UF'] = substr($data, 12, 4); $a['Idioma'] = substr($data, 35, 3);
31. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Funções de Coleta PHP/YAZ } } else if (ereg("^3,([^)]*)3,([^)]*)3,([^)]*)$", $tag, $res)) { // this follows the (3,xxx)(3,xx)(3,x) format if ($res[1] == '100') $a['Citacao'] = $data; else if ($res[1] == '245') { if ($res[3] == 'a') $a['Titulo'] = $data; else if ($res[3] == 'b') $a['Titulo'] .= ' : ' . $data; else if ($res[3] == 'c') $a['Autor'] = $data; }
32. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Funções de Coleta PHP/YAZ else if ($res[1] == '246') { if ($res[3] == 'a') $a['Titulo_en'] = $data; else if ($res[3] == 'b') $a['Titulo_en'] .= ' : ' . $data; } else if ($res[1] == '260') { if ($res[3] == 'a') $a['LocaldaPublicacao'] = $data; else if ($res[3] == 'c') $a['DatadaPublicacao'] = $data; } else if ($res[1] == '500') $a['Orientador'] = $data; else if ($res[1] == '502') { $teste = split("-",$data);
33. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Login
34. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Busca
35. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Opções
36. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Resultado
37. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Vínculos Nou-Rau - Virtua
38. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Vínculos Nou-Rau - Virtua
39. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Vínculos Nou-Rau - Virtua
40. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Vínculos Nou-Rau - Virtua
41. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Correções
42. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Correções
43. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Partição teses.php - Salvando Correções
44. GRUPO DE USUÁRIOS - VTLS - VIRTUA - BRASIL Protocolo OAI-MHP Tipos de requisição 1. Identify 2. ListMetadataFormats 3. ListSets 4. GetRecord 5. ListIdentifiers 6. ListRecords