Catalis 2007: tareas pendientes

Esta es una lista de las cuestiones que quedan por resolver en la nueva versión de Catalis, detectadas principalmente en base al uso de esta versión para catalogar en el INMABB, y gracias a la colaboración de los primeros testers. Ver también los viejos listados de bugs y de funcionalidades sugeridas.

Diálogos, mensajes

Revisar los tamaños de todos los diálogos. Probar en resoluciones bajas y altas.

ISBN válido: dialogo queda chico

Error al abrir el dialogo de existencias (foco? selectedindex?)

Ed. avanzada: “No se puede continuar mientras queden etiquetas inválidas.” !!

Códigos del 008 con checkboxes: revisar funcionamiento y css.

Menúes

Verificar que puedan ocultarse con ESC.

Traducciones

Diálogos: Yes => Sí Arreglado con ext-lang-sp.js (previa conversión UTF-8 -> ANSI)

Archivos de idioma: recordar que ext-lang-* debe convertirse de utf8 a latin1, y además hay que unificar el código de idioma (2 o 3 letras?)

Traducir contenido de dialogs.htm

CSS, ajustes visuales

padding en forms de búsqueda (1px 2px)

splitbar para el panel derecho (edición)

botoncitos para verificación (ISBN, etc)

width para textareas (con porcentaje no queda muy bien)

la barra de scroll en el form de edición está parcialmente oculta a la derecha (quizás 1px nomás), en FF.

iconos? http://www.famfamfam.com/lab/icons/

cambiar colores en tooltips (Ext)

Mensajes de espera y notificaciones: aplicar estilo original:

<style> div#cartel { width: 420px; height: 120px; background: #A07C60; color: #FED; font-weight: bold; position: absolute; z-index: 1000; border-width: 1px; border-style: solid; border-top-color: #A07C60; border-right-color: #333; border-bottom-color: #333; border-left-color: #A07C60; } div#cartel-inner { border-width: 1px; border-style: solid; border-top-color: #FED; border-right-color: #805C40; border-bottom-color: #805C40; border-left-color: #FED; height: 100%; } div#cartel-head { background: #400000; color: #FED; padding: 3px 3px 3px 10px; font-family: georgia; font-size: 18px; } </style> <!-- Cartel para mensajes --> <div id="cartel"> <div id="cartel-inner"> <div id="cartel-head">Catalis</div> <div style="padding: 10px 15px 15px;"> <div id="cartelMsg"></div> <div style="margin-top: 12px;" align="center"> <button id="cartelBtn" class="marcEditButton" style="" accesskey="C"><u>C</u>errar</button> </div> </div> </div> </div>

Validaciones

ISBN-13

Recabar información sobre errores frecuentes en los registros, para darles prioridad en el algoritmo de validación.

Importación / exportación

Verificar que la importación y exportación de registros MARC 21 (puros) se pueda realizar sin problemas; es una condición básica para poder decir que Catalis respeta MARC 21.

Explorar la posibilidad de incorporar un cliente Z39.50 (PHP + YAZ).

Configuración

Archivos de config: separar en dos como se hizo con OpacMarc.

Incluir datos sobre proxy http para que funcione lc-proxy.php

Incluir opción para acceder a LC mediante proxy o en forma directa (iframe)

Incluir lista de tabs que deben habilitarse (url, título)

Modificaciones que se realizan a registros importados: traducciones, eliminación de campos, ...

Qué hacer con las opciones de config. que aparecen como JS en head.htm.

PHP

Dado que PHP se ha vuelto muy deseable a partir del proxy para acceder a LC (atajo para importación), ya podemos ir pensando cuánto PHP vamos a querer usar en Catalis. Para ir por etapas, habría que pensar en PHP para autenticación de usuarios y sesiones. También podemos resucitar su uso para envío de mails, p.ej. para envío (manual o automático) de mensajes de error. Exigimos PHP, o lo usamos para funciones no esenciales y que quede cmo una opción? Si lo exigimos, tendríamos que aprovechar y armar un paquete fácil de instalar para usuarios de windows, que incluya apache + php (Wamp, Xampp, EasyPHP...).

Otro uso posible es para gestionar file uploads, pues nos interesa poder guardar en el servidor imágenes asociadas a los registros, p.ej. de las cubiertas. Ver http://www.php.net/features.file-upload. En el caso de imágenes tomadas de la red, se puede pasar a PHP la URL de la imagen, y PHP se encarga de obtener la imagen y almacenarla en el servidor.

¿PHP nos puede salvar del problema que tenemos con la codificación UTF-8 que el browser aplica a lo que envía por XHR? Tanto para grabar datos como para consultar el diccionario (search, browse), WXIS está recibiendo UTF-8 y obrando en consecuencia... es decir, mal. PHP puede convertir todo a latin1 antes de pasarlo a WXIS.

Otra aplicación: generación de listados en PDF (Puede no ser tan simple.)

Generación de archivos ISO para exportación.

Cliente Z39.50 http://ar.php.net/yaz

Diseño de interfaz

Podemos ganar espacio en la barra de herramientas si quitamos los botones de uso poco frecuente (Borrar, Ed. Avanzada, Exportar) y los enviamos a un menú. En el espacio ganado podemos tener un acceso más directo a un searchbox y al boton para ver registros recientes.

