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();