# SCORM

SCORM (Shareable Content Object Reference Model, lett. Modello di Riferimento per Oggetti di Contenuto Condivisibile) è una raccolta di specifiche tecniche che consente lo scambio di contenuti digitali in maniera indipendente dalla piattaforma.
Al momento attuale le ultime specifiche dello standard sono relative alla versione 1.3 (detto anche SCORM 2004) anche se il più utilizzato rimane ancora lo SCORM 1.2. La specifica SCORM 2004 ha subito diverse revisioni e miglioramenti. La revisione più recente è la quarta (4th edition).

## Lo SCORM nell'e-learning

Lo SCORM definisce, nell'e-learning, le specifiche relative al riutilizzo, tracciamento e catalogazione degli oggetti didattici (learning object), i "mattoni elementari" con i quali vengono strutturati i corsi. La piattaforma di e-learning ha solo il compito di dialogare con l'oggetto, interpretando i messaggi che gli vengono passati. Ciò è possibile in quanto SCORM definisce al suo interno le caratteristiche che dovrebbero essere supportate dal learning management system (LMS). La compatibilità della piattaforma si rende necessaria solamente per "capire la lingua" dell'oggetto e, se necessario, per potergli rispondere.

### Compatibilità dei LO con lo SCORM

Per essere compatibile con lo standard SCORM, ogni Learning Object (LO) deve avere le seguenti caratteristiche:
* Essere catalogabile attraverso dei metadati (campi descrittivi predefiniti) in modo da poter essere indicizzato e ricercato all'interno dell'LMS. I campi descrittivi richiesti sono molti, non tutti obbligatori. Viene ad esempio richiesto l'autore, la versione, la data dell'ultima modifica fino ad arrivare ai vari livelli di aggregazione tra i vari oggetti. Il tutto viene archiviato nella sezione in un file chiamato imsmanifest.xml.
* Poter dialogare con l'LMS in cui è incluso, passandogli dei dati utili al tracciamento dell'attività del discente, ad esempio il tempo passato all'interno di una certa lezione, i risultati conseguiti in un test e i vincoli previsti per passare all'oggetto successivo. Il dialogo avviene attraverso dei dati che passano dal LO all'LMS e dall'LMS al LO. Il linguaggio con cui si comunica è il JavaScript che viene interpretato da una API che funge da ponte tra i dati che i due elementi (LMS e LO) si trasmettono.
* Essere riusabile: l'oggetto deve essere trasportabile su qualsiasi piattaforma compatibile senza perdere di funzionalità. Questo principio è alla base dello standard in quanto, rispettando le direttive di costruzione, l'oggetto e la piattaforma non devono essere modificati per attivare le funzionalità di tracciamento e catalogazione.
Un materiale didattico SCORM è un file con estensione .zip, oppure .pif, che contiene all'interno diverse sezioni relative alla struttura, alla descrizione con metadati ed al suo funzionamento all'interno di un LMS. Lo SCORM quindi non specifica un formato di file che possa rappresentare l'oggetto didattico: qualsiasi formato può essere incluso in un pacchetto SCORM, a seconda del fatto che l'oggetto sia preposto a comunicare con un LMS o ad essere un oggetto di un supporto che non comunica con la piattaforma di e-learning. Se questo oggetto è programmato per comunicare con la piattaforma prende il nome di SCO, se invece è un oggetto di supporto prende il nome di ASSET.
Il linguaggio con cui l'oggetto SCO comunica con la piattaforma di e-learning è il JavaScript; tra i formati più comuni per costruire SCO possiamo citare l'HTML, Flash, Java o altri formati più chiusi o meno diffusi.

## Organizzazione del content package

* Le resources sono l'insieme degli elementi che compongono lo SCORM package. Una resource può essere composta da più oggetti (es. in un file HTML ci sarà un'immagine, un foglio di stile, etc.)
* Le organizations sono una particolare sequenza di resources che può avere vincoli tra un oggetto e l'altro (es. se non si è visualizzato lo SCO n. 1 non sarà possibile accedere all'oggetto 2). Un package può anche avere più organizations.
* L'asset è un oggetto di supporto.
I vincoli nella messa in sequenza degli oggetti possono essere:
* D'uso (Navigato, Visualizzato ma non completato, Finito, etc.);
* Di risultato (Passato, Non passato...)

## Package interchange format

Il formato PIF (Package interchange format) è stato coniato con l'uso degli SCORM. Questo standard ha proposto come formato di trasporto dei propri corsi il formato ZIP. Lo standard che ha definito lo SCORM ha semplicemente rinominato il file ZIP in PIF. In realtà il contenuto è sempre compresso con ZIP, tant'è che è possibile aprire i PIF come dei normali file compressi ZIP.