2015-12-09 2 views
0

Je travaille sur un projet visant à rendre compatible un LMS SCORM 1.2 existant. J'ai utilisé le document de l'initiative d'apprentissage distribué avancé appelé Sharable Content Onject Modèle Version 1.2 L'environnement d'exécution SCORM.SCORM 1.2 Logique LMSFinish pour lesson_status

Sur la page 3-25, il est question de la logique qui doit être implémentée dans le système LMS pour définir la valeur cmi.core.lesson_status lorsque le SCO appelle la fonction LMSFinish(). Il se lit comme suit:

Après avoir reçu l'appel LMSFinish() ou l'utilisateur quitte, le LMS devrait fixer le cmi.core.lesson_status pour le SCO à « terminé ».

La mise en œuvre de cette logique semble avoir aucun sens pour moi qu'un utilisateur pourrait alors simplement voir la première page/écran de l'OCS et de clic, sur lequel mon code LMS définira le statut du cours à " terminé". Mais en vérité, l'utilisateur n'a pas réellement terminé le SCO. Je ne veux pas que mon système de gestion de l'apprentissage mette le statut «terminé» si l'utilisateur n'a pas réellement passé tout le matériel.

Ce problème semble également dérouter les autres. Voir: VSSCORM Step 22 - Progress and Completion - cmi.core.lesson_status

Est-ce que quelqu'un pourrait peut-être clarifier la question afin que je puisse coder ma logique LMS pour refléter correctement la situation réelle tout en étant conforme à SCORM 1.2?

Merci d'avance.

Répondre

1

Pour ajouter à la réponse de Ryochet, LMSFinish() est destiné à être un moyen pour le cours de dire aux LMS que l'apprenant a terminé une session , pas nécessairement l'ensemble du cours.

La meilleure pratique pour le développement de cours est de définir la valeur pour cmi.core.lesson_status dès que le cours est initialisé. Cela indique immédiatement au LMS qu'il doit et non interférer avec la valeur de l'état de la leçon lorsque le cours invoque LMSFinish(), et qu'un utilisateur qui ferme rapidement le cours sans quitter la première page reçoit le statut incomplete.

Cependant, si les auteurs de cours choisissent pas pour définir lesson_status, l'état docs SCORM est la responsabilité du LMS pour définir l'état de leçon à completed. C'est ce qu'ils décrivent dans 3-25, comme indiqué ci-dessous.

3.3.6.1

Il est de la responsabilité des appels API SCO, au minimum, question LMSInitialize (« ») et LMSFinish (« »).

3.4.2

Tous les éléments de données sont en option pour une utilisation par SCOs. Les SCO sont requis uniquement pour utiliser les fonctions API LMSInitialize ("") et LMSFinish (""); ils ne sont pas obligés d'utiliser LMSSetValue() ou LMSGetValue(). Les SCO peuvent être très, très petits et ne pas être conçus pour être suivis en détail.

p 3-25

Comportement: Autres exigences Si un SCO définit le cmi.core.lesson_status alors il n'y a pas de problème. Cependant, le SCORM ne force pas le SCO à définir le cmi.core.lesson_status. Il y a des exigences supplémentaires qui doivent être respectées pour gérer avec succès ces cas:

  • Au lancement initial LMS devrait fixer les cmi.core.lesson_status à « pas tenté ».
  • Lors de la réception de l'appel LMSFinish() ou de la sortie de l'utilisateur, le serveur LMS doit définir le paramètre cmi.core.lesson_status pour que le SCO soit "terminé".
  • Après avoir défini "cmi.core.lesson_status" sur "completed", le LMS doit maintenant vérifier si un score de maîtrise a été spécifié dans cmi.student_data.mastery_score, s'il est pris en charge, ou si le manifeste indique que le SCO est membre de. Si un score de maîtrise est fourni et que le SCO a défini cmi.core.score.raw, le système LMS compare le fichier cmi.core.score.raw au score de maîtrise et définit le paramètre cmi.core.lesson_status sur «passed» ou "échoué". Si aucun score à atteindre est fourni, le LMS cmi.core.lesson_status comme « terminé »

En d'autres termes, si le cours définit les valeurs pour cmi.core.lesson_status, allez à la valeur ils ont fourni (en supposant qu'il est un jeton valide). Si le cours pas fournit une valeur, les docs SCORM disent supposer que c'est un "très très petit" SCO, et "ne pas être conçu pour être suivi en détail". En tant que tel, définissez l'état de la leçon sur completed car le SCO est trop simple pour définir la valeur elle-même. Si les auteurs de cours ne sont pas informés et conçoivent un grand cours qui ne définit pas la valeur de l'état de la leçon - comme décrit dans votre scénario où "un utilisateur peut alors afficher la première page/écran du SCO et cliquer" - Les auteurs du cours apprendront leur erreur très rapidement (comme nous le faisons tous!) et éditerons le code du cours de manière appropriée.

2

Pour ma façon de lire, il y a une partie de ce manque il assez évident -

Après avoir reçu l'appel LMSFinish() ou l'utilisateur quitte, le LMS devrait fixer le cmi.core.lesson_status pour la SCO à "terminé" s'il n'a pas été modifié par le SCO.

En d'autres termes, si elle est encore « not attempted » quand est appelé LMSFinish(), alors il devrait être changé (comme le SCO n'a pas le droit de le mettre à ce qu'il doit être sûr de tester). Je ne suis pas sûr s'il y a un doc de conformité pour 1.2, ce sera probablement quelque part sur la page adlnet.gov SCORM 1.2 si oui (il y a un téléchargement de zip qui semble prometteur) - Je suis habitué à la version 2004 où il y a un lien direct pdf - il y a aussi la suite de tests 1.2 là-bas, mais comme je n'ai jamais eu besoin de l'utiliser, je ne suis pas sûr de l'utilisation que ça va être.