Drupal as LMS Initiative GSOC2012

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

Drupalcon was a great leep forward for education. Drupal is taking off in k-12, university and private sector training usage for the delivery of educational materials. A mixed group of people passionate about education and training got together for a learning management system (LMS) BoF at Drupalcon. You can read some of the conclusions of that group here http://groups.drupal.org/node/219814

The progress of the ELMS distribution over the last year has also given people hope that more edtech solutions can flood the market place. While ELMS is not a traditional lms, much of the group agreed that a lot of the framework at the least can be repurposed for other LMS systems development. To learn more about how people are thinking differently about what an LMS is read -- http://funnymonkey.com/why-is-your-lms-all-up-in-my-learning

I only reference these things to show increased participation and growth in the education sector as it relates to Drupal. Our community has identified several issues blocking Drupal from being viewed as an LMS in the same way Moodle is. While there is still a lot of work to do, I think what would go a long way towards the benefit of ANY Drupal based system are the implementation of open standards.

Two specific projects that I think could benefit the greater Drupal and education communities are SCORM compliance and implementation of LTI (Learning tools interoperability). SCORM would allow for rendering of educational learning objects in Drupal while LTI would allow for a distributed network of learner profile information to be passed between systems (kind of like single sign on for education systems).

Much work has been done in the Moodle community towards both of these standards and since it is PHP based (and GPL) I think porting these two projects (or even just one) to Drupal would be an obtainable summer project for a passionate edtech developer. So that's my proposal, make Drupal an even more viable edtech development platform to transform the educational technology sector. Students wanting to make better systems for the next generation of learners please apply!

Comments

drupal/moodle/elis

timmay's picture

This is what we are attempting to do for the project that I work on -- Drupal front-end, Moodle/ELIS back-end. If you're not familiar with ELIS it is an enterprise-oriented add-on for Moodle that adds Curricula/Certificate Programs and organization/cluster (and consequential reporting) to the Moodle course engine. We are not functioning as an academic institution for this project and so are more interested in an enterprise, workforce training approach.
I originally had high hopes for the integration of Moodle and Drupal, which have lessened somewhat since reality has set in. Because we have an early summer deadline, things like SSO and using Drupal profile for centralized login are no longer feasible right now. However, we're still learning a lot about all 3 of these systems as we go.
Right now, we are importing a Moodle course feed into Drupal nodes to create a Course Catalog. Essentially, we want to provide a better course catalog in Drupal that links out to Moodle. We are using domains as sub-portals for different groups that we service so that, at the end of the day, the Drupal interface will be purely content management in order to direct people into courses and their transcript.
This will likely change with time as we find ways of off-loading Moodle functionality to Drupal. I'm pretty sure that at some point, we will use Drupal profile, and develop the student transcript in Drupal, at the very least.
We started out with Drupal 6.x, Moodle/ELIS 1.9x because it seemed that was the sweetest spot for existing development, however, in the meantime it became abundantly apparent that the little bit of development that existed did not outweigh the advantages of using Drupal 7, Moodle/ELIS 2.x. That is where we are now.
I will try and post updates on our progress in case it helps anyone. Our biggest barrier in starting this initiative was understanding the different systems well enough to be able to visualize how they would best fit together.

SCORM

fuzzy76's picture

When it comes to SCORM, the CCK_SCORM module has done great advances on integrating the Moodle SCORM player. We use it for running SCORM content. The only thing missing is a good way of tracking test results. We are however, looking into this.

SCORM other than Moodle...

jjkd's picture

As mentioned over here http://groups.drupal.org/node/8015, there are other open source implementations that exist as resources other than Moodle. Ilias has the advantage of including both SCORM 1.2 and 2004, and is certified by ADL. Moodle is not certified and is not a particularly robust SCORM implementation based on what I've seen in their forums.

Ilias is also in PHP, and is GPL. If the intent is to abstract SCORM functionality and not use any significant fraction of the remaining parts of the 'donor' implementation, I see no advantage of basing this on the Moodle implementation, and see some advantage in basing on Ilias or perhaps another option.

Good info

nhepner1's picture

Good info - will crosspost to http://groups.drupal.org/node/219814 as it is pertinent to that discussion as well.

BasicLTI impl available

thecarlhall's picture

BasicLTI in Drupal has been implemented (producer & consumer) by a member of the Sakai community. I don't know the status but do know the author. I think it is complete or very close. If there are missing features, it could be a GSoC project.

Could you follow up with the author?

bonobo's picture

Given that the only commits on this sandbox project were May, 2011, could you follow up with the author and see where they are at with this?

It would be great to have them chime in on this thread, especially if they have plans for moving this code forward.

I reached out awhile back and

btopro's picture

I reached out awhile back and never heard back. I have done some additional work on it (still pretty hacky implementation) but had it at least responding in some tests for the consumer https://github.com/btopro/basiclti still needs love and drupalized quite a bit more. All code should be based off of this example most likely -- http://code.google.com/p/ims-dev/source/browse/trunk/basiclti/php-simple...

Sorry you didn't hear back!

nicolamj's picture

Sorry you didn't hear back! We're definitely still interested in keeping this alive and we do use it internally. It works enough for our needs, so we haven't had time to improve it, but let's consolidate our code!

LTI API

scottrigby's picture

I talked with btopro about his github updates to samo's sandbox. Everyone agrees that the current code needs love.

As part of our current sprint we just moved started a LTI API project on d.o:
http://drupal.org/project/lti

It would be great to combine efforts there!

LTI Developer Workshop

ezraw's picture

Is anyone going to this? http://www.imsglobal.org/learningimpact2012/

Pricey, but looks like there is a developer workshop on LTI implementation on Thursday afternoon: http://www.imsglobal.org/learningimpact2012/agenda.html#Thursday.

This is timely

bonobo's picture

Given that Blackboard just bought two Moodle Partners, this is timely: https://chronicle.com/blogs/wiredcampus/blackboard-buys-2-leading-suppor...

