Creating an online school with Drupaled

Events happening in the community are now at Drupal community events on www.drupal.org.
specmav's picture

I am currently using drupal and I am in the planning stages of creating a "online school" per se. With all the modules out there, I am not sure which ones to use and if they would work as intended. My outline/workflow would be as follows:

  1. Create a teacher role
  2. Allow teacher to create a "class"
  3. Allow users to enroll in class with and without payment (Ubercart, Userpoints, something)
  4. Grant access rights to class once payment recieved

Moodle seems to do this out of the box with setting up course creators, teachers, etc.. and allowing payment to be set and paid for. I am just not sure how to emulate this same behavior with drupal.

I am currently planning on using Ubercart and Userpoints. Maybe an enrollment to a class can deduct userpoints from the users total.

Basically, any ideas on how to set this up would be greatly appreciated. I have been racking my brain for a long time to create something like this without taking on a ton of modules that don't add any extra value to my site.

Maybe a OG/Userpoints/Ubercart solution can work?

Thanks for any help you can offer.

Comments

Creating an online school with Drupaled

ashiwebi's picture

I am write now working on the same concept but there is slight difference between myone and yours.You are creating the class for the student and I am using a group concept. There is one suggestion for developing your site. You can use druapled.It has many features like Calender based assignment,events, and many others. The OG,userpoint,ubercart are the good modules.

I think my biggest hurdle is

specmav's picture

I think my biggest hurdle is to find a way to automate the system so I don't have to remove users, reset certain things, etc...

I am looking to have each group as it's own class and users have to pay money to enroll per classroom. I don't think Ubercart or Userpoints can provide this functionality.

I have thought about creating a student role and just have the user buy that role, but that seems cumbersome and I don't want the students to pay for the role and join every classroom available.

Any ideas on how one might do this?

Is Moodle what you are looking for?

bonobo's picture

From what you have described, and this line from your original post:

Moodle seems to do this out of the box with setting up course creators, teachers, etc.. and allowing payment to be set and paid for.

it seems like Moodle does what you need. What functionality do you need that Moodle doesn't provide?

If you need a social aspect to your school community that falls outside of class boundaries, then Drupal has a lot to offer. if, however, you want traditional course management (teacher centered, calendar based) then Moodle could get you there faster.

With Drupal, having group enrollment be managed by an admin, and tying a course purchase to a group membership (perhaps via Triggers) could get the functionality you want.

Cheers,

Bill


FunnyMonkey
Tools for Teachers

I'll have to agree with Bill

btopro's picture

I'll have to agree with Bill (and i'm not a fan of Moodle) but if Moodle does most of what you'll forsee needing to do out of the box then it might be the way to go. Another option that we've gone with for our setups is segregating functionality into other "systems". For example, students start out using our courses in a CMS called Angel. Angel is used for centralizing communication and is a constant source of where students should start on their path into the course. They then access materials that are in a static published form of Drupal content (HTML). That flat-file system then links over to something called the "assignment studio" and that system is just used for handling student assignment submissions (Drupal 5.x).

If there's functionality of Drupal you want maybe you could handle it this way? Have your course system in Moodle and then link off to a community-centric site if you need that later on. I'm sure there's single-signon / integration type stuff for user accounts between the two.

I'm also working on a central departmental system that uses OG to do a lot of what you're talking about: http://elearning.psu.edu/projects/node/76

That's at least a list of the modules we're using (a few different now but I haven't updated it yet). I have an installation profile in dev. form (aka I ran a module and it generated it from my database) that I'll be posting on d.o. under ELMS (http://drupal.org/project/elms). Won't be supporting it but it might be a nice framework / start to see what someone else is thinking in this area.


"Moodle? What's moodle?"

http://elearning.psu.edu/
http://elearning.psu.edu/projects
http://drupal.org/project/outline_designer
http://drupal.org/project/html_export

I guess at the moment using

specmav's picture

I guess at the moment using Moodle might be the only way to do this at the moment. I am not a fan of integrating third party apps into drupal, but it might come to this.

While using OG to create classrooms is rather easy, getting paid and tracking those payments in a horse of another color.

Maybe in the future eC or UC can be used with OG to create what I am looking for. At least moodle is rather easy to set up and hook into drupal's user database.

+1 to an integration between

rszrama's picture

+1 to an integration between UC and OG. We've written modules that assign a specific role based on a product purchase and grant access to specific nodes based on a product purchase. It should be pretty simple to write one that subscribes the user to an OG...

Ryan, is there a ubercart

yesct's picture

Ryan, is there a ubercart form thread follow up to this?

I have a product, say a course, and an attribute with options specifying sections. What I'd like is when someone pruchases a certain course/section that they are added to that organic-group.

But I don't want to have a role for every section. Say 100 courses a semester with 3 secions each, over just a year (3 semesters) that would be about 1000 roles. What I realy want is roles like student, admin, instructor. And OG groups for the sections.

Does that make any sense?

Cathy Theys
http://YesTrainingAndEducation.com

Cathy Theys

btopro's picture

We currently have a drupal site that you need to pay to take that uses an activation code system that students have to purchase, then enter correctly in order to gain access. When our next system gets set up it will be using OG entirely to segregate what students can and can not access. There are also 3 levels of authentication to let them into a group:
* student needs to be from PSU (Cosign authorization)
* student needs to be registered for the course (based on XML / central service returning the list of students)
* entering an activation code that's stored elsewhere in the database that is specific to taking an e-Learning course on our server

I'll publish the code when I write it if it's something people are interested in. Right now I do this with an external service (another drupal site) by checking if a private profile field is set to 1 (if paid_for_course == 1 sorta thing). If you end up writing a solution it might be good place to start, hope this helps.


"Moodle? What's moodle?"

http://elearning.psu.edu/
http://elearning.psu.edu/projects
http://drupal.org/project/outline_designer
http://drupal.org/project/html_export

I have written a general

specmav's picture

I have written a general specification for OG that might help with creating classrooms and receiving payment. Unfortunately, I lack the funds to support this or contribute in any meaningful way. Although one user offered a $500 starting bounty to get this going.

The role based solution with UC seems like a "one size fits all" solution. That I would feel better served as a school admissions fee. Another option that I would like to see is a UserPoints integration. With this you could set a UserPoints category to hold "credits", set the cost of 1 credit to say $1, then let users pay to purchase credits that can be used to enroll into classes.

The specification can be found at http://drupal.org/node/233624. Moshe, has also mentioned in the issue that he would add it to OG core if a patch was submitted.

Most of this can be implemented up until OG. Once you get to OG, the contrib modules are really basic or only provide a simple solution. Getting Userpoints or a payment option to subscribe to OG is the main hurdle.

Drupal in Education

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: