Principales novedades en Koha 25.05.00
1. Interfaz de usuario y experiencia de navegación
- Actualización a Bootstrap 5: Se ha modernizado la interfaz tanto del OPAC como del panel del personal, ofreciendo una experiencia más fluida y adaptada a dispositivos móviles.
- Mejoras en la visualización de tablas: Se han corregido problemas relacionados con la visualización y configuración de tablas, como la restauración de columnas eliminadas y la mejora en la visibilidad de filtros.
2. Funcionalidades para usuarios finales
- Historial de préstamos: Ahora, los usuarios pueden ver su historial de préstamos de manera más clara y detallada, con opciones mejoradas para la gestión de su información personal.
- Gestión de reservas: Se han solucionado problemas que impedían la visualización y gestión adecuada de las reservas desde la cuenta del usuario.
- Solicitudes de baja: La funcionalidad de solicitar la baja desde el OPAC ha sido corregida y ahora funciona como se espera, permitiendo a los usuarios gestionar su membresía de manera más eficiente.
3. Mejoras en la seguridad y rendimiento
- Protección CSRF: Se han implementado medidas de seguridad adicionales para proteger contra ataques CSRF, especialmente en formularios y acciones sensibles.
- Optimización del rendimiento: Se han realizado mejoras en el rendimiento general del sistema, incluyendo la carga más rápida de páginas y la reducción de errores en operaciones comunes.
🆕 Nuevas funcionalidades y mejoras
📌 Sección: Información general
✅ Mejoras
36039 – La salida de audit_database.pl
ahora es accesible desde la interfaz
Esta mejora hace que el script misc/maintenance/audit_database.pl
(añadido en Koha 23.11) esté disponible en la interfaz del personal, en el menú “Acerca de Koha > Auditoría de la base de datos”.
El script compara la base de datos de la instancia con kohastructure.sql
e identifica diferencias que deberían corregirse. Es útil antes de realizar tareas de mantenimiento o actualizaciones.
39154 – Acerca de: se añade una advertencia para sip.log
obsoleto
♿ Accesibilidad
✅ Mejoras
39237 – El título HTML no coincide con el título de página en “Resumen del usuario” en el OPAC
39356 – Accesibilidad WCAG 1.3.1: Se omiten niveles de encabezado en algunas páginas
Soluciona problemas de accesibilidad en el OPAC, donde faltaban encabezados o estaban mal estructurados. Se añaden encabezados faltantes o se corrigen los niveles incorrectos.
📦 Adquisiciones
🌟 Nuevas funcionalidades
38010 – Migrar proveedores a Vue.js
Moderniza la interfaz de gestión de proveedores migrándola a Vue.js, lo que mejora la experiencia del usuario y facilita el mantenimiento del código.
También:
- Muestra recuentos de cestas y suscripciones asociadas.
- Añade lógica de protección en la API DELETE para evitar eliminaciones accidentales.
- Mueve preferencias del sistema a un endpoint de configuración.
✅ Mejoras
37588 – Marcar una sugerencia como ‘disponible’ desde la gestión de sugerencias
Permite marcar una sugerencia como disponible aunque no esté enlazada a una orden. Se envía el aviso “AVAILABLE” al usuario solicitante.
🏫 Patrocinado por Pymble Ladies’ College
38689 – Los errores EDIFACT ahora se registran en una ubicación accesible al personal
Antes, los errores de importación EDIFACT solo se veían en los logs del servidor.
Ahora:
- Se almacenan en una ubicación visible desde la interfaz del personal.
- Facilita la revisión y solución de errores por parte del personal y administradores.
🤝 Patrocinado por Open Fifth
39518 – Definir el nombre de la cesta desde un archivo MARC
Algunos proveedores incluyen el nombre deseado de la cesta en los pedidos MARC, pero Koha lo ignoraba.
Ahora:
- Puedes configurar una cuenta de pedidos MARC para que lea un campo específico del archivo y use su valor como nombre de la cesta.
- Mejora la automatización y reduce el trabajo manual.
🔧 Arquitectura, núcleo y mantenimiento
✅ Mejoras
18798 – Uso de Koha.Preference
en el OPAC al leer registros de lectura
Patrocinado por Catalyst
22415 – Koha::EDI
ya no usa directamente Log::Log4perl
Ahora se usa el sistema mejorado Koha::Logger
para registrar eventos de EDI.
26553 – Eliminar KohaTable
(columns_settings.inc
) y usar kohaTable
(datatables.js
)
Unificación y limpieza del código relacionado con tablas dinámicas.
🧱 Arquitectura, componentes internos y mantenimiento
✅ Mejoras
18798 – Usar Koha.Preference
en la lectura de registros del OPAC
Patrocinado por Catalyst
22415 – Koha::EDI
ya no debe usar Log::Log4perl
directamente
Esta mejora cambia el sistema de registro (logs) para EDI. Ahora usa Koha::Logger
, que es más moderno y coherente con el resto del sistema.
26553 – Eliminar KohaTable
(columns_settings.inc) y usar solo kohaTable
(datatables.js)
Resumen: Koha tenía dos implementaciones parecidas para DataTables, lo que generaba confusión.
Corrección: Se elimina la antigua (KohaTable
) y se unifica todo bajo kohaTable
.
Impacto: Código más limpio y comportamiento coherente de las tablas en toda la interfaz del personal.
36662 – ILL – El archivo t/db_dependent/Illrequest
ya no debería existir
Se reubican correctamente los archivos de pruebas relacionadas con préstamos interbibliotecarios (ILL).
37911 – Prototipo de «islas» Vue en páginas estáticas
37930 – Cambio en el manejo de valores autorizados en Vue
38255 – No usar directamente el constructor dataTable
38483 – El método preferred_authorities
en C4::Heading
no se utiliza
Eliminación de código muerto: este método ya no era llamado por ningún proceso.
Patrocinado por la Universidad Ignaciana de Cracovia
🧼 Limpieza de código
38664 – Limpieza de toda la base de código
Esta mejora no afecta directamente a los flujos de trabajo en bibliotecas, pero es importante para desarrolladores:
- Archivos
.pm
,.pl
,.t
,.tt
,.inc
,.vue
, y.js
ahora están estructurados y formateados de forma consistente. - Se actualizó
ktd
para incluir:- Un hook pre-commit de Git que formatea automáticamente los archivos.
- Script QA actualizado.
- Plugin Prettier para limpiar archivos de Template Toolkit.
Se añaden dos scripts nuevos:
misc/devel/tidy.pl
: limpia archivos.misc/devel/auto_rebase.pl
: intenta hacer rebase automáticamente.
🧹 Eliminación de código muerto
38832 – Código sin uso en catalogue/search.pl
Elimina partes del código de búsqueda que ya no se utilizaban.
38838 – Limpieza de constructos optgroup
en el módulo de informes
🧱 Arquitectura, internos y utilidades
✅ Mejoras adicionales
38838 – Limpieza del constructo optgroup
en el módulo de informes
Ahora, al seleccionar columnas al crear una definición de diccionario en informes, se muestra el formato:“Descripción del campo / tabla.campo”
Ejemplo: “Fecha de publicación / biblioitems.publicationyear”
.
38871 – La subrutina string_list
en misc/translator/xgettext.pl
no se utilizaba → eliminada
38930 – Añadir un almacén de permisos para aplicaciones Vue
38941 – Convertir el menú de adquisiciones en una “isla” Vue
38952 – La función JS messenger
no se usaba en acq.js
→ eliminada
38993 – Unificación de los directorios fetch
(código duplicado eliminado)
39096 – Añadir los commits de «tidy all» al archivo .git-blame-ignore-revs
39106 – Mejoras al script de rebase automático (auto-rebase
) para que recupere parches desde Bugzilla
39191 – Añadir un parámetro format
a Koha::Exceptions::ArticleRequest::WrongFormat
39772 – La página de trabajos en segundo plano mostraba tipos de trabajo “desconocidos” para plugins → corregido
39832 – Se añade el método $basket->vendor()
para facilitar el acceso al proveedor
🏷️ Catalogación
✅ Mejoras
26869 – Permitir que la modificación masiva de registros cree ejemplares (items)
Ahora se pueden usar las plantillas MARC para añadir campos 952 (MARC21) o 995 (UNIMARC) a registros bibliográficos existentes.
30975 – Delegación de eventos para plugins de frameworks MARC → se evita el uso de métodos internos de jQuery
🛑 ⚠️ Cambio importante para desarrolladores: el primer parámetro de funciones JS ahora será siempre un objeto Event
.
35134 – Permitir cambiar el tamaño del pop-up del navegador de signaturas (cnbrowser.pl
)
Ahora el tamaño se recuerda en cada nueva apertura.
37398 – Iniciar el selector de fecha automáticamente en campos de fecha y datetime al añadir/editar ejemplares
38142 – UNIMARC: Seleccionar encabezamientos de autoridades por idioma usando el subcampo $7
Patrocinado por las Écoles nationales supérieures d’architecture (ENSA)
38670 – Mostrar el campo MARC21 773$d (Lugar, editor y fecha de publicación) en la vista de detalles del registro
Disponible tanto en la interfaz del personal como en el OPAC.
38943 – Aumentar el tamaño del modal de macros del editor MARC avanzado
🔁 Circulación
✅ Mejoras
25711 – Mover la preferencia ExpireReservesMaxPickUpDelayCharge
a las reglas de circulación
Ahora puedes definir el cargo por no recoger una reserva a tiempo directamente en las reglas. Si no se define, se usa la preferencia global.
37832 – Validación decimal para el campo de descuento de alquiler en las reglas de circulación
38356 – La preferencia CheckPrevCheckout
ahora también comprueba préstamos actuales
Antes solo revisaba históricos; ahora verifica si el lector ya tiene un ejemplar prestado de ese mismo título.
Patrocinado por Koha-Suomi Oy
38732 – Añadir columna de número de copia (copynumber
) a la tabla de «paquetes» en la vista detallada del lector
39141 – Añadir caja de búsqueda en la página de préstamos
Si no hay lector seleccionado, aparece una caja para buscarlo, en lugar de una pantalla vacía.
39624 – Añadir opción “Todos” en las reglas de límite de solicitudes de artículos
Ahora puedes establecer el límite predeterminado de solicitudes abiertas de artículos para todas las categorías de lectores a la vez.
Requiere tener activa la preferencia
ArticleRequests
.
🧪 Utilidades de línea de comandos
32440 – Permitir eliminar entradas de estadísticas de forma selectiva según el tipo en cleanup_database
🟦 Esta es la segunda parte traducida. El documento continúa. Si deseas, puedo entregarte:
- El texto completo traducido en PDF o Markdown.
- Un resumen ejecutivo para compartir con clientes o bibliotecas.
32440 – Permitir eliminación selectiva de entradas de estadísticas por tipo con cleanup_database
Se añaden dos parámetros nuevos:
--statistics-type
: especifica qué tipos de estadísticas eliminar.--statistics-type-pseudo
: elimina solo los tipos de transacciones pseudonimizadas (renew
,issue
,return
,onsite_checkout
).
36365 – compare_es_to_db.pl
ahora permite corregir diferencias con --fix
También añade la opción --help
.
37418 – Nueva opción en delete_patrons.pl
para no eliminar usuarios con ciertas restricciones
Se añade el parámetro --without_restriction_type
(repetible).
Patrocinado por el Instituto Tecnológico de Karlsruhe (KIT)
38307 – overdue_notices.pl
no mostrará mensajes si no hay reglas activas de retrasos
Patrocinado por Catalyst
38408 – Exportación paralela de registros MARC durante la reindexación Zebra
Nuevo parámetro --processes
en rebuild_zebra.pl
que permite exportar en paralelo, acelerando la tarea.
38762 – compare_es_to_db.pl
ahora muestra enlaces a la interfaz del personal para resolver diferencias
🗃️ Base de datos
🌟 Nueva funcionalidad
30888 – Nueva tabla deletedauthorities
Guarda datos de autoridades eliminadas, similar a deletedbiblio_metadata
.
✅ Mejoras
39062 – Aumento del tamaño del campo items.stocknumber
Pasa de 32 a 80 caracteres.
📚 Documentación para desarrolladores
39447 – Actualización del archivo mailmap
tras el cambio de nombre de PTFS Europe → Open Fifth
📄 ERM (Electronic Resource Management)
37273 – Se añade columna ID a la tabla de acuerdos
La nueva columna es configurable a través de los ajustes de tabla.
💰 Multas y tarifas
✅ Mejoras
23674 – Añadir notas a todas las líneas de la tabla de transacciones de usuarios
Ahora el personal puede dejar notas en pagos, descuentos, cancelaciones, reembolsos, etc.
33473 – Permitir enviar recibos por correo electrónico de forma manual
Antes era todo automático o nada. Ahora, desde cada línea de transacción, se puede enviar manualmente un recibo por correo.
La preferencia
UseEmailReceipts
pasa a llamarseAutomaticEmailReceipts
.
Patrocinado por Open Fifth
37211 – Las notas en transacciones de cuenta ahora son editables
Se puede editar cualquier nota de descuento, pago, reembolso, cancelación, etc.
Se añade una sub-permiso nuevo: updatecharge > edit_notes
.
38457 – Soporte de campos adicionales para tipos de débitos
Permite guardar metadatos personalizados (como códigos contables o etiquetas de informe).
Patrocinado por Open Fifth
39177 – Soporte de campos adicionales para tipos de créditos
Igual que con los débitos, se pueden añadir campos personalizados.
Patrocinado por Open Fifth
📦 Solicitudes de reserva (holds)
17338 – Al cancelar una reserva «esperando recogida», Koha ahora mantiene la pestaña correcta
Antes, al cancelar, volvía siempre a la primera pestaña.
20747 – LocalHoldsPriority
puede usarse por grupo jerárquico en lugar de por biblioteca individual
Esto permite una gestión más flexible en redes de bibliotecas (consorcios, sistemas agrupados).