.

SeaFlower's picture

.

Node.js / Javascript

kaw3939's picture

Hi,

I'm somewhat interested in Drupal as an LMS; however, I'm of the mindset that something like Node.JS and mongodb might be a good platform for a new LMS. I think that Drupal may have a place in this too, but i'm not 100% sure of it's role.

I can program node.js/mongo/drupal/OO PHP

I'm an instructional designer and LMS expert with 12 years of experience. I'm also a professor with eight years of face-to-face and online teaching experience.

If anyone is interested in talking about a next gen open source platform / project let me know.

Drupal offers a few things

nhepner1's picture

Drupal offers a few things that make it a solid platform - excellent community, scalability (enterprise systems), flexibility, integrates well, and very difficult for Blackboard to buy out.

Drupal does integrate with node.js and mongodb
http://drupal.org/project/nodejs
http://drupal.org/project/mongodb

While that idea entices me, typically universities are not interested in the "cutting edge" (forgive the buzzwords O_o), and in relation to the scope of this project would be the responsibility (and within the capability) of the site builder to set up and maintain.

As far as a next gen framework, I love the idea of getting in on that, but am currently drowning in work.

hit me up on my contact form

btopro's picture

hit me up on my contact form some time and maybe we can align some visions / see if there's any overlap. Also trying to build the "next best thing" and I think I at least have the architecture. Major reason to go off of Drupal in my mind is the community support you get with it. Whitehouse.gov and other sites passively making the code base of your lms better is a really compelling argument for usage.

I disagree

kaw3939's picture

Universities are interested in saving money, getting faculty to teach online, and not being tied to a vendor.

If a system satisfied their needs in this way they would adopt it.

Moodle is about as stale as 2 year old bread in my opinion. I'm an LMS expert and deal with it every day.

The other thing that a lot of colleges don't want is having to host the system themselves.

The gist of my idea would be something along the idea of creating an open source hosted platform that was offered as a service.

Think of it like this...

Putting mongodb, node.js, drupal, etc.. all together could make one hell of an LMS.

But no college wants to host that beast...

Also a lot of programming would be needed so it would be tough for a one man band to get this done.

So...

What if there was a cloud based hosting platform that offered this LMS technology Frankenstein to anyone that wanted to use it. But the catch being that it blew the doors off of any proprietary system on the market because they were based on 10 year old legacy code and designed to be hosted by a one man band.

Anyway, I think there are some really sick things that can be done.

I was just writing a program for fun using node.js where I was tying in one screen and having it show up on another browser and then having it written to a log on the server all in real time. I was also have to remotely execute java-script code from the server. This is cool and has interesting communications capabilities for the LMS.

I've also done a good bit of learning and working with drag and drop functionality, most HTML5 functionality, offline apps, and native edit in place HTML5.

Anyway, all of my experiments in UI and communications has led me to believe that something the would blow peoples minds and satisfy the needs of teachers could be built without too too much coding.

I just can't do it all myself.

Suggest You Talk to Pantheon

kbell's picture

I strongly suggest you talk to Pantheon about the possibilities here. In addition to being a big vendor for Berkeley, they have the mist righteous Drupal hosting platform available, both fast and scalable, and a joy to code on. Just a thought.

I'm happy to provide first-hand experiences if anyone has questions. For questions needing replies from the horses' mouth, so to speak, contact Zack Rosen (zack[AT]getpantheon[DOT]com) or Josh Koenig (josh[AT]getpantheon[DOT]com) for more detailed info.

I have been using Pantheon professionally for about 18 months, and it rocks in every way imaginable.

--Kelly Bell
Gotham City Drupal
twitter: @kbell | @gothamdrupal
http://drupal.org/user/293443

Besides the anti-moodle wrath

sunnydeveloper's picture

Besides the anti-moodle wrath (of which I am a willing participant :). Would it be of value to Compile a
List of other (relevant) LMS and say... Plot against a list of functionality we've identified for a Drupal LMS?
we could identify both short comings (things to improve) , strengths (worth noting) and omissions in other systems - for a more informed development approach ?

http://www.instructure.com/ was one someone sent me today - which is what got me thinking about research .

We didn't word it quite the

nhepner1's picture

We didn't word it quite the same way, but here http://groups.drupal.org/node/219814

definitely worth targeting

btopro's picture

definitely worth targeting the success and failings of others. As it was brought up in the BoF, we're all about options. I think drupal can provide a pretty compelling option especially from an information architecture perspective and so feel it's the best framework to build towards this vision. Canvas is pretty nice but I'm not really seeing the power of an "open source LMS" where they made it in a vacuums and then said "here form a community". This would be like BB open sourcing their code; they've done so much with it that you aren't going to take and run it yourself, your going to feel all warm inside because you have the code.

For the record, I have no problem with Canvas, I just think an established community that then makes an active decision to move in one direction is far more powerful.

poo

kaw3939's picture

Canvas took a good idea and probably did basically everything wrong. Your point is one of the issues. The other is that they didn't really leverage web services well and that is a main thing they talk about. The UI isn't very good and its slow.

Agreed. Drupal is without a

sunnydeveloper's picture

Agreed. Drupal is without a doubt more powerful as a community and beyond . Not suggesting otherwise . Only that by evaluating this and other LMS we can better recognize our dev path . Twas only a thought.

Flexibility is a powerful advantage

mobcdi's picture

Flexibility is a powerful advantage drupal has along with its community but i think its fair to content that that flexibility can be overwhelming for new users. It would be great if "drupal as LMS" was structured to allow non-dev's to get up and running easily http://groups.drupal.org/node/219814 lists the considerations as using install profiles and supporting a modular approach, I would agree with those and also suggest apps http://groups.drupal.org/open-app-standard/oas as a way to allow the end user tailor the feature set of their site to their particular needs/abilities and grow from there as their requirements or ambition evolve.

Get up and running quickly

btopro's picture

