Reportar problemas de DSpace
Si es la primera vez que informáis sobre problemas de DSpace en general, podéis encontrar una guía excelente al respecto en la wiki de Lyrasis.
Delimitad el problema
Al notificar un problema de rendimiento, conviene empezar por plantearos algunas preguntas:
- Páginas afectadas
- ¿El problema se limita a una página específica (por ejemplo, la página principal) o a un tipo de página (por ejemplo, todas las páginas de navegación o las páginas de ítems)?
- ¿Se requiere autenticación?
- ¿El problema se produce solo después de iniciar sesión o también afecta a usuarios anónimos?
- Condición desencadenante
- ¿El problema aparece en cuanto se carga la página o solo después de interactuar con ella (por ejemplo, al hacer clic en un botón o al escribir en un campo de formulario)?
- ¿Se puede reproducir en la demo?
- ¿El problema ocurre únicamente en vuestro repositorio o también puede reproducirse en demo.dspace.org?
- Si es posible, proporciona ejemplos de URL en demo.dspace.org para ayudar a otros a replicar el problema en condiciones conocidas.
- ¿Circunstancias inusuales?
- Si el problema es exclusivo de vuestro repositorio, considerad si hay algo fuera de lo habitual en vuestra configuración.
- Por ejemplo, un número excepcionalmente elevado de colecciones puede provocar retrasos o errores, especialmente si algún componente de la interfaz de usuario intenta enumerar o buscar en todas las colecciones.
- ¿Pantalla de carga bloqueada?
- Si veis una pantalla de carga que permanece activa durante mucho tiempo, ¿desaparece al hacer clic sobre ella?
- Por lo general, esto indica que la aplicación en realidad no está cargando durante tanto tiempo, sino que existe un error en la interfaz que impide detectar que el servidor ya ha respondido. Al hacer clic, la interfaz de usuario vuelve a ejecutar una serie de comprobaciones, por lo que puede reconocer que la carga ha finalizado y ocultar la pantalla de carga.
Investigad la actividad de la red
Echad un vistazo al panel de red de las herramientas de desarrollo de vuestro navegador para identificar qué solicitud está causando el problema.
Cómo acceder al panel de red
- Chrome: menú de tres puntos → Más herramientas → Herramientas para desarrolladores → Red
- Firefox: Menú de configuraciones→ Más herramientas → Herramientas para desarrolladores web → Red
- Safari: Barra de menú → Desarrollar → Mostrar inspector web → Red
Leyenda: El panel de red en Chrome:

Tipos de solicitud
- Solicitudes XMLHttpRequest (XHR)
- Recuperar datos de la API REST
- El rendimiento varía en función del contenido de vuestro repositorio
- Es más probable que el problema sea exclusivo para usted
- Empieza a buscar aquí
- Solicitudes de Javascript (JS)
- Descargue el código para ejecutar la interfaz de usuario
- Prácticamente idénticos en todos los repositorios
- Puede indicar problemas con la forma en que se empaqueta la aplicación
- Solicitud HTML inicial
- Si es lento, indica un problema con el rendimiento de renderizado del lado del servidor.
La parte superior del panel de red tendrá una forma de filtrar según el tipo de solicitud. En Chrome, se ve así:

Qué buscar
- Solicitudes de XHR que son muy lentas o que nunca se completan:
- Esto puede ser una indicación de que el problema está en el back-end.
- Para probarlo, haga clic con el botón derecho en esa solicitud para copiar su URL y pruébela directamente en el navegador HAL del backend.
- Por lo general, se encuentra en https://the.repository.url/server así que https://demo.dspace.org/server por ejemplo
- Si había iniciado sesión cuando se produjo el problema, inicie sesión también primero en el navegador HAL
- Luego, pegar el enlace en el campo de entrada de la esquina superior izquierda y hacer clic en ir.
- Si lleva tanto tiempo allí, es probable que se trate de un problema de backend, así que infórmalo en https://github.com/DSpace/dspace/issues

