Google released an open source "learning platform"

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

http://google-opensource.blogspot.com/2010/05/cloudcourse-enterprise-app...

However, connecting our expert teachers to eager students around the globe can be a complicated business. To that end, we are excited to release our new internal learning platform, CloudCourse under an open source license. Built entirely on App Engine, CloudCourse allows anyone to create and track learning activities. CloudCourse also offers calendaring, waitlist management and approval features.

Thoughts?

Comments

I had a bit of a look around

kyle_mathews's picture

I had a bit of a look around including the demo site at http://cloudcourseio.appspot.com/ and my 2-tweet summary was:

Google's new "LMS" is a simple CRUD scheduling app with calendar / room scheduling integration. Not the fabled Google LMS folks. #movingon
Demo site for cloudcourse at http://cloudcourseio.appspot.com. It'd take me a day or two to replicate that in Drupal. Meh.

To replicate it in Drupal, you'd need an activity content type, some custom theming, a view, and perhaps flag so people could sign up for events. It's a well-executed simple app aimed at meeting a specific purpose. But not really that interesting generally speaking.

Kyle Mathews

Thanks for the assessment

XHTML Teacher's picture

I found your take on it helpful, especially as it relates to replicating it in Drupal. Also cool the demo link.

This post was quite Timley

zaglick's picture

Thanks for sharing the link, Since we have launched our site here in Syracuse I am getting all sorts of request for an online course management system. Having just escaped from an institution that imposes Blackboard on its students I will not do that to my users, I was investigating a build in Drupal, Moodle or something else. I am not the greatest developer in the world but wouldn't mind trying my hand at helping you with some of what you described. "To replicate it in Drupal, you'd need an activity content type, some custom theming, a view, and perhaps flag so people could sign up for events."

Zack

features

kyle_mathews's picture

Cool! And when you get to building it, looking into the Features module for how you can bundle up what you've built and possibly share it back with the community.

Kyle Mathews

Permissions Inheritance

istarion's picture

I'm new to Drupal, but do have some experience in LMS development generally. One item which, while perhaps not immediately obvious, I feel becomes more and more important as the scope of an LMS expands is an LMS ability to support membership/permissions inheritance. In effect this boils down to allowing Groups to be members of other Groups, with cascading permissions which can be overriden (if necessary) at each level of the inheritance, right down to an individual user. As I see it, the reason this is so important is because schools have exceedingly complex group and role definitions (student, parent, sibling, teacher, aide, administrator, course, class, depratment, subject, major, etc.) which are fundamental to the function of an LMS and the Student Information System (SIS) to which it is linked to or an organic part of. I feel, with all but the smallest schools, managing these groups/roles and their associated permissions without the benefit of membership and permissions inheritance becomes impractical. I'm not sure yet if Drupal has this capability, but it would be an extremely important and useful capability (and not just for LMSs) if it doesn't.

Best Regards,
Mark

Re: Permissions Inheritance

bbenone's picture

Mark,

We have had a similar need to what you are describing for a while. Our app isn't an LMS, but is a Laboratory Research (and compliance) Management System (we call it an "RMS"). Anyway, our current approach to group inheritance is based on D5 modules and custom glue that we wrote. But, I've been keeping in tune with this topic specifically as we'd like to jump on D7 redevelopment here soon.

Anyway, search for "sub group" in the community. There have been a few conversations around this topic. And take a peak at these modules:
http://drupal.org/project/og_subgroups
http://drupal.org/project/group_subgroup

Sounds like you will also need to setup something that will allow for group specific roles, such as:
http://drupal.org/project/og_user_roles

Something tells me that the role inheritance piece that you described won't come as easy.

I'm interested to hear if anyone else has had any luck implementing any of this as well.

-Ben

...sort of

David.Hamilton's picture

I work in higher ed. We have modeled some aspects of permissions inheritance. We started on d4 and are at d6 at this point, but to do all that we wanted to do with permissions, we had to touch core. Changes in D7 mean we can finally back out of core and release what we have to contrib. There's been some discussion of it over the years, most of it found here:

http://groups.drupal.org/node/10231

or linked to from the discussion there. The case study itself is a bit out of date at this point but still accurate broadly speaking, and there's a ~10 minute screencast there which shows how the inheritance works.

We're delivering aspects of an LMS on our site as part of an effort to get our campus off of Blackboard. We started by focusing on binary sharing because it was what ~90% of faculty use of Blackboard amounted to when we started, but we've since added a gradebook, quiz engine, calendaring, ereserves, and a few other features. Most of our faculty have moved from Blackboard to the Drupal-delivered tools at this point.

There's one other school running our module now, and we'll get our module into contrib after D7 releases.

contrib vs. custom

kyle_mathews's picture

How much of that gradebook / quiz engine / calendaring / ereserves / etc is based on contrib code (e.g. the gradebook module / quiz module / calendar / cck / views) vs. completely custom code?

Kyle Mathews

it's a mix

David.Hamilton's picture

Hi Kyle,

First a clarification - when I mentioned releasing into contrib, I was referring to the permissions model work we've done. We have a module that handles permissions management including inheritance. Sorry I was unclear about that.

To your question, it's a mix. The quiz and gradebook tools are entirely custom code using EXT for the UI and written against our permissions model and data coming out of Datatel. Calendaring is using the date/time tools and the views calendar stuff, with a module we wrote to glue it together and control theming and a few other things specific to our needs. Ereserves is using the biblio module with again some code we wrote for a UI for creation and maintenance, and to stitch it into our site.

Some resources on some of these if you're curious:

the gradebook:
faq/documentation/screencasts: https://www.amherst.edu/mm/121061

quiz tool:
demo: https://www.amherst.edu/mm/171450

Ereserves:
screencast: https://www.amherst.edu/mm/120100