Get up and running quickly and "without knowing drupal" is what ELMS seeks to achieve. It is highly content centric and needs love (is not an LMS) but is the furthest along of any open initiative I've seen (obviously biased somewhat tho ;)).

drupal.org/project/elms

another thought on Drupal as an LMS

cel4145's picture

I just want to throw this idea out in case it is of interest to anyone. I've been teaching classes with Drupal for almost a full 9 years now--possibly longer than anyone else (lol).

I've noticed the direction that Drupal LMS thinking has headed has been toward using groups, views, and other advanced configuration models to create sites that can host multiple classes. What continues to attract me to Drupal as a classroom platform is the simplicity with which it can be constructed when a single Drupal site is used for a single class.

I've always wondered why not adopt Blackboard's implementation model? Create a course gateway version of Drupal, much like Blackboard's main entry point. And then populate each class (or in the case where teachers are teaching multiple sections of the same class, a cohort site with multiple sections) into a single Drupal site. Along with the gateway, it would require some scripts for automatic site creation. But perhaps teachers could be offered the option to pre-select what features they would like (blog, wiki, forum), much like Drupal Gardens does in its site creation. I realize that this sort of implementation may be more server resource intensive, but if Drupal as an LMS can seem super user friendly, I don't imagine it would be a problem getting institutions to pay a little extra for the backend hosting.

This is just a thought. I don't have the means or the expertise to build such a thing myself. And I'm not necessarily looking for an answer, because I don't need this model for my 2 or 3 classes a semester. But I do wonder whether or not the single Drupal classroom site might not be more user friendly than these complexly created multiple classroom spaces. At least it seems that way to me.

We have a setup like what you

btopro's picture

We have a setup like what you are talking about already (multisite, script to auto build new courses off of the template of a previous one and site per course with everything hooking back to 1 instance for user stuff. It was great...for awhile but has proven completely unsustainable. I think the great thing about drupal is its ability to reuse components. As such, almost everything I've been developing for ELMS (which is the OG architecture you mention) is reusable in the original, non-OG, multisite / site per course stack we run. Things like drupal.org/project/user_progress were developed specifically for the new setup but then abstracted slightly to "take og into account". I'd encourage all module devs in the LMS space to take this approach and not make architectural assumptions (where possible).

I say this because we're running user progress in production in our old multi-site stack as a result of minor IA tweaks during development :)

A quick +1 to btopro's take

dmcw's picture

A quick +1 to btopro's take on this. We went through the same evolution he describes. Once we got up to hosting about 40+ course related sites (in a multi-site), the switch to an OG framework proved much more sustainable. We're running Open Atrium for our courses for the first time this semester, and feeling much better about sustainability..

I'd love to see a

btopro's picture

I'd love to see a presentation / demo of atrium for courses some time doug. Plugs right in with what I'm going towards with elms :).

Hey there Brian - There is

dmcw's picture

Hey there Brian - There is mini-overview at https://github.com/uwlss - but I should really cook up a screencast! CS is a lot like a stock OA install, with just a few features (https://github.com/uwlss) added in.

Its slightly off topic but

mobcdi's picture

as part of your OA install did you integrate Shibboleth authentication into it?

Yep - using

dmcw's picture

Yep - using http://drupal.org/project/shib_auth - we added a little bit of code to "shibbolize" user accounts created through the drupal gui. I didn't do that part, but contact me if you are interested in more info and I can put you in touch with the folks that did.

Thanks for the offer, i did

mobcdi's picture

Thanks for the offer, i did try doing something myself but time and skill failed me at the time and its gone back on the to-do list having said that shibboleth authentication could be a nice app/feature to include in a drupal lms like moodle offers a number of authentication plugins the admin can enable site wide

GOod Idea

kaw3939's picture

I think you bring up a good point.

I use Drupal to teach too and I like that it is flexible. http://www.mywebclass.org

I think you could have a drupal site for each course, but then some of the components for the overall system were shared.

For example, you have 10 courses / 10 drupal sites. The sites share a gradebook that is provided by the core system.

We run close to 300

sunnydeveloper's picture

We run close to 300 courses(under multiple categories ) at any given time.

drupal gardens runs thousands

kaw3939's picture

Think of this model like Drupal gardens with tools.

Actually, you could just use Drupal Gardens and build tools.

Not quite

cel4145's picture

But with a main gateway like Blackboard has that would use RSS feeds to pull in important messages from all the students courses (and the administration could publish to there, too). List of active courses. Useful links, such as one to the institution's library or even a search box that directly tied to their card catalog. Blackboard's gateway is useful, but I think some innovative Drupal designers could come up with something even better. Then imagine if the institution used Drupal for department and other program websites. Could the student's dashboard for access to all kind of information at the institution, not just to the LMS.

So like Drupal Gardens, but not Drupal Gardens.

ala

btopro's picture

ala http://btopro.wordpress.com/2011/06/08/envisioning-a-lms-less-university/

Turn the LMS into a service / process that flows through all aspects of the university. Not terribly crazy to do in a non-drupal context (just look at things like disqus and treat the entire LMS that way via js hook) but as many universities are going Drupal for...everything, could be incredibly powerful model for transforming the way students interact with their learning and institutions ("lms" prompts me about courses in the college's website i'm viewing now for example).

I think you misunderstood me

kaw3939's picture

I'm saying that you would have a service like BTbro describes.

A plugin that could be installed on any drupal site like Drupal gardens and then that plugin would bind the site to a course and provide tools like gradebook, assignment, tracking, data services to any drupal site.

So if someone wanted to they could install the Drupal module portion of this system on Drupal gardens and then gardens becomes a big LMS.

This would require some thought.

I'm using node.js right now and think that it might be good for this.

That might work. Your biggest

cel4145's picture

That might work. Your biggest two problems for adoption would be cost and FERPA. Would Drupal Gardens be cost effective, as opposed to self-hosting? And then some institutions would take a lot of convincing before they would allow (a) the students' learning record to be hosted on Drupal Gardens and (b) before they would allow the sort of interface you would need to populate the class sites on Drupal Gardens with student names, email addresses, etc. I've seen many registrars which are very touchy about this.

