Estructura de un paquete SCORM: anatomía técnica explicada
SCORM 06 abril 2026 Equipo El Mapache

Estructura de un paquete SCORM: anatomía técnica explicada

Si alguna vez has subido un curso a una plataforma de e-learning, es muy probable que te hayas encontrado con un archivo con extensión .zip llamado "paquete SCORM". Es ese fichero mágico que contiene tu curso completo y que, al importarlo en el LMS, simplemente funciona. Pero, ¿alguna vez te has preguntado qué hay dentro de ese zip? Más allá de ser una caja negra, un paquete SCORM es una estructura técnica perfectamente definida y organizada. Comprender su anatomía no es solo para desarrolladores; conocerla te dará un control mucho mayor sobre tus contenidos, te ayudará a solucionar errores comunes y a tomar decisiones más informadas a la hora de crear un paquete SCORM. En este artículo, desentrañaremos capa por capa la estructura interna de un paquete SCORM, explicando el rol crucial del manifiesto, los SCO, los assets y el misterioso mecanismo de comunicación con el LMS.

El corazón del paquete: el archivo imsmanifest.xml

Todo paquete SCORM gira en torno a un único y esencial archivo: el imsmanifest.xml. Este archivo, que debe ubicarse en la raíz del paquete, actúa como el mapa, el índice y el manual de instrucciones de todo el curso. Sin él, el LMS no puede entender qué contiene el paquete, cómo organizarlo o cómo lanzarlo. Es el primer archivo que el sistema busca al importar el contenido.

El manifiesto es un documento XML que sigue un esquema estricto definido por el estándar. Su estructura principal se organiza en varias secciones clave.

Metadatos (<metadata>)

Esta sección contiene información descriptiva sobre el propio paquete, no sobre el contenido instructivo en sí. Incluye datos como el título, identificador único, descripción, palabras clave y versión de SCORM que utiliza (por ejemplo, SCORM 1.2 o SCORM 2004). Es la "ficha técnica" del paquete.

Organizaciones (<organizations>)

Aquí es donde se define la estructura pedagógica y de navegación del curso. Puedes tener múltiples organizaciones (por ejemplo, una para la versión completa y otra para un resumen rápido), pero siempre hay una designada como la predeterminada. Dentro de una organización, se definen los ítems (<item>), que pueden anidarse para crear una jerarquía de módulos, lecciones y temas. Cada ítem apunta a un recurso concreto.

Recursos (<resources>)

Esta sección es el "inventario" de todos los archivos físicos que componen el curso. Cada recurso tiene un identificador único y una referencia al archivo de lanzamiento (normalmente un .html) que debe ejecutarse. Además, lista todas las dependencias (otros archivos HTML, imágenes, CSS, JavaScript, vídeos, etc.) necesarias para que ese recurso funcione correctamente. El LMS utiliza esta lista para desplegar todos los archivos en su ubicación correcta.

Submanifiestos

Una característica poderosa, especialmente en SCORM 2004, es la capacidad de hacer referencia a otros manifiestos. Esto permite crear paquetes SCORM modulares y reutilizables, donde un curso principal puede incluir submódulos completos (cada uno con su propio imsmanifest.xml). Es una práctica avanzada muy útil en entornos de formación corporativa complejos.

El imsmanifest.xml es el contrato entre tu contenido y el LMS. Si está mal formado o contiene referencias rotas, el curso fallará. La mayoría de los problemas de importación se originan aquí.

Los bloques de aprendizaje: SCOs y Assets

Dentro del mundo SCORM, el contenido no se comunica directamente con el LMS. Lo hace a través de unidades específicas. Aquí es donde entran en juego los dos conceptos fundamentales: los Assets y los SCOs (Sharable Content Objects).

Assets: los elementos básicos

Un Asset es cualquier recurso web estático que no tiene capacidad de comunicación con el LMS. Son los "ladrillos" básicos. Ejemplos típicos son archivos HTML simples (sin API SCORM), imágenes (JPG, PNG, GIF), hojas de estilo CSS, documentos PDF, archivos de vídeo o audio y fuentes tipográficas. Un Asset se puede lanzar y visualizar, pero el LMS no podrá rastrear si el alumno lo ha visto, cuánto tiempo ha estado en él o si lo ha completado. Simplemente se sirve al navegador.

SCOs: las unidades rastreables

Un SCO es la unidad mínima de contenido que puede ser rastreada e informada por el LMS. Es un Asset (normalmente una página web o una aplicación web) que ha sido "potenciado" con la capacidad de comunicarse con la API SCORM. Técnicamente, un SCO es un recurso en el imsmanifest.xml que tiene su atributo scormType establecido como sco.

La magia ocurre porque dentro del código HTML/JavaScript del SCO, se incluyen llamadas a la API SCORM (a menudo a través de una biblioteca wrapper como pipwerks.js o SCORM_API_Finder.js). Estas llamadas permiten al SCO hacer cosas como inicializar la comunicación con el LMS (LMSInitialize("")), enviar y recuperar datos, como el estado de completado (cmi.core.lesson_status), la puntuación (cmi.core.score.raw) o el tiempo de sesión (cmi.core.session_time), y finalizar la comunicación correctamente (LMSFinish("")).

Un curso SCORM completo suele estar compuesto por varios SCOs organizados secuencialmente en el manifiesto. Por ejemplo, un curso de "Ciberseguridad" podría tener un SCO para la introducción, otro para el módulo de phishing, otro para un test de evaluación y otro para un caso práctico final. El LMS rastrea el progreso de cada SCO de forma independiente y consolida los datos.

La comunicación vital: la API SCORM y el LMS

