Picture of Ioannis Dourvas
General overview of an elearning system
by Ioannis Dourvas - Tuesday, 3 May 2016, 1:14 PM

Hallo there.

I am a web developer but i am new in elearening. I am considering to start an elearning project. I have been studying about elearning for 2-3 days now and i am really comfused. So many terms that i ve never had herd before....Could you please provide me some info about general schema for a eleraning system? 

Let me write it down and please comment or correct me if i am wrong.

-first of all i need an authoring tool to build the courses. The Adapt looks great.

- second, i need a platform to host the courses. I was thinking to build my own. Do you think it is a good idea? I found out that those systems have a name. LMSs. There are some relevant themes i could use in theforest i could use for the front-end. About the back end i could manage to built it.

- i found out that i need a way to accomplish communication between the courses and the platform. There are standards called SCORM or Xapi. I never understood the necessity of those. I understand that they track the learners activity.  I could do that myself by coding using jquery, ajax and other technology. Do i really need them? In the general schema i understand that i must add an LRS in case i choose the tin can api.


Is that all?


Picture of Matt Leathes
Re: General overview of an elearning system
by Matt Leathes - Tuesday, 3 May 2016, 7:21 PM

Hi Ioannis

I wrote an answer to a slightly similar question to your LMS question here that's worth a read.

It's also worth considering that most e-learning authoring tools will support SCORM 1.2, many will support SCORM 2004 and AICC and some will support xAPI (still relatively new - as far as the world of e-learning is concerned anyway!) - so by using an LMS (or LRS) that is compatible with one or more of these industry standards you're giving yourself far more scope as to what you can use to create e-learning with.

Furthermore, any content you create that's conformant to one of these standards will be useable on any LMS/LRS that supports these standards. They're also fairly interchangeable - so whilst Adapt supports SCORM 1.2 out-of-the-box it is possible to switch it to SCORM 2004 - and I've also recoded it on a couple of projects to support AICC too, with minimal changes to the code (one new JS file, a handful of amends to another).

Picture of Steve Flowers
Re: General overview of an elearning system
by Steve Flowers - Tuesday, 3 May 2016, 8:47 PM

Good post on the function of LMS, Matt. Only thing I'd add is that the xAPI statement is one unit of measure for status update from a course. A course could carry a single statement and a ton of other information within that statement using the state document. I'm finding the state doc to be really useful in keeping traffic down. The downside is the state document isn't queryable. So it really depends an awful lot on what you need to do with the data. 

To the OP -

If you're getting into elearning, I'd caution against "rolling your own" solution to connect the front end with the back end. Anyone that's been around since the beginning of the industry remembers the pain caused by constant reinvention of the wheel by folks that wanted to do it themselves. This is the primary reason AICC and SCORM popped into the scene. Content wasn't portable and creating the interface between content front end and tracking back end takes a lot of work. This work does NOT scale well if you're adding a lot of content to a system and inevitably tuning it as you go. 

Specifications and standards ensure that a minimum number of features are available right out of the box. Implementing SCORM and even xAPI in your own HTML package is relatively trivial compared to the amount of design and development effort you'd need to produce to match the features available in the spec. 

SCORM does more than just track completion. It forms glue between the front and backend to handle tracking, state restore, capture of comments, capture of interactions (how questions are answered) and more. xAPI handles a more broad array of statement types that extend beyond the SCORM profile. 

SCORM is sandboxed. Meaning that an event <> person connection launched within the LMS cannot communicate (by spec) with another event <> person connection. One person launches a course. That course isn't aware of any other course. 

xAPI is relatively open. A statement can be queried from another experience and brought into a course, app, game, whatever. But it's up to you and you run the risk of building a bulk of data that is harder to manage and open to interpretation. 

LMS products can be expensive but they don't need to be. Take a look at http://moodle.org and http://www.learndash.com. Both of these offer different sets of features depending on what you want to do. Moodle supports SCORM 1.2. Learndash doesn't support SCORM but does support a connector to an LRS. http://www.nextsoftwaresolutions.com/grassblade-lrs-experience-api/ is relatively inexpensive and a bit easier to configure on most hosts than something like https://learninglocker.net/. If I were you, I'd get some experience implementing both SCORM and xAPI if you're looking to get into the industry. They are specifications that are common. You'll likely find that you'll like the cleanliness of the connections made between front / back end and the power you have to trigger built in events within your wrapper of choice. The https://github.com/adlnet/xAPIWrapper is pretty straightforward. For SCORM, I've had good luck with https://pipwerks.com/downloads/ wrapper. Using the stuff built into the tool is great. But there's plenty to learn from building a simple module from scratch and connecting with something like http://cloud.scorm.com or http://www.saltbox.com/, which are both free for development scale testing. 

Like anything else, looking in from the outside and saying "I could just use PPT for that, looks easy -- why do I need a tool. (silently announcing to the community you're asking for advice that you think they're fools for using custom tools and specifications)" are words you'll likely regret once you get into this work at any kind of scale.

Good luck. Embrace specifications and tools and you'll eventually have a good time with it. 

Picture of Ajay Kumar
Re: General overview of an elearning system
by Ajay Kumar - Wednesday, 4 May 2016, 7:41 AM

Hi Ioannis Dourvas,

It is not necessary to have the authoring to tool to create a course, you can do this of your own in HTML and Javascript or in any other way you like. If we talk about tool there are many tool that helps in creating courses for SCORM like Articulate Storyline, Lectora, Flash, RapideL, Captivate, Adapt and so on.

Your overall understanding about the LMS and tracking is correct.

Now finally in your query you have already mentioned that "Standard" call SCORM. 
AS you mention that you can make your own code to track the course and the user progress so what is the need of SCORM standard. So, lets understand that its a set of rule that help any course that complaint with this standard will be easily deployable on the LMS, Now LMS is also nothing but a server that allow us to upload course and have database of user and course to track and report its progress.

- A server can be a LMS only when it follow some rules to communicate with the content (course), and that set of rule is SCORM

- Every LMS exposes an API that has predefined set of function that helps the content(course) to talk to the server database to get and set the relevant information.

- Similarly course can only be a SCORM compliance when it also follow the same rule to communicate to the LMS

These 2 points helps any vendor or any LMS to communicate to each other, without bothering the backend machanism of the server. 

If we develop our own mechanism then that will be specific to our own content (course) and helps it to communicate with the server's database. 

I hope that I able to answer your queries here.

best regards,
Ajay K.