1 / 30

EmpWeb – ABCD plugin

EmpWeb – ABCD plugin. Curso de capacitación para transferencia tecnológica Sección de configuración de bases de datos de usuarios e información bibliográfica Emiliano Marmonti Febrero 2010 emarmonti@gmail.com. Parte 1. Grupo de servlets. Empweb Obj Serv. Axis 1.x front-end. dbws.

Télécharger la présentation

EmpWeb – ABCD plugin

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EmpWeb – ABCD plugin Curso de capacitación para transferencia tecnológica Sección de configuración de bases de datos de usuarios e información bibliográfica Emiliano Marmonti Febrero 2010 emarmonti@gmail.com

  2. Parte 1. Grupo de servlets Empweb Obj Serv Axis 1.x front-end dbws Empweb Usr Serv IsisWrapper cisis MODS Local filesystem XML config Usuarios y Bib DB IsisDB – usuarios IsisDB – Obj Bib DB

  3. Parte 1. Grupo de servlets Empweb admin service Empweb query service Axis 1.x front-end Empweb admin service engine XML config Engine Webservices IsisDb add MySql connection Transactions … Pipelines Groovy interpreter

  4. Parte 1. Grupo de servlets TLD 1 XML config file GUI TLD 2 TLD 3 SOAP JSP files Empweb engine srvc

  5. Sección dbws

  6. Análisis del archivo xml de configuración de usuarios. Marco conceptual 1 XML (field/tag) BDD ISIS Tr1 (xsl) XML (normalizado) EmpWeb

  7. Análisis del archivo xml de configuración de usuarios <?xml version="1.0" encoding="UTF-8"?> <dbwsconf db="isis" type="users"> <!-- "location" is the directory where the Isis database resides. It may be an absolute path, or a path relative to the environment variable EMPWEB_HOME or the Java property empweb.home "collection" is the base name of the Isis database (the name of the .mst and all related files without the extension) --> <!-- Windows BBB version --> <location>/abcd/www/bases/users/data/</location> <collection>users</collection> <!-- Linux version <location>/var/empweb/db/isis/users</location> <collection>usu</collection> --> Como se relaciona con ABCD debe ir a buscar en el folder adecuado de usuarios la bdd users

  8. Análisis del archivo xml de configuración de usuarios <encoding></encoding> <decoding>iso88591</decoding> <subfieldDelimiter>^</subfieldDelimiter> <!-- This stylesheet transforms from "standard" Isis XML output, to Empweb's User XML data --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://kalio.net/empweb/schema/users/v1"> <!-- The output format is a userCollection according to Empweb's User Schema, version 1.0. Namespace: http://kalio.net/empweb/schema/users/v1 Schema location: empweb.home/common/xml/schema/users/v1/empweb-users-1-0.xsd --> <!-- Use this <xsl:copy-of select="." /> instead of <xsl:apply-templates /> for debugging and to see the actual XML output --> <xsl:template match="/recordset" > <userCollection dbname="isis"> <xsl:apply-templates /> </userCollection> </xsl:template> Definición real de la estructura de los registros convertida a XML

  9. Análisis del archivo xml de configuración de usuarios En color rojo están marcados los elementos con que cada registro ISIS de usuario será convertido a XML. <!-- para cada registro --> <xsl:template match="record" > <user> <xsl:variable name="idlength"> <xsl:value-of select="string-length(field[@tag='20']/occ/head)"/> </xsl:variable> <id><xsl:value-of select="substring(field[@tag='20']/occ/head, 1, $idlength)" /></id> <name><xsl:value-of select="field[@tag='30']/occ/head" /></name> <userClass><xsl:value-of select="field[@tag='10']/occ/subfield[@name='b']" /></userClass> <!-- The dates should have the YYYYMMDD format --> <expirationDate> <xsl:text> <xsl:value-of select="field[@tag='18']/occ/head" /> </xsl:text> </expirationDate> <login><xsl:text><xsl:value-of select="field[@tag='600']/occ/head" /></xsl:text></login> <password><xsl:text><xsl:value-of select="field[@tag='610']/occ/head" /></xsl:text></password> <email><xsl:text><xsl:value-of select="field[@tag='160']/occ/head" /></xsl:text></email> <photo><xsl:text><xsl:value-of select="field[@tag='620']/occ/head" /></xsl:text></photo>

  10. Análisis del archivo xml de configuración de usuarios <xsl:if test="field[@tag='312']/occ/subfield[@name='s' and starts-with(., '99')]"> <state>inactive</state> </xsl:if> <!-- El v304 guarda un codigo de carrera (en el fdt aparece erroneamente como codigo de biblioteca) El v302 es la descripcion de la carrera del codigo que esta en v304 <ucvu:dependencia code="022">PERIODISMO</ucvu:dependencia> Suspensiones y multas que vienen en la base de usuarios. Son ocurrencias del v312 con este fomrato: ^aDF^bEDU^u5^cA^f20050412 ^b: Código de Biblioteca ^a: Tipo movimiento (DF: devolución fuera de plazo; MO: moroso; RO: robo; PN: préstamo no autorizado; AB: Abono a multa) ^u: Unidades de multa ^s: Suspensión ^m: Material ^c: Colección del material ^f: Fecha del movimiento ^r: Comprobante --> </user> </xsl:template> </xsl:stylesheet> </dbwsconf> En color rojo están marcados los elementos con que cada registro ISIS de usuario será convertido a XML.

  11. Análisis del archivo xml de configuración de usuarios <query> <field name="id" db="primary">350</field> <field name="name" db="primary">300</field> <field name="userClass" db="primary">100</field> <field name="login" db="primary">600</field> </query> Esta sección define los diferentes criterios de búsqueda sobre esta base de datos y las líneas de la FST que se aplicará para hallar la expresión de búsqueda. O2/(350) Expresión de búsqueda

  12. Actividades • Cambiar en la definición de users el nombre del usuario por el campo 100, el apellido por el campo 101 y concatenarlo en la definición a presentar para empweb. • En una biblioteca en la que quieren implementar EmpWeb generan un campo con observaciones especiales en el tag 88^a, si el mismo posee un valor 0 el usuario no está habilitado a operar, si posee valor 1, aplica la fecha de expiración que viene en formato dd-mm-aaaa en el campo 345, si posee valor 2, su carnet nunca expira.

  13. Análisis del archivo xml de configuración de información bibliográfica. Marco conceptual 1 XML (fields/tag) BDD ISIS XSL Tr2 (ISIS 2 MODS) MODs XML Spec EmpWeb

  14. Análisis del archivo xml de configuración de información bibliográfica <?xml version="1.0" encoding="UTF-8"?> <dbwsconf db="mxisis" type="objects"> <!-- "location" is the directory where the Isis database resides. It may be an absolute path, or a path relative to the environment variable EMPWEB_HOME or the Java property empweb.home "collection" is the base name of the Isis database (the name of the .mst and all related files without the extension) --> <!-- Windows BBB version --> <location>/abcd/www/bases/marc/data/</location> <collection>marc</collection> <join>/abcd/www/bases/loanobjects/data/loanobjects,959='MARC-',v1</join> <altlocation>/abcd/www/bases/loanobjects/data/</altlocation> <altcollection>loanobjects</altcollection> <altjoin>/abcd/www/bases/marc/data/marc,1/958=v1</altjoin>

  15. Análisis del archivo xml de configuración de información bibliográfica BDD ISIS Ppal objetos Loan objects 1 «1» 10 «marc» 959 «^i10000^lAGR^oL^v1» 959 «^i10001^lAGR^oL^v2» 959 «^i10002^lAGR^oL^v3» 1 «1» 5 «19911017084055.4» 8 «911008s1989 bl a b f001 0 por » 10 « ^a 90743819 » 20 « ^a8570251270» 35 « ^9(DLC) 90743819» 40 « ^aDLC^cDLC» 43 « ^as-bl---» 50 «00^aRS164^b.P72 1989» 245 «00^aPlantas da medicina popular no Rio Grande do Sul /^cClßudia Maria Oliv eira Sim§es ... [et al.].» 250 « ^a3. ed.» 260 « ^a[Porto Alegre, RS] :^bEditora da Universidade, Universidade Federal do Rio Grande do Sul,^c[1989]» 300 « ^a173 p. :^bill. ;^c23 cm.»

  16. Análisis del archivo xml de configuración de información bibliográfica - Ida mx marc join=loanobjects,959='MARC-',v1 <join>/abcd/www/bases/loanobjects/data/loanobjects,959='MARC-',v1</join> Acceso x registro bibliográfico 1 «1» 5 «19911017084055.4» 8 «911008s1989 bl a b f001 0 por » 10 « ^a 90743819 » 20 « ^a8570251270» 35 « ^9(DLC) 90743819» 40 « ^aDLC^cDLC» 43 « ^as-bl---» 50 «00^aRS164^b.P72 1989» 245 «00^aPlantas da medicina popular no Rio Grande do Sul /^cClßudia Maria Oliv eira Sim§es ... [et al.].» 250 « ^a3. ed.» 260 « ^a[Porto Alegre, RS] :^bEditora da Universidade, Universidade Federal do Rio Grande do Sul,^c[1989]» 300 « ^a173 p. :^bill. ;^c23 cm.» 959 «^i10000^lAGR^oL^v1» 959 «^i10001^lAGR^oL^v2» 959 «^i10002^lAGR^oL^v3»

  17. Análisis del archivo xml de configuración de información bibliográfica - Vuelta mx loanobjects join=marc,1/958=v1 <altjoin>/abcd/www/bases/marc/data/marc,1/958=v1</altjoin> Acceso por inventario 959 «^i10000^lAGR^oL^v1» 1 «1» 5 «19911017084055.4» 8 «911008s1989 bl a b f001 0 por » 10 « ^a 90743819 » 20 « ^a8570251270» 35 « ^9(DLC) 90743819» 40 « ^aDLC^cDLC» 43 « ^as-bl---» 50 «00^aRS164^b.P72 1989» 245 «00^aPlantas da medicina popular no Rio Grande do Sul /^cClßudia Maria Oliv eira Sim§es ... [et al.].» 250 « ^a3. ed.» 260 « ^a[Porto Alegre, RS] :^bEditora da Universidade, Universidade Federal do Rio Grande do Sul,^c[1989]» 300 « ^a173 p. :^bill. ;^c23 cm.»

  18. Actividades • Usando el editor de bases.dat de ABCD agregar la opción para cargar y editar loanobjects. Revisar el contenido de la base de datos. • Debatir si es que la relación biyectiva entre ambas bases se halla o no bien conformada.

  19. Análisis del archivo xml de configuración de información bibliográfica <!-- para cada registro --> <xsl:template match="record"> <mods version="3.0"> <!-- ================ Codigo de registro/obra ================ --> <recordInfo> <recordIdentifier><xsl:value-of select="field[@tag='1']/occ/head" /></recordIdentifier> </recordInfo> <extension> <holdingsInfo version="1.0" xmlns="http://kalio.net/empweb/schema/holdingsinfo/v1"> <copies> <xsl:for-each select="field[@tag='959']/occ"> <copy> <copyId><xsl:value-of select="subfield[@name='i']" /></copyId> <xsl:if test="subfield[@name='v']"> <volumeId><xsl:value-of select="subfield[@name='v']" /></volumeId> </xsl:if> <copyLocation><xsl:value-of select="subfield[@name='l']" /></copyLocation> <subLocation><xsl:value-of select="subfield[@name='s']" /></subLocation> <objectCategory><xsl:value-of select="subfield[@name='o']" /></objectCategory> </copy> </xsl:for-each> </copies> </holdingsInfo> </extension> XML de inventario

  20. Análisis del archivo xml de configuración de información bibliográfica <!-- ================ TITULO ================ --> <titleInfo> <title><xsl:value-of select="field[@tag='245']/occ/subfield[@name='a']" /></title> </titleInfo> <!-- ================ Informacion de origen ================ --> <originInfo> <publisher><xsl:value-of select="field[@tag='260']/occ/subfield[@name='b']" /></publisher> <xsl:if test="field[@tag='250']/occ"> <edition><xsl:value-of select="subfield[@name='a']" /></edition> </xsl:if> <dateIssued><xsl:value-of select="field[@tag='260']/occ/subfield[@name='c']" /></dateIssued> </originInfo> Información de Título, subtítulo, año de publicación, autores y otros datos para generar un XML MODS compatible con los datos de la publicación independientemente del formato bibliográfico de orígen

  21. Actividades • Instalar en todas las máquinas Membrane SOAP Monitor. • Modificar el archivo engineconf.xml de tal forma de reorientar los servicios de consulta hacia el puerto 8089. • Abrir Membrane SOAP Monitor y configurar una regla de proxy tal que atienda el puerto 8089 y redirija al puerto 8085 (desde el que está atendiendo /edbws). • Iniciar empweb. • Realizar consultas desde empweb para usuarios y para publicaciones bibliográficas. • Analizar Requests y responses monitoreados por Membrane SOAP.

  22. Request

  23. Response

  24. Response

  25. Integración de Empweb con ABCD ABCD users wxis • Footer para version (what.php) • Foto de los usuarios (photoproxy.php) • Lib PHP GD marc EmpWeb mxIsisWrapper Loan objects

  26. Estructura de los registros de usuarios de ABCD (distro) mfn= 1 1 «users» 12 «^aF^bFemenino» 10 «^aes^bEstudiantes» 15 «02/02/2011» 18 «20110202» 30 «Guilßrte, Angela Margarita» 20 «01» 130 «Venezuela» 160 «msi@reacciun.ve» 600 «rosa» 620 «rosa.jpg» .. mfn= 2 12 «^aF^bFemenino» 10 «^aco^bConsultores» 15 «02/02/2011» 18 «20110202» 30 «Tanio Reyes, Josefa» 35 «445436789» 20 «02» 160 «msi@reacciun.ve» 600 «josefa» 620 «josefa.jpg» Dato textual con subcampos

  27. Actividad • Comparar los datos predefinidos en el archivo XML de interconexión y los datos reales que provienen en users en la distro. • Agregar a bases.dat la base de datos user para poder ser cargada desde catalogación. • Agregar un campo Facultad a los usuarios de ABCD. Definir este nuevo campo en el tag 700, con dos subcampos (a y b al igual que sexo). Usar facultad.tab como tabla para el mismo. Definir el mismo en Empweb de forma tal de disponibilizarlo para la presentación de los datos del usuario. • Agregar en el MODS de envío el campo ISBN para ser luego incluído en la presentación usando JSP. Verificar los datos agregados usando membrane.

  28. Actividad

  29. Actividad <faculty><xsl:value-of select="field[@tag='700']/occ/subfield[@name='a']" /></faculty>

  30. Actividad

More Related