DrupalGardens

Mile23's picture

Just wanted to point out that, as it stands, DrupalGardens doesn't allow you to add modules. Their service is pretty tightly locked-down, and some modules (such as content access control) are upgrade features.

Please hookup

florisg's picture

The best way to test and improve Drupal as a LMS is continuos integration.

Please take a look at http://learndrupal.org/ by the boston initiative .

They are building a learning ladder for core techniques and contribution.
Cross referencing findings and teach experience and ideas could be mutual beneficial.

Learn distribution

scottrigby's picture

@idevit good idea!
Just added a ticket for Course integration in the Learn queue:
http://drupal.org/node/1513530

Course API

scottrigby's picture

Hi everyone!

A number of us have talked about Course module on IRC, but it hasn't made it's way into this g.d.o thread yet http://drupal.org/project/course

Course module is not intended as a content delivery system for university sites like ELMS (which is really a good Edu CMS distribution). Instead, the problem space Course module was written to address is specifically the LMS (online courses) component of those, or other kinds of online course sites.

Course module is an API for course "objects", both internal to Drupal, and integration with 3rd party learning applications. Included and independent Course plugin modules provide course objects (including Quiz, Poll, Webform, Content, Certificate, Attendance, SCORM, and third party applications like Moodle course objects).

Courses have an outline, track student progress, Ubercart purchasing (D6), grading, and completion, enrollment and attendance management.

For this LMS initiative, we'd like to see Course module help with the parts it's designed to handle however possible.

New Project Type: Course

scottrigby's picture

Also, it may be a good time to resurrect this issue from the d.o webmasters queue,
"New Project Type: Course":
http://drupal.org/node/489392

MITx - MIT's Open Learning Initiative

niccolox's picture

the elephant in the room is MIT (as always)... I assume they've dumped Sakai and have something completely new in the works

MITx has garnered “a lot of interest” from other universities since December’s announcement, though Agarwal declined to say precisely who was interested in the platform. MIT has billed MITx as an open system that other institutions can leverage to offer their own courses.

http://tech.mit.edu/V132/N12/agarwal.html

I am not sure how Open Scholar at Harvard is going, whats-up with that. Thing is, MIT will offer accreditation for the online education they offer.

So any Drupal folks at MIT got any insights?

I'd love to know (any)

btopro's picture

I'd love to know (any) details about said announcement. It find it a little odd that you announce the creation of a new platform... with absolutely no details about it. Unless it's leveraging an established framework it's another 1-off to me. OSS is about community contribution / building / revisioning / review, not throwing down a ton of code that's open and saying form a community here.

I'd also love to see some MIT people jump on and announce that MITx is being built in drupal ;). Last I heard O.S. at Harvard is still very actively developed and is moving to D7 but I haven't talked to anyone directly from there.

Agree...

markwk's picture

I'd have to agree with Brian that it sounds a bit too secretive for my liking. Love to hear some more specs on what's going on. Sounds like a one-off...

I am not MIT, I just posted a

niccolox's picture

I am not MIT, I just posted a link

ha sorry, the "you" i was

btopro's picture

ha sorry, the "you" i was referencing was MIT; in rereading that it did sound targeted at you which was not the intent.

Thanks Brian

kaw3939's picture

Hi Brian,

You have really done a lot with putting a Drupal eLearning system together, but I'm not sure if Drupal is the best approach for a new LMS.

I've been doing a lot of work recently with node.js, socket.io, express, and MongoDB. The capabilities that this platform has for seamless real-time communications is astounding. In addition, HTML5 features like editable area, drag/drop, etc... I think make new opportunities available for improved usability, functionality, and performance.

I'm not saying that Drupal has no role, it is just that we need to think about how to possibly blend the two together to get the best user interface.

It would also be completely reasonable just to build the lms using node.js it has modules and is open source.

I guess my point being is that putting together and LMS would be a major undertaking, but I think the time is right to do it. I would just want to invest my time into something that I thought really had the opportunity to offer the world something new. You have to expect that it would take at least a year to get something put together, so whatever we talk about now needs to be "new" to people 2-3 years from now. So maybe thinking about the best possible technology to use and planning around that is a good idea.

I totally agree node.js with

markwk's picture

I totally agree node.js with HTML5 is definitely a paradigm to push forward for collaborative learning (mongoDB less so but that'd be a different can of worms). I've personally built some amazing things with node.js / canvas / raphael.js / mongoDB as part of live interactive tools work and also struggled with getting it to play nicely with Drupal.

At the same time, I still don't quite see the need to jump bandwagons when node.js and drupal are aiming at different problems.

I still think there would be a viable space for something like: node.js for the live interactive tools + drupal for the persistent content/user management.

(The nodejs API module for Drupal is quite good by the way.)

FYI

kaw3939's picture

I Plan on using the node.js module for Drupal, it is good and does what I need.

Right now i'm in the early stages of building a classroom monitor app for training Drupal. Basically using that module to provide a conduit for monitoring progress in training and injecting javascript into the browser todo things like highlight buttons, add popup dialogs for instructions, etc...

I have been using MongoDB for about a year, so i'm pretty comfortable with it and believe that the type of LMS that I would and might build needs it.

My rationale is that i'm looking to build a high performance SAAS application for elearning and let anyone use it basically. I feel that my scalability target is handling at least 500k logged in users, while providing real-time communications and monitoring capabilities for the system. I'd like to integrate some features for student test/quiz monitoring.

Anyway, it may be that i'm just looking at this from the point of view of a SAAS application and not a download and use it model.

I'd be happy to make my SAAS application open source, but I'm not providing any guarantee that anyone would be able to download and install it on their godaddy server.

Whoops

kaw3939's picture

Didn't know about Raphael.js thanks, its pretty hot and just what I was looking for. I wanted something that I could use to generate some semi real-time graphs and this looks like it will do the trick.

RaphaelJS is great and quite

markwk's picture

RaphaelJS is great and quite easy to work with. It shouldn't be a problem at all for rendering graphs, though you might considering using Google's Free Charting API: http://drupal.org/project/chart. Takes all the server load...

One thing to watch out for how is positioned in different browsers.

yes

kaw3939's picture

i've been using that now for an experiment. The issue though is that Google keeps monitizing API and you can't count on it to be there without a big tax. I also work to build offline web applications, so having everything work locally is important.

Just to add, we've had good

jasonh's picture

Just to add, we've had good success with Flot for data visualization as well:

http://code.google.com/p/flot/

Highcharts

scottrigby's picture

There's also Highcharts
http://www.highcharts.com/

The Drupal Highcharts module's API is being rewritten for greater flexibility:
http://drupal.org/project/highcharts

Addressed earlier in the

nhepner1's picture

Addressed earlier in the thread

http://groups.drupal.org/node/219889#comment-724599

While it would be a really cool solution, and probably the "best", it probably won't be the most adoptable. Most of the issues re: node.js and mongodb are addressed in Drupal.

I disagree

kaw3939's picture

The issue is that I think the future of LMS in schools is having them as a hosted SAAS solution.

I have no desire to build another out of the box solution for a school that wants to run old hardware and have 2 IT people to support their campus.

Most schools want a service that they can signup for and use. I think an approach for market penetration is to really provide a SAAS solution for anyone that wants to teach to pick up and use for their own purposes.

For example, adjuncts, private trainers, new online education models like Khan Academy.

I would build a system for the masses and then provide SIS system integrations to schools that had begun to adopt the SAAS solution independently.

You also have to look at things with a 3 year time frame because anything we propose here would take 1-2 years to complete. Unless you were just repackaging existing Drupal modules and I don't think that is necessarily the best approach to build a next generation learning platform.

I do think that things in Drupal can be used, but to limit the system to that platform is really just shooting yourself in the foot before you even start.

I hear it

kaw3939's picture

My point of view is basically that Drupal could be used for exactly what you are saying and then augment Drupal with other tools for live collaboration and other functionality.

Part of the role of the LMS is to provide private communications between students and faculty. Because of this, integrating communications capabilities of node.js would be very valuable. I also believe that Node.js could be a superior web service provider and consumer over Drupal. I don't want to reinvent the wheel with node.js either, so I think that leveraging some aspects of Drupal make sense.

You see I work at a university and buy technology for eLearning as part of my day job.

I've looked at and evaluated virtually every LMS around and have been working with them since WebCT 2 that came out about 12 years ago.

My basic issue is that the LMS paradigm needs to move away from a monolithic set of tools and become an information broker to bind together external tools within the context of education. In addition, the LMS should provide a grade book, private communications, and maybe a few basic well-developed tools that will satisfy 90% of faculty. One example might be that Google docs or DropBox can be easily integrated into the LMS to provide editing of assignments. OR facebook and/or twitter should be options for communication and not just email. The options with web service integrations to add new features could be endless and really help keep the LMS fresh without reinventing the wheel.

We did a study of all our eLearning courses and found that only a small fraction of faculty use the LMS for more than a file repository and basic assignment collection / grade book functions. There are some that use the quiz system and really these faculty rely on that to handle large enrollment courses; however, they are the minority (but an important minority). The quiz system in Moodle, Blackboard, etc... Isn’t as intuitive or user friendly as it should be, so I think there is an opportunity here for major improvement too. But developing a high quality quiz system would be a major undertaking.

Anyway, I just would want to objectively evaluate all technical solutions and make something that meets the needs of faculty and students. I think this includes looking at how they use the system and how to provide the best user experience possible.

love the passion

btopro's picture

I don't disagree with you at all, in fact I argue the same things (fragmented LMS more as an interconnected learning network of tools) on my btopro.com blog all the time. Hence, ELMS is a SaaS platform builder. Long term I don't want anyone owning the data of others, and the way to do that most effectively is allow people to 1-click create their own SaaS solutions that they can tailor to their needs.

As I view it, LMS language is thrown around to bridge a dead technology acronym with something new. Many Non-lms options are starting to pop up as are SaaS solutions; ultimately 1-stop-shop for everything will fail to mee the needs of all. This is where I think the features framework is so powerful and that drupal is a solid base-platform for building other platforms / systems.

Won't disagree about node.js, there is some awesome stuff going on there and I'd lean on them as needed for certain things like has been mentioned above. I think one of the major goals (stated as this thread actually) is to provide the connections to other systems to allow for these learning networks to be able to include drupal in their solution more fluidly. Drupal should have LMS-like options in terms of things like SCORM player support, LTI, tincan and other data transportation methods but I'd never say "here's the drupal lms".

That'd be building the car when you asked for the parts. I'm advocating, and I think others are here as well, that those parts be agreed upon and constructed. From what has been tossed around much of the "LMS" work sounds like it could be a mashup of the course module, some things implementing it, and then ELMS for some of the content / infrastructure work. My angle as I'm not building an LMS is to try and mobilize a proxy community that is passionate about having more options and the innovations that come out of that group can directly impact my own distro in a positive way (through things like a SCORM player, LTI, etc).

SAAS

kaw3939's picture

I get a grant from a major cloud hosting provider that sells a lot of books. My grant is inclusive of a very generous allocation of resources for basically whatever I'd like as long as it is non-commercial and academic in nature.

I think that we could come to an accommodation for what you are asking; however, my goal is to produce a general purpose SAAS application that can be used by K-12 teacher, university lecturers, and independent teachers / learners.

I think that if you had a platform that had a good UI and was highly responsive in terms of performance it would have the potential to be adopted by a lot of people and then at a certain point you would get universities and companies interested in adopting it as an in house platform or as a SAAS.

Anyway, if your willing to have an open mind and look at the project from a large scale web application point of view then I would be interested in committing some resources and time into the development of the system.

Could the "time to market" be

mobcdi's picture

Could the "time to market" be reduced if the projects like open scholar http://openscholar.harvard.edu/ open academy http://drupal.org/project/openacademy elms http://drupal.org/project/elms course http://drupal.org/project/course plus maybe islandora http://islandora.ca/about could be easily combined into 1 install profile for a starting point to a edu lms platform and resources pooled to develope the missing tools/features

Modularity over Conformity

markwk's picture

I'd disagree with this approach. I think part of the problem of mashing up OpenScholar, OpenAcademny, ELMS, Course, Etc. is that while they seem similar, they are aiming and solving slightly different problems.

Drupal success (for better or worse!) is tied to its modularity or loose coupling, meaning that Drupal provides a minimal content framework that is extensible via modules, features, views, etc.

This minimal + flexible architecture means it's highly extensible and we can build exactly what we need (it also means it's harder for some end-user Drupal builders to use since there are no assumptions what you should be building or even much of a starting point).

