Herramientas de usuario

Herramientas del sitio


notas:presentacion-catalis-marzo-2007

Charla sobre Catalis - Marzo 2007

Audiencia: personal de sistemas de la Biblioteca Central

Motivo: presentar un panorama del estado actual de Catalis y de los planes de rediseño.

USAR S5?

Algunos conceptos

  • Cross browser application: al menos, Internet Explorer y Mozilla Firefox

(una alternativa sería usar XUL, sólo para Mozilla, y adiós a un montón de problemas)

Qué sucede en el servidor

  • autenticación (login, sesiones)
  • envío inicial del código de la aplicación al cliente (html, css, js, xml)
  • lectura de las bases de datos: búsquedas, claves del diccionario
  • escritura en las bases de datos: crear, grabar modificaciones, bloquear, borrar
  • logs de acceso
  • guardar preferencias, plantillas, notas personales?
  • WXIS, PHP?

Qué sucede en el cliente

Modelo, vista, controlador (MVC)

Modelo (datos)

Objetos + funciones (métodos) de JavaScript

  • Lista de registros MARC (Catalis.MarcRecordList)
  • Registro MARC (Catalis.MarcRecord)
  • Leader (Catalis.MarcLeader)
  • Campos de control (Catalis.MarcField008, Catalis.MarcField005, etc)
  • Campos de datos (Catalis.MarcDataField)
  • Subcampos (MarcSubfield. Caso particular: subcampos codificados)
  • Existencias (Catalis.MarcHoldings)
  • Anotaciones (Catalis.MarcAnnotations)
  • Plantilla para registros (Catalis.MarcTemplate)
  • Lista de claves del diccionario (Catalis.KeyList)
  • Clave del diccionario (Catalis.Key)
  • Configuración (Catalis.Config)
  • Status (Catalis.Status): base activa, usuario activo, registro activo, etc.
  • Estructura de campos y subcampos (xml)
  • Información de ayuda, documentación
  • TABLA DE CAMPOS Y SUBCAMPOS MARC (marc21.xml) ⇐ JSON?
  • TABLAS DE CÓDIGOS (country.xml, language.xml, etc.) ⇐ JSON?
  • REGLAS DE PUNTUACIÓN: por ahora, es una única función con un switch/case
  A veces no está claro a qué objeto debe pertenecer cierto método.
  ¿Cómo se modelan las RELACIONES ENTRE REGISTROS? E.g. para analíticas, o seriadas.
Vista (interfaz)

HTML + CSS

Los elementos ya presentes, más algunos nuevos.

  1. Layout general (regiones, paneles, tabs, sliders)
  2. Menúes
  3. Toolbars
  4. Tooltips
  5. Diálogos (modales, posiblemente con layout; algunos con cierta complejidad)
  6. Mensajes (a.k.a. notificaciones, cartelitos)
  7. Drag & drop (p.ej. para reordenar campos y subcampos)
  8. Acordeón
  9. Formularios de búsqueda y edición
  10. Otros widgets: calendario, autocompletamiento (campos controlados)…
  11. Diálogo modal para insertar caracteres especiales

ESTADO ACTUAL DE LA INTERFAZ Ext

Interfaz multilingüe?

Controlador (manejadores de eventos)

Eventos/acciones provocados directamente por el usuario

  1. login, logout
  2. seleccionar base de datos
  3. recuperar listas de registros (diversos tipos de búsquedas)
  4. navegar, imprimir, guardar esas listas
  5. crear un registro
  6. desde una plantilla
  7. importar ISO 2709 (.mrc)
    1. variantes: MARC 21, IBERMARC, codificación de caracteres, Z39.50?, marcxml?
    2. importación de lotes?
  8. clonar un registro existente
  9. grabar un registro
  10. borrar un registro
  11. crear/eliminar/duplicar/mover/convertir campos
  12. crear/eliminar/duplicar/mover/convertir subcampos
  13. editar existencias (a.k.a. fondos, holdings, ejemplares)
  14. añadir un ítem
  15. editar atributos del ítem
  16. editar datos codificados: leader, campo 008, subcampos $4, campo 041, etc.
  17. editar indicadores
  18. validar datos (a nivel de subcampo, campo, registro, base de datos)
  19. visualizar un registro (varios estilos)
  20. copiar (al portapeles) o imprimir un registro
  21. ver las modificaciones realizadas (diferencias entre estados original y actual de un registro)
  22. ver la historia del registro (quiénes lo modificaron y cuándo)
  23. registrar anotaciones sobre un registro (y sobre una base?)
  24. ver mensajes de ayuda, en varios contextos
  25. exportar uno o más registros (formatos: iso 2709, marcxml, mods, …)
  26. recuperar plantilla (karina)
  27. adjuntar (asociar) archivos al registro? (imágenes, pdf)

