PASO 2 - Enriquecimiento de registros El programa VAMOS A HABLAR DE… Proyecto Objetivo y requisitos Desarrollo temporal Solución adoptada Proceso de carga Sistema de carga PASO 1 - Descarga de SFX PASO 2 - Enriquecimiento de registros El programa Enriquecimiento de registros Ficheros PASO 3 Carga en Aleph Desarrollo futuro 2
Multiplicar posibilidades de acceso OBJETIVO Y REQUISITOS Proyecto OBJETIVO Multiplicar posibilidades de acceso Catálogo como herramienta de integración REQUISITOS Periódico La más automatizado posible Sin coste económico Desarrollado por la Biblioteca 3
Enero 2007 - Puesta en producción de SFX Marzo 2007 - Primeras ideas DESARROLLO TEMPORAL Proyecto INICIO temprano Enero 2007 - Puesta en producción de SFX Marzo 2007 - Primeras ideas PARADA obligada Proyecto de catalogación retrospectiva (2008-2009) Auditoria interna (2008) Concurso de revistas (2009) Proyecto del Fondo de Especial Valor (2009-2010) FINALIZACIÓN rápida Junio 2009 - 6as. Jornadas Expania Agosto 2009 - Puesta en producción Mayo 2010 - Carga 8ª 4
Sistema de SOBRE-ESCRITURA Sencillez Carga MENSUAL SOLUCIÓN ADOPTADA Proyecto Sistema de SOBRE-ESCRITURA Sencillez Carga MENSUAL Actualización de SFX Procedimiento en 3 PASOS PASO 1 - Descarga de registros de SFX PASO 2 - Enriquecimiento de registros PASO 3 - Carga de registros en Aleph PROGRAMA ¿Por qué Perl? 5
Lenguaje VERSÁTIL heredero de UNIX Diseñado por Larry Wall en 1987 ¿PERL? Proyecto Lenguaje VERSÁTIL heredero de UNIX Diseñado por Larry Wall en 1987 Desarrollo de interactividad de la web Lenguaje INTERPRETADO de SCRIPT Rapidez, portabilidad, facilidad y flexibilidad ESPECIALIZADO en la manipulación de TEXTO Practical Extraction and Report Language Expresiones Regulares OPEN SOURCE Comunidad de usuarios y módulos (CPAN) ADEMÁS Instalado por defecto en Aleph Conocimientos previos del lenguaje 6
I WANT YOU… Mensaje oculto We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris. TIMTOWTDI Due to its verstatility, Perl is often referred as the Swiss Army knife of the programming languages 7
SISTEMA DE CARGA Proceso de carga SOBRE-ESCRIBIR RESERVAR ¿Cuántos registros? Crear y cargar registros MARC vacíos Programa carga-inicial.pl Obtener un rango de registros COMPROBAR ¿Es la reserva suficiente? ¿Hay que crear registros vacíos de relleno? Contador de cargas
DESCARGA DE SFX Proceso de carga – Paso 1 DECISIONES importantes ¿Qué targets? Targets de pago Publicaciones del Banco ¿Qué formato? Ventajas de XML ¿Qué periodicidad? Actualizaciones de SFX Adquisición de recursos CREAR perfil de exportación en SFX Revisión según adquisiciones 9
LOS DOMINIOS DE LA PANTALLA NEGRA Proceso de carga – Paso 2 10
EL PROGRAMA Proceso de carga – Paso 2 carga-mensual.pl 828 líneas Programación procedimental Estructuras de control y funciones Expresiones regulares y manejo de ficheros Mantenimiento y adaptación Declaración de variables Documentación Información en pantalla Estado del proceso Resumen de la carga 11
ENRIQUECIMIENTO DE REGISTROS Proceso de carga – Paso 2 ENRIQUECIMIENTO Borrado, modificación y creación de campos MARC Mejora de datos Adaptación a las prácticas de catalogación EXPRESIONES REGULARES (RegEx) MEJORAS DESTACABLES Enlaces internos Enlaces externos Título y notas ISSN 12
ENRIQUECIMIENTO - ENLACES INTERNOS Proceso de carga – Paso 2 CREACIÓN del campo LKR Equivalente al MARC 76X y 77X Fichero con ISSNs en formato papel Construido en el registro de SFX Enlace en los dos sentidos CREACIÓN del campo STA Campo de estado Tres posibilidades $aOCULTAR CARGASFX $aOCULTAR CARGASFX LKR $aOCULTAR SFXVACIO 13
ENRIQUECIMIENTO - ENLACES EXTERNOS Proceso de carga – Paso 2 MODIFICACIÓN del campo 856 Enlace al menú SFX 856 $u = OpenURL a nivel de ObjectID (090 $a) 856 $z = Texto del enlace = Ver el registro en SFX TRANSFORMACIÓN del campo 866 en 856 Enlace directo a las plataformas 856 $u = OpenURL a nivel de PortfolioiD (866 $z) 856 $z = Texto del enlace = 866 $a + 866 $x Traducción de información sobre disponibilidad Borrado de “Full Text” al final de $x 14
EJEMPLO DE ENLACES Proceso de carga – Paso 2 15
ENRIQUECIMIENTO - TITULO Y NOTAS Proceso de carga – Paso 2 MODIFICACIÓN del campo 245 Corrección del 2º indicador en títulos que comienzan con The y El 245_3 $$aEl Profesional de la Información Corrección de $a en títulos con (pre-1986) al final CREACIÓN del campo 590 Nota oculta con fecha y hora de la descarga $$aRegistro descargado de SFX (26/04/2010-13:32) CREACIÓN del campo 506 Restricciones de acceso $$aAcceso a la versión electrónica RESTRINGIDO al personal del Banco de España 16
ENRIQUECIMIENTO - ISSN Proceso de carga – Paso 2 MODIFICACIÓN del campo 022 Si el registros tiene campo 776 Se añade $b(en papel) $$a0000-0019$$b(en papel) TRANSFORMACIÓN del campo 776 en 022 Se añade $b(en línea) $$a2150-4008$$b(en línea) 17
ENRIQUECIMIENTO - OTROS CAMBIOS Proceso de carga – Paso 2 MODIFICACIÓN del campo LDR MODIFICACIÓN del campo 008 Pos. 00-05: fecha de la descarga (AAMMDD) Pos. 07-10: *SFX (en lugar de fecha de publicación) 100426b*SFX^^^^|||^|^pss^^^^|0^^^^|eng^d CREACIÓN de campos FMT, 006 y 007 BORRADO del campo 010 Campos NO MODIFICADOS: 210, 260 y 090 18
Ficheros de INFORMACIÓN carga-mensual.contador carga-mensual.log Proceso de carga – Paso 2 Ficheros de ENTRADA issn.aleph registros-sfx.xml Ficheros de INFORMACIÓN carga-mensual.contador carga-mensual.log Ficheros de SALIDA carga-mensual-inter.xml carga-mensual-AAAAMMDD.xml carga-mensual.seq issn.aleph.error 19
FICHEROS – CODIFICACIÓN DE CARACTERES Proceso de carga – Paso 2 CORRECCIÓN de registros descargados de SFX Títulos con entidad & en lugar de & Fichero intermedio corregido CODIFICACIÓN UTF-8 Evitar problemas en la carga en Aleph No utilizar una rutina de conversión Apertura y cierre de ficheros en modo UTF-8 20
37.741 registros en 71 segundos RENDIMIENTO Proceso de carga – Paso 2 REGISTROS procesados TIEMPO de proceso (tiempo de usuario Unix) 4.000 registros en 48 segundos ¿Cuál es el rendimiento con más registros? 37.741 registros en 71 segundos Prueba con datos de la UC3M 21
EJEMPLO Proceso de carga – Paso 2 22 http://www.screencast.com/t/ZWVmYzZl
CARGA EN ALEPH CARGAR registros DES-OCULTAR del OPAC Service MANAGE-18 Proceso de carga – Paso 3 CARGAR registros Service MANAGE-18 DES-OCULTAR del OPAC Service MANAGE-21 23
DIAGRAMA DE FLUJO Proceso de carga 24
FUTURO Desarrollo futuro MEJORAR el código POO y uso de módulos Mantenimiento y personalización INCLUIR materias CAMBIAR filosofía de carga Actualización vs. Sobre-Escritura FACILITAR su utilización 25
http://www.slideshare.net/secret/HaedQE8OPnQ9l0