简体   繁体   English

不使用LMS暂停数据-清晰讲故事

[英]Suspend Data without LMS - Articulate Storyline

I work for a small company that is using a custom built web system using ASP.NET that hosts a number of learning tools, including articulate storyline courses. 我在一家小公司工作,该公司正在使用使用ASP.NET的自定义构建的Web系统,该系统承载着许多学习工具,包括清晰的故事情节课程。

We have an SQL database that stores the learner variables from the storyline courses, which works well. 我们有一个SQL数据库,用于存储故事情节课程中的学习者变量,效果很好。 However this only works if a user completes the course in one go. 但是,这仅在用户一次性完成课程的情况下有效。 If the user logs out of their account half way through their course and uses another device to log back in, they would lose their progress. 如果用户在课程中途退出帐户并使用其他设备重新登录,则他们将失去进度。

There is a Suspend Data function that we would like to make use of, I have seen this work with LMS's, but we want to keep our system as it is. 我们想使用一个Suspend Data函数,我已经在LMS上看到了这个功能,但是我们希望保持系统不变。 As ours isn't an off the shelf LMS and we don't have a system that complies to SCORM, our developer is struggling to find out how we can capture the users Suspend Data that gets fired on every slide. 由于我们不是现成的LMS,而且我们没有符合SCORM的系统,因此我们的开发人员正在努力寻找如何捕获用户在每张幻灯片上触发的暂停数据。 We want to capture this so that when a user logs back into their account we can resume them to the point where they left off if they log out. 我们希望捕获这一点,以便当用户重新登录其帐户时,我们可以将其恢复到注销后退出的位置。

Has anyone in the past used Suspend Data without an LMS? 过去是否有人在没有LMS的情况下使用挂起数据? Any advice would be greatly received. 任何建议将不胜感激。

Thanks, 谢谢,

Jack 插口

The SCORM Run Time Environment (RTE) is implemented using a heavily specified JavaScript object as the API. 使用大量指定的JavaScript对象作为API来实现SCORM运行时环境(RTE)。 Storyline during launch will do a search based on a pre-defined algorithm for finding this object in the global namespace with a specific name (depending on the version of SCORM). 启动过程中的Storyline将基于预定义的算法进行搜索,以在全局命名空间中找到具有特定名称的对象(取决于SCORM的版本)。 The object stored in that namespace would only need to implement a tiny subset of the SCORM RTE API to receive the suspend data. 存储在该名称空间中的对象只需要实现SCORM RTE API的一个很小的子集即可接收挂起的数据。 For instance in SCORM 1.2 that object would need to have an LMSSetValue method that takes an element name, in this case cmi.suspend_data and the value (a string) and stores that value for future use. 例如,在SCORM 1.2中,该对象将需要具有一个LMSSetValue方法,该方法采用元素名称,在这种情况下为cmi.suspend_data和值(字符串),并存储该值以备将来使用。 On the flip side, it would need to implement LMSGetValue such that when the element name, cmi.suspend_data , is requested the previously set value can be provided in return. 另一方面,它需要实现LMSGetValue ,以便当请求元素名称cmi.suspend_data ,可以提供先前设置的值作为回报。 How that data is stored to the server between sessions, etc. is implementation specific. 在会话等之间如何将数据存储到服务器是特定于实现的。

Naturally a course implemented against the SCORM specification will usually expect other functionality to exist in that API and your mileage may vary on how courses react to finding the object but not having the full implementation available. 当然,根据SCORM规范实施的课程通常会期望该API中存在其他功能,并且您的学习进度可能会因课程对找到对象的反应而有所不同,但没有完整的可用实现。

There are also a number of ways to implement SCORM into a specific part of the system while letting someone else handle the SCORM implementation, SCORM Cloud is an example of this with pay per use pricing. 还有许多方法可以将SCORM实施到系统的特定部分中,同时让其他人来处理SCORM实施。SCORMCloud是按使用付费定价的示例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM