Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Roll your own LCMS


Published on

A how to on integrating SCORM compliant learning content into a Drupal CMS.

Published in: Technology
  • Be the first to comment

Roll your own LCMS

  1. 1. Roll your own LCMS<br />Integrating eLearning into an Open Source CMS<br />
  2. 2. Introduction<br />Mark Tovey<br />Web Developer for 10 years.<br />Work at the Iona Group.<br />Has worked developing both e-learning solutions and customized website solutions.<br />Twitter: @eM_tEeEmail:<br />
  3. 3. Overview<br /><ul><li>LMS – Learner Management System</li></ul>Focused on tracking the progress of a learner.<br />Tracks interactions and competency scores of course material.<br />Optional “social” features – discussion forums and messaging.<br />CMS – Content Management System<br />Focused on managing and presenting content.<br />Allows for easy entering of content within a website.<br />Presenting that content in a variety of ways.<br />Optional social features focused to the content.<br />
  4. 4. Creating a hybrid<br />Why would you want to combine these two platforms?<br />Both are very good at similar, but different, things.<br />Present content to do with a certain topic together with learning materials integrated into a single platform.<br />Control content presented to a user based on their viewing, or mastery, of a set of learning content.<br />Or, present a SCORM compliant course within a CMS and use the returned learner data in the context of the CMS.<br />
  5. 5. Choosing a CMS<br />Why Drupal?<br />Popularity.<br />Large, active development community.<br />History.<br />Extensibility – 8k+ modules to choose from<br />
  6. 6. Sample scenario<br />Provide content about product X.<br />Support upload of learning material related to product X.<br />Control access to certain content based on completion of the learning material.<br />Allow users to see how their progress on the learning material.<br />
  7. 7. Installing Drupal<br />Set up a server, including a database.<br />Download a stable version of the core codebase.<br />Visit the base URL of the server and follow the instructions.<br />Now we’re ready to add our first content and start our basic configuration.<br />And add some structure to the site.<br />
  8. 8. Extending Drupal<br />Functional additions to a Drupal website are done with modules.<br />Separate code files that can:<br />Access the underlying database.<br />Respond to events in the site.<br />Provide their own custom screens and forms.<br />Provided by others in the developer community.<br />Custom developed to project requirements.<br />
  9. 9. Extending the site<br />Install CCK module<br />Allows for definition of richer content items with additional fields of varying types.<br />We can define a new content type to provide details on individual releases of product X.<br />Install Views module.<br />Provides an intuitive way to build different views of site content.<br />We can build a listing of all our releases and show them on a separate page in the site.<br />
  10. 10. Adding Learning content<br />Install SCORM module.<br />Provides the ability to upload a course as SCORM manifest.<br />Extracts manifest contents and stores them in the site.<br />When viewing the associated page, will launch the course within the SCORM RTE.<br />Will receive the SCORM API calls from the course and store the information related to the logged in user.<br />Can leverage existing eLearning tools (and skills) to produce SCORM compliant courseware.<br />Module provides additional hooks that other modules can then leverage to react to learner interaction with the courseware.<br />
  11. 11. Integrating courseware.<br />Build an Adobe Captivate course.<br />Publish and upload created course to site.<br />Site users can now launch the course and have their interactions with it recorded.<br />Custom code can be written to integrate with course information.<br />Have access to the releases page be dependent on completing the course.<br />
  12. 12. Issues<br />While a solid implementation, the module has drawbacks:<br />SCO sequencing not supported.<br />Full 2004 datamodel not implemented (adl namespace missing)<br />1.2 not supported.<br />Better reporting interface.<br />Can be addressed by further development of the code base.<br />
  13. 13. Review<br />Drupal is a very good CMS, but lacking in LMS functionality.<br />We can leverage it’s extensibility to add LMS functionality as per our requirements.<br />Other CMS’s can be leveraged in a similar manner.<br />WordPress and the BuddyPress suite of extensions.<br />Joomla and the JoomlaLMS variant.<br />Flexible approach as it stands, with possibility for future expansion to provide a more fully featured LMS.<br />