Acciones automáticas (no solicitadas explícitamente por el usuario)

  1. validaciones: onFieldValueChange, onBeforeSave, onRecordImport, etc.
  2. limpieza de caracteres en un subcampo
  3. ajuste de puntuación del campo
  4. ajuste de altura de textareas (subcampos) ⇐= IMPORTANTE
  5. modificación del 008 (en base a cambios en campos de datos asociados, p.ej. 260$c y 008/06-14)
  6. autocompletamiento de subcampos (p.ej. 041 en base a 008/35-37)
  7. modificación de registros al importarlos
  8. autosave?

Código para manejar errores que se produzcan en la ejecución de JS.

Conexiones con el servidor

  • originalmente: form oculto + iframe oculto + varios forms
  • ahora: the Ajax way, e.d. xmlHttpRequest + callbacks (p.ej. vía YUI Connection manager)

- Entorno de catalogación

  Acceso sencillo a herramientas auxiliares, tales como:
      - LC Catalog
      - LC Authorities
      - OCLC docs
      - Google Books
      - MathSciNet
      - xISBN, thingISBN
      - Book covers: Amazon, open cover database
      - etc.
      

- Instalación/actualización

  1. instrucciones completas (incluyendo apache)
  2. o instalador al estilo OpenMarcoPolo

Configuración

  1. Actualmente, un archivo de texto catalis.conf, más algunas variables JS en head.htm, y posiblemente varios aspectos configurables no han sido separados del código. También pueden considerarse parte de la configuración algunos datos en archivos XML, y templates.js.
  1. ¿Cómo organizar y administrar los aspectos configurables de Catalis? (para mayor generalidad, pensemos en una instalación múltiple, usada por varias bibliotecas).
  2. conf. global
  3. conf. por base
  4. conf. por usuario (preferencias)

EJEMPLOS DE PROPIEDADES CONFIGURABLES

     
- Interfaz para configuración?
  1. ¿Cómo preservar la configuración al instalar una versión nueva?
  1. VER LO QUE HICE CON OPACMARC

Administración/Mantenimiento

Necesitamos interfaces para:

  1. Administración de usuarios (incluye permisos)
  2. Administración de plantillas (crear y modificar)
  3. Ver logs de acceso
  1. Compactación de bases
  2. Backup de datos (bases, configuración)
  3. Regenerar diccionarios

- Bases de autoridades, tesauros

- Acceso simultáneo a más de una base? a más de un registro (p.ej. para compararlos)?

- Problemas presentados desde el lanzamiento de Catalis en 2005:

  1. claves fantasma (resuelto)
  2. corrupción de registros (no resuelto)
  3. cambio en la codificación de registros de LC (semi-resuelto)
  4. ISBN-13 (no resuelto)
  5. otros?

Y más: CatalisWiki, Grupo Catalis (Google), Documentacion (tutoriales, manuales, screencasts)

- Mejor documentación del código (JSDoc, Natural Docs)

Mostrar ejemplo

- Integración con OPACMARC?

- Seguridad: Proteger passwords, sesiones, restringir acceso

Please read this! OpenCataloger, Koha

http://wiki.liblime.com/doku.php?id=catalogingproject

Sobre bloqueo de registros (record locking):

AJAX & Record Locking

http://www.ddj.com/dept/lightlang/192700218

Más datos puede haber en los wikis de Catalis, y en algun otro de mis txt. Y en los mensajes del grupo.

catalis desarrollo presentacion

notas/presentacion-catalis-marzo-2007.txt · Última modificación: por 127.0.0.1