Características técnicas del SCORM 1.2
Un SCORM 1.2 se compone de tres partes fundamentales:
- Content Aggregation Model (CAM)
- Run-Time Environment (RTE)
- Sequencing & Navigation
A continuación, desglosamos cada parte y sus características clave:
1. Content Aggregation Model (CAM)
Define cómo debe organizarse el contenido de aprendizaje.
- Los cursos se componen de SCOs (Sharable Content Objects), que son las unidades mínimas que se comunican con el LMS.
- Cada SCO puede ser una lección, una actividad o un test.
- Los SCOs se agrupan en una estructura jerárquica que se define en un archivo XML llamado imsmanifest.xml.
Manifest (imsmanifest.xml). Este archivo es el corazón del paquete SCORM. Contiene:
- Los metadatos del curso (título, autor, duración estimada…).
- La estructura de navegación (aunque limitada en 1.2).
- Los recursos incluidos (HTML, JS, imágenes, etc.).
- Las referencias a los SCOs.
Empaquetado
- Todo el contenido del curso se empaqueta en un archivo .zip llamado PIF (Package Interchange File).
- Este archivo es lo que se sube al LMS.
2. Run-Time Environment (RTE)
Esta es la parte más importante de SCORM 1.2 desde el punto de vista técnico. Define cómo se comunica el contenido con el LMS en tiempo de ejecución a través de una API de JavaScript que debe estar disponible en el navegador cuando se lanza el SCO.
API de Comunicación JavaScript
- Los SCOs deben llamar a funciones específicas de la API del LMS, que suelen estar disponibles en window.API.
- Principales funciones:
- API.LMSInitialize(«»)
- API.LMSGetValue(«cmi.core.student_name»)
- API.LMSSetValue(«cmi.core.score.raw», «85»)
- API.LMSCommit(«»)
- API.LMSFinish(«»)
Datos que se pueden registrar
SCORM 1.2 define un conjunto de datos (modelo de datos cmi.core) que pueden almacenarse en el LMS:
Campo | Descripción |
cmi.core.student_id | ID del alumno en el LMS |
cmi.core.student_name | Nombre completo del alumno |
cmi.core.lesson_location | Posición actual (bookmark) |
cmi.core.lesson_status | Estado del curso: not attempted, incomplete, completed, passed, failed |
cmi.core.score.raw | Puntuación obtenida |
cmi.core.total_time | Tiempo total acumulado |
cmi.core.session_time | Tiempo de la sesión actual |
cmi.core.exit | Tipo de salida (suspend, logout, etc.) |
El SCO debe ejecutar LMSInitialize(«») al comenzar y LMSFinish(«») al finalizar. Se usa LMSCommit(«») para guardar los datos antes de terminar.
3. Navegación y secuenciación
En SCORM 1.2 no hay reglas complejas de navegación entre SCOs. Cada SCO es independiente, y el LMS no tiene control directo sobre el orden en que deben presentarse.
- La navegación entre SCOs suele manejarse desde el propio contenido (por ejemplo, con botones «Siguiente» que abren el siguiente SCO).
- No hay lógica condicional como «no mostrar el SCO 3 hasta que se complete el SCO 2», algo que sí se introduce en SCORM 2004.
Ventajas de SCORM 1.2
- Muy extendido y compatible con la mayoría de LMS.
- Sencillo de implementar.
- Permite seguimiento básico del progreso, puntuación y tiempo.
- Compatible con herramientas como Adobe Captivate, Articulate Storyline, iSpring, etc.
Puede ver la comparativa con SCORM 2004 en el artículo: SCORM.