- Patrones de solicitud de XHR repetidos:
- Si observáis un patrón de solicitudes repetidas en rápida sucesión, es probable que se trate de un error en la interfaz. Notificadlo en https://github.com/DSpace/dspace-angular/issues.

- Casos inciertos:
- Si no identificáis ninguna solicitud destacada o no estáis seguros, notificad el problema en el repositorio del frontend. Si más adelante se investiga y se determina que se trata de un problema del backend, siempre se podrá trasladar.
- Si no identificáis ninguna solicitud destacada o no estáis seguros, notificad el problema en el repositorio del frontend. Si más adelante se investiga y se determina que se trata de un problema del backend, siempre se podrá trasladar.
Exportar tráfico de red (archivo HAR)
- Siempre resulta útil que incluyáis una exportación del tráfico de red como archivo HAR.
- Chrome: haced clic en el icono de descarga en la barra superior de la pestaña «Red»
- Firefox: haced clic en el icono con forma de engranaje situado en la esquina superior izquierda de la pestaña «Red» → «Guardar todo como HAR». **
- Safari: utilizad el botón de exportación en la barra superior de la pestaña «Red».
- Un archivo HAR nos permite ver exactamente qué solicitudes de red se realizaron, en qué orden, cuánto tiempo tardaron y qué contenían las respuestas del servidor.
- No muestra el aspecto de la página, dónde hicisteis clic ni si se produjo algún cambio en el contenido. No obstante, si habéis seguido los pasos anteriores, esa información ya debería estar incluida.
Cuando todo el repositorio es lento
A veces, los problemas de rendimiento no se limitan a páginas específicas, sino que afectan a todo el sitio. En esos casos, la carga del servidor del nodo puede ser la causa.
Renderización del lado del servidor (SSR) en DSpace
- La interfaz de usuario de DSpace utiliza la renderización del lado del servidor (SSR), principalmente para garantizar que los rastreadores de los motores de búsqueda puedan indexar todo el contenido sin necesidad de ejecutar JavaScript.
- Para cada solicitud que llega, el servidor Angular ejecuta el código JavaScript necesario para generar la página, realiza todas las solicitudes a la API REST para obtener los datos y devuelve el archivo HTML resultante.
- Este HTML puede utilizarse como un archivo estático para que un rastreador lo indexe.
- usuario vea ya el contenido mientras se descarga el código JavaScript necesario para renderizar el resto de la aplicación en su navegador.
Rendimiento bajo carga
- Esto funciona bien cuando los servidores Angular disponen de suficientes recursos y no están sometidos a una carga elevada.
- Sin embargo, a medida que aumenta la carga, los recursos que el servidor puede dedicar a cada solicitud disminuyen y el tiempo de procesamiento de cada una se incrementa.
- Por este motivo, en DSpace 8 se introdujo la posibilidad de deshabilitar el SSR para determinadas rutas, y esta funcionalidad se perfeccionó en DSpace 9. Consultad la Documentación de DSpace para saber cómo configurar las rutas a las que se aplica
- No obstante, tened en cuenta que, aunque deshabilitar el SSR en muchas rutas puede mejorar considerablemente el rendimiento y el uso de recursos de vuestro servidor de nodos, también puede afectar a vuestra puntuación SEO o bloquear posibles casos de uso legítimos para bots, por lo que conviene valorarlo cuidadosamente.
Conclusión
Los problemas de rendimiento pueden resultar frustrantes, pero con un enfoque estructurado son mucho más fáciles de diagnosticar y resolver. Al acotar los síntomas, investigar la actividad de la red y proporcionar informes claros (incluidos archivos HAR siempre que sea posible), aceleraréis considerablemente la resolución de incidencias y facilitaréis que los desarrolladores os ayuden de forma eficaz.
Recordad: aunque no estéis seguros de si el problema corresponde al frontend o al backend, siempre es mejor notificarlo que dejarlo sin resolver. La comunidad y las personas responsables del mantenimiento de DSpace dependen de comentarios claros y prácticos para seguir mejorando la plataforma para todos.

