Build vs Buy:
There are often several threads/posts online seeking a free SCORM Runtime API, and anyone who has done a bit of research has
probably come up empty. This is because of a number of reasons.
- This can take a handful of developers up to 2 years to accurately create
- Finding developers familiar with end-to-end SCORM
- Thousands of pages of white paper specifications to read
- The availability of server-side code (PHP, ASP/ASP.NET, Ruby, JSP etc...) to match your requirements
There are other options like subscriptions to online portals commonly off-site, and managed elsewhere.
Your team may decide building your own is the way to go, but if you are in a deadline pinch, you simply won't
have the time to fashion a SCORM Runtime API, and the necessary backend components (let alone the student frontend experience).
API states, error codes, diagnostic messages and all the console logging if the debug feature is turned on.
You can integrate this with your Portal, and likewise your backend or server-side architecture. This project is decoupled from the
common issues that occur on other platforms.
The SCORM 2004 Specification is comprised of 3 key areas:
- Sequence and Navigation
Most of SCORM 1.2 was labeled 'optional'. So the implementation learning curve for base support was minimal. This is also a substantial
why this version of SCORM was the most popular. It also didn't include any Sequence and Navigation.
Is it all just Marketing?
This is a common question that pops up. SCORM enables entities to share their content with other platforms that support SCORM. They
may have invested thousands if not millions in courses. Being able to actively integrate SCORM in your proprietary system will enable
you to support these lessons and enable you to choose how they bubble up there status, scoring and interactions.
SCOBot SCORM 2004 & 1.2 Runtime Environments
This was built in conjunction with the SCOBot SCORM Content API which assists developers adding SCORM support
to their custom Shareable Content Objects.
- API Support for SCORM 2004 & SCORM 1.2
- Event triggers your LMS portal can 'listen' to
- Manages cached CMI (student attempt)
- Force terminate interval for SCOs that exit, but don't terminate
- JSON Attempt Object - simple integration
- Integrate with your backend language of choice
- Performance: Low-latency cached student attempt
- Commit-guard - will not allow a commit unless data has changed.
- Shared State Persistence namespace (in progress)
- ADL Sequence & Navigation
attempt. Code on your server will still need to be required to fully support SCORM 2004 unpacking of content, validation and
mode, credit, student name, id, and other parameters required by the specification. Events as mentioned above are fired which
you can listen to, along with API support for direct interaction. Since server-side logic commonly occurs within languages
like PHP, ASP.NET, Ruby, etc, and other Databases like mySQL, SQL Server, Postgres, etc, it leaves these areas for your team to integrate.
If you are a commercial entity, and or have a paid service/access, and would like the source code, please note the "Buy" option has been added. However,
if you'd like more information, a demo or sample that can be made available.
Advanced Distributed Learning actually has a certification
for Learning Management Platforms.
That effort requires a 3rd party to review/analyze your software for roughly $4,000.
What you get
SCOBot RTE comes with a sample (responsive) Lesson Viewer which allows you to see everything in action.
Documenation, and a timeline is provided to help assist with common things your platform is responsible for before, during
and after a student completes their content. It supplies example IFRAME or framed content, as well as a new window or tab, as
well as a popup and lightbox or lightview option. This sample will aid in the development of your own Lesson Viewer.
Also included is sample JSON based data-models for conveying assignments, and student attempt data. This is for ease of use
integrating these data points with a web API on your server, using your favorite programming language.