Documentación

Del código

Probar con JSDoc para generar docs a partir del código.

De la aplicación (para el usuario)

Firefox: Advanced JS Settings > Allow scripts to Hide the status bar.

De MARC 21

Actualizar la doc de MARC (bajar de LC).

Incorporar una toolbar para navegar por la documentación, algo como lo que hay en la versión anterior de Catalis. Más o menos con algo así saldría:

Ext.fly('message').insertSibling({tag: 'div', id:'docToolbarContainer'}, 'after').setStyle({float: 'left', width: '50%'}); docToolbar = new Ext.Toolbar('docToolbarContainer'); docSearchBox = new Ext.form.TextField(); docSearchBox.on('specialkey', function(box,e){ if (e.getKey() == e.ENTER) { e.stopEvent(); showDoc(box.getRawValue()); } }); docToolbar.add(docSearchBox);

Administración

Simplificar la creación de bases y usuarios.

Repasar el script admin.xis que anadaba por ahí a medio terminar.

Varios

Browsers: testear en IE7, IE6, Firefox 1.5 y 2 (en Windows y Linux). Seamonkey (versión?)

Generación de listados ordenados.

Agregar tabs con mathscinet y opac (para bibima). Manejar esto desde archivo de config.

subcampo $4 en 700 etc

504: traducir “includes bibliographies”

Corregir foco después de mostrar “ISBN válido”

Menú contextual (convertir en 440) permanece abierto mientras se presenta el diálogo de confirmacion

agregar un acceso directo a “ultimos registros” sin tener que ir primero al tab “Busqueda”

mecanismo para personalizar aspectos de la interfaz (a nivel de usuario), e.g. font-family, font-size. (muy baja prioridad, pero me interesa poder elegir una fuente que se vea bien en Linux)

Agregar campos a marc21.xml: 541, 257. 859 en seriadas de LC? Buscar más campos que falten y que parezcan importantes (aunque deberíamos tender a incluirlos todos de una buena vez).

Listas de códigos de país e idioma: incluirlos todos por defecto.

Verificar que queden incluidos todos los parches y mejoras locales hechas sobre la versión original. Enviar un mensaje a usuarios invitando a que informen sobre sus cambios locales.

Incluir un detector de JS ausente para el demo.

Tab de LC: añadir un context menu que llame a LCProxy.requestPage(Config.LC.START_PAGE) o bien a LCProxy.init()

Acceso a una tabla de caracteres que facilite el ingreso de caracteres poco usuales.

Idea para que el demo muestre la fecha en que fue generado: en el script que crea los archivos comprimidos, agregar una línea a algún .js: Config.DEMO_DATE = “`date(algo)`”. Luego en init() insertar esa info en la topbar: if (Config.DEMO_DATE) {Ext.fly('...').update(Config.DEMO_DATE)}

Incluir la imagen de “loading” en la página de login (sin que se vea), para que ya quede en cache y se vea inmediatamente cuando se la necesite.

Verificar que no permita salir de un registro modificado sin mostrar el diálogo de “Guardar cambios”.

En el panel de búsquedas, unificar los subpaneles de “Búsqueda” e “Indice”. Para recorrer el índice, usar un Ext.form.ComboBox con paginación. Para que funcione la PagingToolbar, hay que retocar un poco los métodos que contengan this.ds.load.

Impresión de listado de registros: buscar solución que ya estaba preparada.

“Recuperar la plantilla”: buscar esto,que también estaba ya implementado.

Diccionario: acceso a términos compuestos (aunque aparezcan truncados). ¿Podríamos probar con MX/WXIS 1660?

Incluir una solución para el problema de los registros corruptos en los MFN iniciales.

Incorporar el estilo de visualización “Completo” del OPAC.

Abandonar el uso de campo 1106 para no estropear los ISO. Pensar cómo hacer el arreglo hacia atrás (bases existentes)

Barra de herramientas para edición: navegador de la lista de registros.

Problemas encontrados al migrar de Ext 1.1.1 a Ext 2.0

specialkey event handler para textareas: no reconoce la tecla ENTER

cómo cambiar de tamaño las regiones, luego de un cambio en el tamaño del texto

El uso de un header para el panel con la lista de registros hace que la splitbar en la parte inferior de este panel quede reducida a una línea de 1px; requiere un cambio de tamaño manual para recuperar su aspecto normal.

collapsedTitle para el panel de documentación?

En los diálogos para editar códigos, usamos constrain: true para evitar que se escapen del viewport, pero al establecer su posición con setPosition() terminan escapando. Es eso un bug en Ext?

Bugs (aparte de lo mencionado arriba)

Al acceder a la documentación de LC, siguen apareciendo ocasionalmente cosas raras, como se ve en esta imagen (IE 6):

Los botones de la toolbar para un registro, no siempre aparecen deshabilitados cuando se presenta la pantalla inicial. Como es de esperar, cuando se intenta usar esos botones fuera del tab de edición aparecen errores.

Hay errores en Firefox con los menúes contextuales (campos y subcampos), al mover o eliminar un elemento; eso hace que el menú permanezca visible, aun después de haber finalizado la acción.

Campo 300: permite repetir pero no eliminar.