简体   繁体   English

将SCORM课程导入我的LMS

[英]Import a SCORM course to my LMS

I guess I'm gonna take a lot of heat about this question, and even some down votes but I am really lost here. 我想我会对这个问题感到非常关注,甚至投反对票,但我真的在这里迷失了方向。

I know what SCORM stands for and what is it good for. 我知道SCORM代表什么,它有什么好处。 I saw the paid "engines" like scorm.com but it starts from $20K... 我看到像scorm.com这样的付费“引擎”,但价格从$ 20K起...

I work for an LMS site software, we have videos, courses and whatever... my manager said "we have a provider that has a lot of courses in SCORM format, build a tool that import them into our database." 我为LMS站点软件工作,我们提供视频,课程等等。我的经理说:“我们有一个提供许多SCORM格式课程的提供商,并构建了将其导入我们数据库的工具。”

Oh god, help me, is there an easy way to do that or am I facing a year of hard, not satisfying work now? 哦,天哪,请帮助我,有没有简单的方法可以做到这一点,或者我现在要面对一年的艰苦工作而不是令人满意的工作? (don't know if I can use the non-free ones, depends on prices). (不知道我是否可以使用非免费的,取决于价格)。

ASP.NET, C# platform. ASP.NET,C#平台。

Short answer: buy the Rustici guys' engine. 简短的答案:购买Rustici家伙的引擎。 If "a lot of courses" is let's say 500, you're looking at $40 per course. 如果“很多课程”为500,那么您每门课程的费用为40美元。 You'll probably sell them for more. 您可能会出售更多。 Or think of it as 3 months work paid instead of 12-20 months of your own work and suffering. 或者将其视为3个月的有偿工作,而不是您自己的工作和苦难的12至20个月。 Like taking a train instead of walking. 就像坐火车而不是走路。

Long answer. 长答案。 I think a lot of people here assumed you want to import SCORM courses and have them work flawlessly. 我认为这里的很多人都以为您想导入SCORM课程并让它们完美地工作。 I'm not sure that's what your boss wants you to do. 我不确定那是你老板想要你做的。 Maybe if you simply import the courses (upload and extract zip files), determine the launcher file (described in easily parseable imsmanifest.xml) and launch it in a popup/iframe, the course will.. just work. 也许如果您只是导入课程(上传并提取zip文件),确定启动程序文件(在易于解析的imsmanifest.xml中描述)并在弹出窗口/ iframe中启动它,则该课程就可以了。

Sure, you will not be able to receive scores and completions. 当然,您将无法获得分数和完成情况。 Sure, if the course relies on some data from LMS like student name, you won't be able to supply it.Sure, if the course cannot detect SCORM API, it'll throw an error at you. 当然,如果课程依赖于LMS的某些数据(如学生姓名),则您将无法提供该课程;当然,如果课程无法检测到SCORM API,则会对您造成错误。 But you might be able to code a very basic fake API that does nothing or some basic communication functions with your own platform, and you'll be able to launch all those courses. 但是,您也许可以编写一个非常基本的虚假API,该虚假API在您自己的平台上不执行任何操作或执行一些基本的通讯功能,并且可以启动所有这些课程。 Maybe you don't need 90% of what SCORM offers/requires. 也许您不需要SCORM提供/要求的90%。

Someone mentioned climbing Mt.Everest. 有人提到攀登珠穆朗玛峰。 Well, think of it as photoshopping your happy sun burnt face onto a picture of the summit. 好吧,可以想像成是将快乐的阳光照在脸上的照片照在峰顶的照片上。 Not quite the same result but the effort invested is a million times smaller as well. 结果并不完全相同,但是投入的精力也要少一百万倍。

Nope, no easy solution here, especially for C#. 不,这里没有简单的解决方案,尤其是对于C#。 The commercial solutions cost that much because their developers went through the pain of "a year of hard, not satisfying work". 商业解决方案的成本如此之高,因为他们的开发人员经历了“一年艰苦,不满意的工作”的痛苦。 The open-source solutions are typically PHP-based. 开源解决方案通常基于PHP。 A few use Java. 一些使用Java。

I wrote an LMS using ASP.net. 我使用ASP.net编写了LMS。 It took three of us over a year to write the scorm engine and player. 我们三个人用了一年多的时间来编写scorm引擎和播放器。 It is basic and it was not easy. 这是基本的,并不容易。 Tell your boss he just asked you to climb Everest without cold weather gear :) 告诉你的老板,他只是要求您在没有寒冷天气的情况下攀登珠穆朗玛峰:)

$20K vs 1 or 2 guys salary for 2 years - if they can read fast or have prior experience with SCORM 1.2 and or 2004. Then all the pain and suffering in between. $ 20K对比1个或2个男人工作2年的薪水-如果他们可以快速阅读或具有SCORM 1.2和/或2004的工作经验,那么介于两者之间的所有痛苦和苦难。 Rustici has all this figured out and it also works pretty quick compared to other canned systems. Rustici已经解决了所有这些问题,并且与其他固定系统相比,它的运行速度也非常快。

Beyond the API, and XML Parsing, validation, access, sequencing rules, arbitrary limits, error codes and messages, your also deciding on a API implementation. 除了API和XML解析,验证,访问,排序规则,任意限制,错误代码和消息之外,您还决定API的实现。 There are LMS systems out there that literally talk to the backend on every GetValue/SetValue call, which seriously lags out the user experience. 现有的LMS系统实际上在每次GetValue / SetValue调用时都与后端通信,这严重影响了用户体验。 If I spent that much time building this, only to find out I did it the slowest possible way I think I'd be curled up in the corner somewhere rocking back and forth. 如果我花了很多时间来构建它,却发现我以最慢的方式做到了,我想我会被困在角落里来回摇摆的地方。

I would say though this space is filled with a ton of legacy code stretching back to the early 2000's that's drastically due for a overhaul. 我要说的是,尽管这个空间充满了很多旧代码,这些代码可以追溯到2000年代初期,这是彻底的大修。 Any code you manage to beg borrow or steal is going to be some old school stuff. 您设法乞求借用或窃取的任何代码都会有些老套。 None of it tied into a 'managed code' format or anything you could unit test without building that all from scratch too. 它们都没有绑定到“托管代码”格式,也没有任何您可以进行单元测试而无需从头开始构建所有内容的格式。

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

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