Rescate de Catalis
Luego de una charla vía Gmail con Pablo López Liotti, hemos llegado a la decisión de encarar juntos una tarea que yo llamaría “rescate de Catalis”.
¿Por qué rescate? Porque Catalis se encuentra en un estado de semi-abandono, por diversas circunstancias, y no queremos que esa situación se prolongue por más tiempo. La versión oficial, disponible desde junio de 2005, no ha recibido actualizaciones, a excepción de un par de parches que no fueron debidamente integrados a la distribución. Numerosas mejoras locales realizadas por usuarios de Catalis tampoco han sido incorporadas.
A cinco años del lanzamiento de Catalis, es evidente que el desarrollo de la nueva versión se ha estancado, y por otro lado sigue habiendo interés en Catalis, se van sumando nuevos usuarios, y las demandas (de corrección de bugs y agregado de funcionalidades) se van haciendo sentir.
También es cierto que no conocemos mucho de la “comunidad” de usuarios de Catalis. Afortunadamente la lista en Google Groups sigue teniendo alguna actividad, pero la participación es bastante baja.
Desde el punto de vista técnico, la principal cuestión es si vale la pena hacerle mejoras al Catalis viejo, o si es mejor concentrar el esfuerzo en sacar adelante el nuevo Catalis. En varias ocasiones dije que, dado que había una nueva versión de Catalis en desarrollo, la versión original quedaría congelada, sin más modificaciones (oficiales). La decisión de no hacer modificaciones también estaba motivada por la dificultad que implica mantener una aplicación escrita con IsisScripts y un JavaScript semicaótico, sin nada de orientación a objetos. Sin embargo, me han convencido de que se justifica el esfuerzo de implementar un número limitado de mejoras.
La propuesta entonces consiste en encarar este “rescate” en dos áreas:
- Aspecto técnico: llevar el código de Catalis a un repositorio de código, registrar los ítemes sobre los cuales hay que trabajar, montar una infraestructura para el testeo
- Aspecto social: activar el movimiento de la lista, a través de alguna encuesta para relevar información acerca de los usuarios de Catalis, invitación a colaborar en las mejoras (a través de requerimientos o soluciones), etc. Procesar datos de quienes descargaron Catalis.
Lista de mejoras
Esta es una lista informal, como para saber de qué estamos hablando. Luego habrá que formalizarla usando la herramienta provista por el repositorio.
- Trabajar con múltiples resoluciones de pantalla
- Completar y actualizar definiciones de campos MARC y tablas de códigos
- Poner una versión al día de los docs de MARC
- Validar ISBN-13
- Carga controlada (script de Rubén Mansilla; requiere PHP)
- Simplificar la instalación y puesta en marcha (nuevas bases y usuarios)
- Incorporar parches (biblio.fst, import.js)
- Actualizar links, p.ej. a CatalisWiki
- Incorporar a biblio.fst los campos completos
- Corregir el bug del formulario de existencias (que requiere hacer foco para no perder datos)
- Incorporar mejoras realizadas en la instalación de la UNS (y de otras instituciones que quieran compartir las propias)
Misceláneas
Yo estaba seguro de que las versiones de Catalis para Linux y Windows eran idénticas, excepto por los cambios en los saltos de línea y en las bases Isis, propios de la conversión entre ambas plataformas. Sin embargo, también difieren en estos dos detalles:
$ diff -b linux/catalis-2005.06.09/cgi-bin/catalis_pack/catalis/xis/catalis.xis windows/catalis-2005.06.09/cgi-bin/catalis_pack/catalis/xis/catalis.xis 276c276 < ,cat('HIDDEN-ELEM.HTM'), /* FORM e IFRAME ocultos */ --- > ,cat('HIDDEN-ELEM.HTM'), /* FORM & IFRAME ocultos */ $ diff -b linux/catalis-2005.06.09/cgi-bin/catalis_pack/catalis/xis/grabar.xis windows/catalis-2005.06.09/cgi-bin/catalis_pack/catalis/xis/grabar.xis 38c38 < 'RECORD_NOT_FOUND', --- > '*', 43c43 < <flow action="jump"><pft>if v4000 <> 'RECORD_NOT_FOUND' then 'VALIDATE_SAVE' fi</pft></flow> --- > <flow action="jump"><pft>if v4000 <> '*' then 'VALIDATE_SAVE' fi</pft></flow>