A single "Drupal LMS" wouldn't make much sense for most schools, shops, teachers, whatever because the reality is that people are looking for X change or Y variation or a certain mixing of this and that; the aim just isn't quite the same. If we wanted it be a one-shop educational thing, we'd be using Moodle. We use Drupal because of its modularity of code (= reusability!) and flexibility; and the benefit of having a single code/structure that can allow us to build the presentational site, the interactive site, or the next greatest spagetti monster thingie...

I tend to agree with btopro's approach of:

  1. using OR following OR copying a certain well-established basic architecture (i.e. views/og/feature/context based setup); ideally you can just copy a setup like what I do with OpenAtrium and then extend it with custom features/modules.
  2. building + sharing features and modules with KIT specs so that they are as much as possible reusable and adaptable for others.

+1 to that. We've been

ezraw's picture

+1 to that.

We've been developing and using an unreleased version Course module for our clients for several years only because the one-size-fits-all LMS model didn't work for our clients. There are many market needs for delivery of educational materials that aren't the university model, for example, HR, continuing education, certification, live meetings, etc. I guess that's why there are so many LMSs out there.

Another downside is, well, look at Moodle. If you try to include everything and the kitchen sink, the user experience gets much much harder to do right. Maintenance costs are much higher, as are training and support.

I actually think we are of

mobcdi's picture

I actually think we are of the same mind on this. I think features/Apps/KIT specs are the key to this being a successful project. I might not have framed my posting correctly 1st time round and I think just mashing all those mentioned together won't work well for users, maintainers or developers but I think a features server or similar focal point for end-users is needed to be able to source new additions or upgrades to their configuration/collection tools for their bespoke lms from 1 location or service.

I would hope the end result for site admins would be tick the box if you want to add "X" to your lms now and in the background that tool/option/ feature call it what you will would be downloaded in the background dare I say a bit like how wordpress plugins work and can be added from inside the dashboard

I think things are flowing in

btopro's picture

I think things are flowing in that direction. It's more important that these projects follow KIT / similar architectural structure AND work towards developing / promoting modules that help extend overlapping use-cases. Course module could be implemented in any drupal distro (hypothetically) but also be used stand alone.

Sticking to the same general design philosophy as Drupal's larger community we'll be able to accomplish a lot more through shared efforts. Sure there will be some efforts towards more or less the same components at times but I think it'll work out long term. I've tried to practice this with ELMS as there are very few modules / changes that are specific to the ELMS environment, everything has been broken out into modules that could be used by other projects. Spaces OG Clone is a perfect example; in ELMS this module is used to replicate and reallocate versions of courses to new versions (copy group node and all content and all space settings essentially). This module is directly applicable now in ANY spaces_og based system (open atrium and otherwise).

LTI, not ELMS_LTI, and similar architectural decisions will reduce costs / dev times for all of us long term. In another life Mark and I tag-teamed the profiler_builder module because we both had similar needs for something like that. I think sticking to abstraction and talking about how to achieve these things are critical. That's why I talk about a lot of ideas around drupal in education on my personal drupal blog (btopro.com) as well as document developments and module selections on drupal.psu.edu as they directly relate to elms.

Might it be worth while

mobcdi's picture

Might it be worth while thinking more about the different actors that might interact with a drupal lms ecosphere instead of centering it on just student / tutor interactions e.g. faculity libararians could push articles, reading lists to students which would appear to students under "My Library" based on their faculity or course of study, security could publish alerts about opening hours to courses involved in particular buildings but that it would be an ala carte add what you need/want but as you add the lms becomes more useful than the sum of its parts because of drupals flexibility and interoperability

Agreed on all of this. Mark

mradcliffe's picture

Agreed on all of this.

Mark me down as another person who has developed a (pseudo) LMS for a client for K-12 school(s) in Drupal :-).

My idea was to architect a suite of modules that could handle pretty much whatever future type of assignment, class, and product license model that could be thrown at it. It was idealistic and did save time later on, but education just seems to dislike consistent interfaces and products. :*(

Entity API helped a ton here.

Crazy half baked idea

kaw3939's picture

Hey,

just a random idea on this point of view...

One of Drupal's strengths is anonymous user performance and it is good for content management / data display / etc...

It somewhat falls down on the job for logged in users. Yes you can overcome that, but it is really a performance issue.

Do you think that it would be possible to architect a system that mimmicked a logged in users experience but used something like node.js for this.

Basically there would be blocks / logged in user menus / login that would be handled by an external system, while content display would be handled by Drupal.

I'm just thinking that there might be a hybrid approach that may work.

Totally a random thought.

Proposal

kbell's picture

Personally, I'm on the node.js + Drupal bandwagon. And as I posted above, Pantheon would be perfect for hosting (IMHO). I think the SaaS idea is also the way to go for the widest-possible institutional adoption (thinking both K-12 AND post-secondary here). My goal is to topple Blackboard and the greedy textbook manufacturers because they're putting ridiculously horrible constraints on the length of time students can even use their products, and it's high time we did something effective about it (I think Moodle is a joke at this point).

On the content front, I'd like to use something like Drupal's translation-contribution-and-review system for localization to crowdsource some of the class content too, if that's something people are interested in. I really like the idea of being able to write, review and "serve" (host for download, as "class plug-ins", in the SaaS or wherever) as a community, where continual improvements and integration can be made.

One of my coding partners and I were thinking of applying for a Knight Foundation grant to help build this thing; has anyone thought of doing that? And if so, how about we join forces/funds? My group and I can help with grant-writing, architecture, UX and coding. I also used to be a curriculum writer and 8-12 public school teacher in a previous life, and among us we have a fair amount of experience with LMSs (for supporting background knowledge to aid in UX decisions).

I was introduced to ELMS by Matt Cheney (Chapter 3, Pantheon, Panopoly) at DrupalCon Denver when I mentioned my goals (above) to him. Since then I've been looking closely at ELMS as a starting point, and so when I found this thread I was thrilled. The use of "I" above (like it's "my" project or something! :), is purely because I've been brainstorming and architecting this thing in parallel, as time permits, for over a year now. I've just lately been able to get a few more folks interested in working on it with me, and then - lo and behold - Matt tells me about ELMS! So please forgive any note of "ownership" - I only mean to share how my thinking has been running while I've been planning on my own.

Thanks to all of you for caring about and being willing to work on this project. In support of btopro, there's just no reason there should be only one guy doing this. Let's try and get some real grant money so we can all devote significant time to the project (and not starve while we do it) and get 'er done!

--Kelly Bell
Gotham City Drupal
twitter: @kbell | @gothamdrupal
http://drupal.org/user/293443

I'm all for people hyping my

btopro's picture

I'm all for people hyping my work so no offense taken ;).

Drop me an email and lets see what we can do. Based on some pieces I am aware of it's not a matter of if these things all unfold it's when. A few pieces that I have in my queue that would be kit compliant but here's my current plan forward based on some requirements in-house for dev.

Cleaning up / standardize / document the ELMS style guide and accessibility scrubbing routines being put in place. This is both for communicating to our faculty using the tool as well as get feedback about our approach (have talked about possibly making the discussions around that a MOOC to get feedback from a wider audience while having IDs on campus take the course and wiki it).

ELMS Objects (in dev now, simple) - Basically just a way of listing all content in the course that was created by non-students. This is very learning object-y (not my cup of tea) but can provide a unique alternate way of navigating the material based on what features are active in that course.

ELMS Threads (name still up in the air)-- Looking into OG Vocab + Hierarchical select + minor featurization so that you could enable a per-course taxonomy. The reason for Thread naming would be that you could start to illustrate logical threads that flow across the objects in your course. For example, 5 maps in italy as well as a unit of instruction could be about the Roman Empire or related to medieval Social policy. Things that could be related and of interest to mention but might not be covered directly.

Open Studio and Reactions are still in the works and going to be built out towards a 2nd SaaS solution I'm working on simultaneously. This will be entirely student submission / community centric and obviously those tools could be rolled into the ICMS should people want to do so.

ELMS Notes - Think Diigo but closed loop so there are no security implications (FERPA + external tools is not a deal breaker but at least complicates things at times). This is probably a minor modification to the current NRH implementing features as well as the Reactions module (public, this would be private). The node reference highlight API (http://drupal.org/project/nodereference_highlight) can easily be tweaked to allow non-instructor roles (or anyone) to use it. Some tweaks to the UX associated with it and students could have a personal note taking area that is contextual and be aggregated back either across their course or course catalog.

As way out there things, ELMS quiz and ELMS Webform have boilerplate features in the dev build. They probably won't be built out any time soon but just to give some ideas that those would definitely be possible to integrate. Webform is always a battle as to why but then instructors could design small feedback forms (like student teacher evaluation kind of stuff) and collect thoughts on certain things. Because of the abstraction of the framework you could also build a type of SaaS survey builder and let people buy access to a survey building tool (not my goal, free idea).

There are also open source, non-drupal yet based originally on the work we did in drupal (drupal.org/project/rubric) to make an OSS php based rubric tool. I've seen the work on that and so far it looks really slick, hopefully we'll be able to integrate that external library back in more closely or at least show how we plan on using it.

Like I said... email me :)

Quick question

kbell's picture

In a recent blog post on your personal site, you mention

A Drupal in Higher Education UnConsortium which is currently in the process of adopting a charter and more official name. This un-developer network was announced at Drupalcon Denver.

Can you tell me the name and/or URL for this group as it currently exists? I know they're changing around, but one of my coding partners really wants to see what's up (and I admit I'm plenty curious too!).

I'll see you in email...

Cheers,

--Kelly Bell
Gotham City Drupal
twitter: @kbell | @gothamdrupal
http://drupal.org/user/293443

Name is still being kicked

btopro's picture

Name is still being kicked around, we're down to 3 or 4 good ones that we need to vote on. Membership is currently edu only though that's also being kicked around / refined in the charter. Made a lot of progress on the charter while at drupalcon and I think everyone is playing catch up still :).

We have a google hangout coming up and I'm sure we'll be resolving these things as well as seeing where we should look into standing up a site. Currently a lot of us hang out on IRC in #drupal-edu so feel free to join the conversations that happen there as it's a mix of devs, non-devs, higher edu and consulting shops. K12 welcome but we don't get many on IRC :)

Currently thinking of proposing yammer for people to join as it would be free and easy.

Regarding SCORM

jct's picture

From what I gather, SCORM is still hanging around, but LTI is more geared towards offering integrations with another standard: Common Cartridge.

Check this out:
http://www.imsglobal.org/cc/ccfaqs.html

Yep exactly! Check out the

scottrigby's picture

Yep exactly!

Check out the LTI API comment above…

And ezraw's comment about IMS's LTI workshop just below (still curious if anyone on here went to that?).

LTI Tool Provider

jzornig's picture