La estructura del paquete sería inútil sin un canal de comunicación. Aquí es donde entra en juego el componente más abstracto pero crítico: la API SCORM (Application Programming Interface). No es un archivo que encuentres en el paquete, sino un puente estándar que el LMS debe proporcionar y el SCO debe saber usar.

El mecanismo, conocido como el "modelo de salpicadero" (hub and spokes), funciona de la siguiente manera. Primero, el LMS crea el entorno de ejecución: cuando lanzas un SCO, el LMS carga su página web en un iframe o ventana del navegador. Simultáneamente, el LMS "inyecta" en esa ventana un objeto JavaScript llamado API (o a veces SCORM_API o LMSAPI). Este objeto es la API SCORM, y actúa como el único punto de contacto autorizado. En segundo lugar, el SCO encuentra y usa la API: el código JavaScript dentro del SCO busca el objeto API que el LMS ha proporcionado. Una vez encontrado, puede llamar a sus funciones, como LMSGetValue() o LMSSetValue(). A continuación, se produce el intercambio de datos a través del Modelo de Datos CMI: mediante estas funciones, el SCO lee y escribe datos en un modelo estandarizado llamado CMI (Computer Managed Instruction). El LMS es el responsable de almacenar y persistir estos valores (por ejemplo, "cmi.core.lesson_status" = "passed"). Finalmente, el ciclo de vida debe estar controlado: la comunicación debe comenzar con LMSInitialize("") y terminar con LMSFinish("") para que el LMS guarde los datos de forma segura. Un cierre incorrecto puede provocar la pérdida del progreso de la sesión.

Esta arquitectura permite que un mismo paquete SCORM funcione en cualquier LMS compatible, sin necesidad de modificaciones, porque todos deben implementar la misma API. Es la esencia de la interoperabilidad que define al estándar.

Estructura de carpetas típica de un paquete SCORM

Juntando todos los conceptos, un paquete SCORM descomprimido suele tener una apariencia similar a esta. En la raíz del paquete se encuentra el archivo imprescindible, el imsmanifest.xml, junto con el archivo de lanzamiento principal, como index.html o start.html, referenciado en el manifiesto. Es común encontrar una carpeta /css/ que contiene archivos como styles.css, y una carpeta /js/ que alberga bibliotecas como scorm_api_wrapper.js para facilitar la comunicación, además de otros scripts como main.js. Los recursos visuales suelen organizarse en una carpeta /images/ con archivos como logo.png o fondo.jpg. El contenido instruccional a menudo reside en una carpeta /modules/, donde cada archivo HTML, como introduccion.html, leccion1.html o evaluacion.html, puede representar un SCO independiente. También puede existir una carpeta /assets/ para documentos adicionales que no son rastreables, como un manual.pdf, que se considera un Asset.

Las rutas relativas entre estos archivos son cruciales. Todas las referencias dentro del HTML y del propio imsmanifest.xml deben ser relativas a la ubicación del archivo desde el que se llaman, ya que el LMS puede descomprimir el paquete en una ubicación arbitraria de su servidor.

Problemas comunes y cómo diagnosticarlos

Conociendo la anatomía del paquete, puedes diagnosticar errores frecuentes. Un error común es "Error: No se pudo encontrar el archivo imsmanifest.xml", que suele indicar que el archivo no está en la raíz del zip, tiene otro nombre o el paquete no es SCORM. Si el curso se carga, pero no guarda el progreso, es muy probable que el recurso no sea un SCO (falta el código de la API SCORM) o que las llamadas a LMSInitialize() o LMSFinish() fallen. En este caso, revisa la consola de JavaScript del navegador (F12) para ver errores. Los "Error 404 en imágenes o recursos" suelen deberse a rutas incorrectas en el manifiesto o en el código HTML. Recuerda que el LMS reconstruye la estructura de carpetas, por lo que debes usar siempre rutas relativas. Si el curso no sigue la secuencia definida, revisa la sección <organizations> del imsmanifest.xml, ya que la secuencia y la estructura de ítems pueden estar mal configuradas.

Para crear paquetes técnicamente sólidos sin necesidad de programar todo manualmente, puedes apoyarte en diversas herramientas de autor SCORM, que generan automáticamente esta estructura y el código de comunicación.

Conclusión: Más que un simple ZIP

Un paquete SCORM es, por tanto, un ecosistema técnico bien organizado. No es un simple montón de archivos comprimidos, sino una estructura que integra: un mapa de navegación (imsmanifest.xml), un inventario de recursos, unidades de aprendizaje inteligentes (SCOs) y un protocolo de comunicación estandarizado (API SCORM). Esta arquitectura es la que garantiza que tu contenido sea portable, rastreable y funcione en cualquier plataforma compatible.

Entender esta anatomía te convierte en un profesional más eficaz. Te permite dialogar con desarrolladores, depurar problemas complejos, planificar la estructura de tus cursos de forma más eficiente y aprovechar al máximo las posibilidades del estándar. Deja de ver el paquete SCORM como una caja negra y comienza a verlo como una máquina bien engrasada cuyos engranajes ahora comprendes.

¿Tienes dudas sobre la estructura técnica de tus paquetes SCORM o necesitas asegurar que tu contenido cumple con todos los requisitos para un despliegue impecable en tu LMS corporativo? En El Mapache somos expertos en desentrañar la complejidad técnica del e-learning. Contacta con nosotros y te ayudaremos a construir, auditar o solucionar cualquier desafío relacionado con SCORM y la formación online de tu organización.

Etiquetas: SCORM Paquete SCORM Imsmanifest Técnico

Artículos relacionados

Contenido relacionado

Descubre mas recursos sobre este tema.

Utilizamos cookies para mejorar tu experiencia. Al continuar navegando, aceptas nuestra Política de Cookies.