Drupal as an LMS Intiative

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
nhepner1's picture

At Drupalcon, a discussion came about regarding the use of Drupal as a Learning Management System. It is clear that while there is a large interest, there are also a lot of features that are still missing. This is causing a scenario in which institutes are maintaining multiple platforms for specific features that are present mostly in legacy platforms. This is causing for expensive integrations with multiple systems, hosting and support for multiple systems, and general lack of sleep – especially during a time that Universities are adopting Drupal as their Content Management platform.

The question that was asked was “What are the features that are not available for Drupal, that are stopping you from adopting Drupal?”

Features

  • “Gradebook” type functionality
  • Moodle style course management (maybe a course API?)
  • Ratings API (for reviewing courses or professors w/ ability to use different rating systems. There is a “rate” module out there currently that needs some attention.)
  • Enrollment API
    • PowerCampus
    • Aggresso
  • Tracking API
    • SCORM compliance (1.2)
    • Basic LTI
    • TinCan?
  • Scheduling (maybe under course management?)
  • Reporting and analytics
  • Migration Kits

Considerations

  • Modular approach with a basic, unsupported, install profile or two. Other initiatives can use the blocks to build the install profiles they want and publish as necessary.
  • Migration is the key to adoption. Easy migration paths and setup from existing systems.
  • Project should be hosted in Drupal Sandbox.
  • Building with Drupal 7 will allow for scalable enterprise infrastructures.

Audiences

  • K-12 Education
  • Higher Education
  • Online learning
  • Mass online courses (100k+ streaming)

Documentation Initiative

  • Establishing a documentation site that houses specific implementation cases for IT departments.
  • Platform specific migration instructions (i.e. moving from moodle to Drupal)
  • How to utilize Services to maintain synchronization with other systems (push/pull architectures)
  • Media hosting/streaming strategies.

This is all very much under active discussion and feedback will be required to move this thing forward. Specifically, what should the APIs do? How many of these features are already, or partially, implemented? What else is stopping your institution from adopting Drupal as an LMS?

Comments

Some related links that

btopro's picture

Some related links that people can chew on:

Google Summer of Code Application for SCORM / LTI projects -- http://groups.drupal.org/node/219889

CCK Scorm field player -- http://drupal.org/project/cck_scorm Haven't tested, planning on doing so today some
SCORM -- project page points to https://github.com/hippich/drupal-scorm which appears to have some development invested, still need to try as well.

User Progress API -- http://drupal.org/project/user_progress generalized framework for capturing data-points. Has the ability to capture 16 unique points of data per record and has 3 built in providers that work with tracking video analytics, per page tracking and provider for use with some smart builder applications we've built. Also is views aware so can visualize the points very quickly.

Learning Registry -- http://drupal.org/sandbox/jasonh/1342822 huge for OER, working but could use some love to get it along out of sandbox to full project

Mozilla Badges -- http://drupal.org/sandbox/kwcoffman/1491670 another big thing for OER and the future of distributed education. Also could use some review to get it to full project status

CCK_Scorm

fuzzy76's picture

To sum up our experience with SCORM for Drupal, the only module that is actually usable is CCK_SCORM. Unfortunately, it does not store results from most SCORM packages (there is an issue for it, but the maintainer does not have time to fix for now).

This just became increasingly

btopro's picture

This just became increasingly more important for the future of open source -- http://www.baltimoresun.com/business/bs-bz-blackboard-acquires-moodleroo...

Wow. That's depressing to hear

jpamental's picture

You're right Brian - its really alarming. Thats a company with a heck of a track record in buying up and ruining companies. Time to start learning about this ELMS thing you keep carrying on about. Hope I can help.

Jason

Jason Pamental
[ @jpamental ]

Blackboard Inc. bought Moodlerooms and NetSpot

vtitarchuk's picture

Blackboard Inc. announced a major investment in open source today with news that it has acquired Moodlerooms and NetSpot, two leading providers of open source online learning solutions to the education industry.

This is how commercial providers like Blackboard Inc. fight open source competitors.

They buy out competition and call it an investment..., but not into open source.

How is next? I think it would be rSmart (www.rsmart.com). The hope remains that Drupal community with support of academic sector will offer an alternative to pricey commercial Blackboard Inc. solutions.

In view of higher education bubble to be popped in near future, I anticipate a huge increase in the attention to Drupal based LMS.

Are you guys ready to a huge growth of demand for Drupal based LMS? Are there any foundations that might be interested in securing this initiative that will provide a low cost (compare to Blackboard Inc. costs) open source solution to education sector?

Please keep up the great work... More help is going to be available from the Drupal community in short future.

ServanTek
Serving with technology
http://servantek.org.ua

Alternate SCORM sources

nhepner1's picture

A good point was made here:
http://groups.drupal.org/node/219889#comment-722109

If we decide to rip SCORM from another framework, Moodle is not necessarily our best option and we should consider the implementation in Ilias.

btopro is undertaking a SCORM initiative over the summer.

BasicLTI

thecarlhall's picture

In the same vein as SCORM, BasicLTI in Drupal has been implemented (producer & consumer) by a member of the Sakai community. Sakai, Bb and Moodle are BasicLTI implementors, so having this module for Drupal allows for some migration of tools to Drupal.

http://drupal.org/sandbox/samo/1156848

Tools

thecarlhall's picture

At DrupalCon I mentioned five tools I commonly hear when discussing an LMS:

  • Gradebook
  • Assignments
  • Announcements
  • Syllabus
  • Roster

It appears that there's a Gradebook module. I think announcements is possible using standard Drupal things. I don't see much available for the others.

Mostly present I think

jpamental's picture

I looked at Gradebook and it seems like it supports rosters, attendance and turning in assignments. Announcements can be done with either Organic Groups notifications (OG works really well for creating classroom groups too) and re: syllabus - does that need to be any more than a content type?

While it sounds like the Gradebook module needs help (and I haven't tried it myself) it seems to have a ton of the basic building blocks already there.

Jason Pamental
[ @jpamental ]

Syllabus

thecarlhall's picture

It's great to hear that so many of those 5 are mostly covered.

The common uses I see with syllabi are:

  • very basic - Usually just a big block of text.
  • fairly structured - While this is mostly possible with a big block of text, people who like the structured approach tend to want a UI that supports that. The structure tends to break apart by weeks or lesson plan breakdown but is generally sequential from start to end of the course.

For a first release of a Drupal LMS, I think a content type will certainly suffice. The creative users will see that you can go crazy with this without needing a more structured UI.

things to steal from elms

btopro's picture

We just treat Syllabi as part of the content outline in elms (http://drupal.org/project/elms) and while I won't suggest using elms as an lms; I do think that there's a lot of work in the system that can be leveraged:

User management is all Feeds for import with Xpath Parser; People could basically click and build Import routines and package them for release as features as to how to mirror the specifications. A Roster API will be needed in some form though.

As for course management; elms treats everything as a parent (course) and site (offering / version of a course). Workflow states are then able to be triggered as to what is active, archived, or inactive (or master).

Spaces / OG modules allow for easy switch from OER to closed and things like http://drupal.org/project/spaces_og_clone can allow for groups (offerings) to be cloned and completely rewritten very quickly so that you could quickly port a closed course to open (and visa versa). Spaces uses strongarm so you can have different settings per group (like front-page, or features that are active).

Theme / design abstraction -- Typical complain i've heard about moodle / other LMS systems is they are ugly / boxy. I've tried to allow for "any" drupal theme to be used and it pulls this off for the most part without repercussions already (easy enough to account for and correct base ELMS UI where this isn't the case entirely)

Discussion so far

nhepner1's picture

After some further discussion, I think we're starting to peg this down. Organizing the discussion so far into task groups with objectives, requirements, and considerations.

Course Management

  • Organic Groups based (courses). OG will handle "enrollment", roster lists (if necessary) and access
  • Discussions
  • Assignments
  • Syllabus
    • Can just be a node
    • Maybe sortable date and task field groups. ("Friday, Sept 17 | Complete Homework assignment 'X' and learn about stuff")
  • Announcements
  • Course reading/media
  • Assessments

Content Delivery

Tracking/User Progress

Enrollment API

  • Handle assignment of students to courses
  • Student data/enrollment plugins
    • SIS integrations
    • Student CSV upload/import
    • XML/Feeds import
  • Rules/Commerce integration (student pays for course, is assigned to course)

Gradebook

SIF compliance?

crimsondryad's picture

We are in the k-12 space and I'm against scorm compliance for several reasons:
1. Breaks 508 / aria standards
2. Easily hackable
3. Potential leakage of child data ( the fcc just smacked rockyou hard for a security breach ).

I understand some folks will need this but frankly it is a crappy standard, so retaining the
ability to turn it off would be good. We are looking at SIF compliant exports of our data to other gradebook systems.
Some additional items to include: encrypt module would be nice for security of PII data.
integration w Google docs as an assignment writing platform ( alternative to pupload ). Export of gradebook data in common formats. MStandardized API for plugging score data in from flash, html5. Assessment module for online test taking that includes timers (ajax?). Roles / mechanism for parents to check on child's progress. Ability for students on the platform to review online papers of others in their group...and / or online chat to allow un-classroom collaboration. Student customizable avatars / personalization. Ability to "age" students - this one is a bit of a hairball. Or standardized way to merge / purge students ( and instructors? ) at the end of the year. Tech support role so they can assist teachers / students without sneakernetting to their desk. Teacher surveys - how well did the teacher instruct in this couse. Tablet / ipad friendly - I was in the drupal ladder sprint trying to write docs on an android tablet and the textareas just would not cooperate. D8 mobile initiative may assist w a backport.

SIF == blech

bonobo's picture

I would be hesitant to put much effort into SIF compliance. It's a pretty awful spec, and given the amount of time it's been around and the relatively low traction it has, it feels more like a dead end than a useful option (and, arguably, the same can be said for SCORM).

The SIF spec was developed in the days when the LMS was a monolithic entity; I would not want to see a Drupal-based LMS move these dated assumptions about learning forward.

The approach here is that we

nhepner1's picture

The approach here is that we set up a standardized framework that depicts how we want content to behave in drupal and allow other people to write the plugins. We'll go after SCORM because that's the big fish that we'll need to assist adoption and ideally set up so that someone else can write the SIF plugin/module if they need it.

Maybe not with SIF 3.0

crimsondryad's picture

SIF 3.0 is underway and it looks like the spec will support commercial type web services for transfer of data ( ie, XML-based web protocols ). I haven't looked into the details yet, so I can't say for sure it's not another awful spec, but just the mention of web services makes my heart lighter. :P

http://www.eschoolnews.com/2012/02/16/sif-association-announces-technica...

plugins

nhepner1's picture

As far as SCORM goes, this will be set up as a plugin-style framework. SCORM, SIF, or LTI (or whatever content someone wants to write a plugin for) based content will be brought into a general framework and handled as needed.

I think the Google Doc thing would be a great candidate for a plugin module re: assignment delivery.

Assessment I have labelled as "Quiz", though I prefer your nomenclature. That's a solid place to start.

Peer review and group work efforts will be tricky, but need to be considered when designing, at least in the realm of scalability.

Student "expiration" or "migration" is also an interesting consideration. I think this belongs in the Enrollment API.

Mobile/Responsive design, User customization, Encryption and security while important are outside the scope of this project and the responsibilities of site builders to maintain.

http://drupal.org/project/aes

btopro's picture

http://drupal.org/project/aes and http://drupal.org/project/encrypt might be worth looking at but I agree, it's not the responsibility of the lms to do this, the community at large can be leveraged in this way when we are contributing to / recommending other projects non-edu specific.

Assessment is a much better term; again, pointing to options as well as wrapping those options up in Apps / Features are a good way of spreading the love that is general CMS framework for educational context.

This weekend

nhepner1's picture

I will be setting up project space and hopefully a documentation site for this over the weekend.

I will also be hanging out in the #drupal-edu IRC channel if anyone wants to give a hand.

Drupal Commons

veeaa's picture

Am I the only one trying to use Acquia Drupal Commons for education? A school has the same communication needs as any other organization. The latest version 2.5 is great, DC has "Facebook like" Activity Stream. I will try Gradebook with DC.

I know that Babson College in

btopro's picture

I know that Babson College in the boston area is trying to do something similar for course engagement and interaction. Not sure how they are handling grade-book component (or if they are).

Course API

scottrigby's picture

Hi everyone :)

@nhepner1 re our discussion about actual course LMS functionality, I should probably mention Course module here too: http://drupal.org/project/course

@btopro also addresses some of the discussion so far in a comment on the related thread you started:
http://groups.drupal.org/node/219889#comment-727084

http://drupal.org/project/hid

btopro's picture

http://drupal.org/project/hidden_nodes is initial work towards the stage-gat approach to content release in a course. Current alpha was shown to be working in some early testing in elms, but obviously could use more testing. One goal is to integrate it with the outline designer so that our instructors can click a button and quickly hide (lock/unlock) material. The reason this is different from publish/unpublish:

drupal core makes the faulty assumption that unpublished things should be removed inconsistently throughout the system. For example: an admin can get to an unpublished page yet can't see it rendered in a book outline (regardless of role). Because it's gone from book outlines / menus (and that's all I use) it becomes worthless yet I n2eed the functionality.

This could then use some rules / scheduler / workflow integration so that you could date trigger the hidden binary value on nodes. A permission can be given to roles (view hidden content) that instructors / TAs / IDs could get so that they could still be working on the hidden material while students don't know it's there until someone unhides it.

What came of this...

ggevalt's picture

Howdy,

Am interested to know what came of this effort. Looks like it just stopped. Is work still being done with this? Particularly with LTI?

geoff