I am happy to announce the release of the first part of the LTI Tool Provider module that we have been developing at CEIT http://ceit.uq.edu.au over the past year. We've been using it with Bb 9.1 but the version I've posted has been also tested with moodle and the ims test harness. The base module that handles authentication and authorization is available for review http://drupal.org/node/1826496 as a sandbox project http://drupal.org/sandbox/jzornig/1809350
We have also developed submodules for Outcomes and Memberships which will be released soon. If you are coming to DrupalCon in Sydney please comment on my session proposal http://sydney2013.drupal.org/lti-tool-provider-module
Looking forward to feedback and comments.

JZ

What is status?

ggevalt's picture

I run a small nonprofit in Vermont that works with dozens of schools. The pressure for a full LMS within schools is pretty great -- schools are ALWAYS looking for that ONE software solution to everything. So a fully integrated LMS would be nice but a good LTI solution would be ideal.

I am wondering what became of this effort? Has it moved? or Has it lost steam? Is there any more development going on? I see that there is work being done for a D7 LTI solution (sadly we are in D6) but that still is in beta stage.

As Schoology, Edu2.0 and Google Docs (and Blackboard, Moodle, etc) gain more of a foothold in schools an LTI solution or an established way to set up Drupal as a true LMS would be great.

thanks,

geoff

Status of D7 LTI

jzornig's picture

We use the LTI Tool Provider in about half a dozen assorted tools we have built in Drupal and use in Blackboard LMS. Most of our tools are under constant development/revision but we rarely find bugs or need to change the LTI Tool Provider module code. It is pretty stable and well exercised. Our tools are used in lots of courses including some with enrolments >1000. You have to check out the code from git at present to get the latest. I've not had the cycles to push a release. There is pretty good documentation on using it.

JZ

Thanks…jzornig

ggevalt's picture

Really appreciate your quick response. Any idea whether it works with Schoology? We'll try to give it a test on one of our development sites. And we'll check out the documentation.

I was also interested in the fact that this discussion group faded out. Any reason that happened? It seemed to be headed in such a positive direction… We have been working with teachers in 63 schools and fashioned a pretty good set-up for what we call Creative Management -- easy interaction between kids to promote peer-to-peer learning, creating revisions, integration of media in their work as well as very easy sorts of material, teacher annotations, etc. but …. schools seem hell bent on ONE software for MANAGEMENT of the class (rather than promoting student engagement or learning -- not that they do NOT care about that, it's just not the priority. Grades and attendance and administration are the priorities.)

So it is definitely an added competitive pressure for us and for anyone NOT in the Schoolology, Blackboard, Edu2.0 business. Which is too bad. I really believe that someone(s) could develop a very robust LEARNING system with Drupal, if we all put our heads together...

By the way, do you have an installation or some example of your work that I could view?

cheers and many thanks,

geoff

Pressures of work

jzornig's picture

I think most people in this area tend to be project focused, and so while they are working on a project that needs something like this they contribute and interact. Then that project finishes and their focus is elsewhere. That certainly applies to my group. Currently we are focused on MOOCs in the edX platform and our Drupal stuff is somewhat on the backburner, just ticking along with the odd bit of maintenance of minor feature change happening.

JZ

jzornig...

ggevalt's picture

I can appreciate that.

Take care. And good luck with edX. It looks like a good platform. We had some teachers and students try it out and they were a bit confused by it… but functionality is excellent.

cheers,

g

Speaking of EdX ... any

astraea0207's picture

Speaking of EdX ... any possibility to have EdX as an LTI provider in the near future?

Question about LTI Tool Provider

astraea0207's picture

Hi,

We recently installed LTI Tool Provider and OG on our Drupal 7 site (Opigno LMS distribution) which provides many quiz questions. Our users are able to launch the entire site from their LMS (Canvas and EdX) with the launch URL: https://www.example.com/lti, but I couldn't figure out how to provide users the LTI URL for each resource (each quiz or question). Is it something I could accomplish by configuring the settings of LTI TP and OG? Or do I have to code to realize this function?

I'm totally new to LTI -- I'd really appreciate a step-by-step tutorial of how to configure the URL for an individual resource!

Thank you so much!!!

Astraea

Question about LTI Tool Provider

astraea0207's picture

Hi,

We recently installed LTI Tool Provider and OG on our Drupal 7 site (Opigno LMS distribution) which provides many quiz questions. Our users are able to launch the entire site from their LMS (Canvas and EdX) with the launch URL: https://www.example.com/lti, but I couldn't figure out how to provide users the LTI URL for each resource (each quiz or question). Is it something I could accomplish by configuring the settings of LTI TP and OG? Or do I have to code to realize this function?

I'm totally new to LTI -- I'd really appreciate a step-by-step tutorial of how to configure the URL for an individual resource!

Thank you so much!!!

Astraea

Fantastic!

jzornig's picture

Astraea, Great to hear you have made use of lti_tool_provider, and with another LMS. I've yet to find a LMS that it doesn't work with. In tools that are designed to be used once in a course, we usually use the facility with lti_tool_provider_og to redirect to a course specific landing page (e.g. a drupal og group home page) on launch. But for tools that can be used multiple times in a single course we use the resource_link_id to create a custom_destination url using hook_lti_tool_provider_launch_alter()

Here is a code snippet from one of our tools called reflections.

/**
* Implements hook_lti_tool_provider_launch_alter().
/
function reflections_lti_tool_provider_launch_alter(&$launch_info, $account) {
  /

   * Do stuff at the time of an LTI launch including
  *   modifying context variables.
  * Invoked after user provisioned, authenticated and authorized,
  *   but before redirect to landing page.
  * LTI context variables are available in $launch_info, and
  * user account is $account.
  */
  // Destination is the prompt view.
$launch_info['custom_destination'] = 'prompt/' . $launch_info['resource_link_id'];
}

JZ

Thank you so much!!! Will try

astraea0207's picture

Thank you so much!!! Will try it out today!