Esse conteúdo foi desenvolvido para ser melhor visualizado em navegadores modernos.
Para um melhor aproveitamento, por favor atualize o seu navegador ou utilize o Chrome, Firefox ou Edge atualizado.
Esse conteúdo foi desenvolvido para ser melhor visualizado em navegadores modernos.
Para um melhor aproveitamento, por favor atualize o seu navegador ou utilize o Chrome, Firefox ou Edge atualizado.
O componente de SCORM foi desenvolvido para facilitar a comunicação com o LMS reduzindo a quantidade de códigos pelo designer e desenvolvedor.
Em e-Learning, os cursos e treinamentos são desenvolvidos com base em Objetos de Aprendizado, isto é, conjuntos de itens de conteúdo, de prática e de avaliação que são combinados com base em um único objetivo. Tais objetos são criados como pacotes compartilháveis contendo um ou mais objetos, e a estes pacotes chamamos SCO ou Objeto de Conteúdo Compartilhável.
O SCORM é um conjunto de padrões e especificações voltado para a portabilidade, interoperabilidade e reusabilidade de conteúdo para e-Learning.
O SCORM, acrônimo de Shareable Content Object Reference Model ou Modelo de Referência de Objetos de Conteúdo Compartilháveis, foi concebido pelo Gabinete da Secretaria de Defesa do Estados Unidos e colocado sob a responsabilidade da ADL.
A portabilidade, ou capacidade de migração, define que cada SCO pode ser armazenado em pacotes em formato ZIP.
A Interoperabilidade (Padronização) permite que tanto o Objeto quanto a API tenham funcionalidades básicas universalmente compatíveis entre os diversos LMSs. A Interoperabilidade (Padronização) permite que tanto o Objeto quanto a API tenham funcionalidades básicas universalmente compatíveis entre os diversos LMSs.
A Reusabilidade (Flexibilização) descreve que cada pacote SCO possui metadados informativos que facilite que seu conteúdo identificado e também que seja reaproveitado em outros cursos, lições ou módulos. A Reusabilidade (Flexibilização) descreve que cada pacote SCO possui metadados informativos que facilite que seu conteúdo identificado e também que seja reaproveitado em outros cursos, lições ou módulos.
Para facilitar a integração, e a sua implementação, dos cursos com os LMS´s o framework conta com uma API simplificada em Javascript.
Todas as variáveis do padrão SCORM podem ser acessadas pelo objeto framework.scorm
.
student
name
id
audio
language
speed
text
score
raw
max
min
lesson
mode
credit
status
location
debbug - ( default: false ) Configura se as etapas, processos e erros serão exibidas no console. Valores all( ou true ), none( ou false ), root( objeto em si ), connection( comunicação com o LMS )
useLocalcache - ( default: false ) Permite o uso de dados locais no cliente( localStorage / Cookie ) caso não haja conexão com o LMS. Focado para fase de desenvolvimento e testes.
status - ( default: false ) Demonstra a situação atual da comunicação com o LMS. Valores online, offline, booting
hasCacheDefault() - Retorna se existe algum cache salvo.
if( !scorm.hasCacheDefault() ){ // your code };
setCacheDefault( object ou 'reset' [, replaceCurrentCache ] ) - Salva valores default no cache, ou sobrescreve cache atual.
scorm.setCacheDefault({ 'cmi.core.student_name' : 'Scorm default', 'cmi.core.student_id' : 'scorm_default', 'cmi.core.score.min' : 0, 'cmi.core.score.max' : 10, 'cmi.suspend_data' : { p: [1,0,1,2,1], last_page: 1, results:[0,0,0,0,0,0,0,0,0,0] } });
updateTime() - Atualiza a contagem de tempo do usuário na tela e salva no LMS.
scorm.updateTime(); // "00:01:07"
newField( nome[, valor(es) ] ) - Cria um novo campo ao sistema SCORM, criando uma nova propriedade gravável e legível. Para poupar
scorm.newField( 'lvd', (new Date()).getTime() ); // last viewed date scorm.lvd; // 1460403991350 scorm.newField( 'pgv', [1] ); // pages viewed scorm.pgv.get( 0 ); // 1 scorm.pgv.set( 0, 12); // 12 scorm.pgv.get( 0 ); // 12 scorm.pgv.fill( 5, 1 ); // [0,1,1,1,1] scorm.pgv.fill( 5, 2, true ); // [2,2,2,2,2]
connect() - Aciona a transição com o LMS.
scorm.connect();
quit() - Encerra a transição com o LMS.
scorm.quit();
on( eventName, callbackFunction ) - Atribui eventos.
scorm.on('connection.success', function( e, c, s ){ console.log('conectado', e, c, s); });
evento | |
---|---|
connection.success | Conexão com o LMS feita com sucesso |
connection.trying | Conexão com o LMS falhou uma tentativa, mas ainda tentando |
connection.fail | Conexão com o LMS falhou a última tentativa |
connection.always | Chamado em todos os casos acima. |
warn | Comportamento irregular |
log | Retorno secundário de processo |
error | Erro em um processo |
Para permitir a indicação visual do status da comunicação uma família de classes são alteranadas na raiz do DOM, a tag html
, à cada atualização.
classe | |
---|---|
scorm-connecting | Processo início da comunicação em andamento. |
scorm-success | Processo de comunicação iniciado com sucesso. |
scorm-fail | Processo de comunicação falhou. |
scorm-localcache | Processo de comunicação falhou, mas utilizando versão local. |
Apesar de o componente de SCORM ser iniciado automaticamente junto com o framework a forma mais segura de acessá-lo é através do HOOK abaixo.
nm.ready( 'before.scorm', function( pack, $) { /* seu código aqui para antes de iniciar a conexão */ }); nm.ready( 'scorm', function( pack, $) { /* seu código aqui para todas as etapas de conexão */ }); nm.ready( 'after.scorm', function( pack, $) { /* seu código aqui para depois de iniciada a conexão */ });
O SCORM é iniciado automaticamente junto com o framework. Contudo, caso haja a necessidade de utilizá-lo em outro projeto, ele pode ser iniciado com e sem AMD.
scorm.debbug = 'true'; scorm.useLocalcache = true; scorm.on('connection.success', function( e, c, s ){ console.log('conectado', e, c, s); }); if( !scorm.hasCacheDefault() ){ scorm.setCacheDefault({ 'cmi.core.student_name' : 'Scorm default', 'cmi.core.student_id' : 'scorm_default', 'cmi.suspend_data' : { p: [1,0,1,2,1], last_page: 1, results:[0,0,0,0,0,0,0,0,0,0] } }); }; scorm.connect();