Advice on using Organic Groups for course management in an academic context

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

I am thinking about using Organic Groups for course management in an academic context.

Initially I was going to create an OG group per course e.g. Physics 101. However if the users change per semester this could become tricky to manage...

There are 2 options I can think of:

  1. Create a new group each semester e.g “Physics 101 – Semester 1, 2013”
    • But would soon end up with 1000’s of groups.
  2. Somehow archive the data, clear down the group and re-enrol the next class each semester
    • I'm unsure how we could effectively do the archival while keeping the data available, and it seems like it would become a convoluted process

I would love to know how other users of OG handle this type of problem?

Is there any online material that would help me learn how to use OG in this way?

Thanks for your help in advance!

Joe

Comments

Why not removing the user

wla_g's picture

Why not removing the user from the group when the semester is finished. You could leave any group-owned data intact and only add the new students to the group.

Werner

excellent inflection point

btopro's picture

excellent inflection point for your information architecture decision.

D6 ELMS distro was 1 OG per section and then associated to a course. This was quickly leading to your 1000s of sections unmanageable mess. It also creates a limiting scenario rather quickly where all functionality is contained by the weakest request (traditional LMS pain-point).

D7 ELMS CIS + MOOC distro takes the approach the the CIS helps manage the logistics of courses (course is actually a node, sections are field collection items on that node).

Each Course node in CIS then has a matching Drupal site that's produced off of the MOOC distro. This allows maximal flexibility in terms of the way the course is presented to students and can be completely different course to course. This also allows for flexibility in the way you manage access controls cause it can differ course to course (some can be open, some closed, some with partial content open to the public for example).

Inside the MOOC distro (and all other tools in the ELMS network) each field collection item / section in CIS has a matching Organic Group in MOOC / other tools. This allows for management of users at the section level but confined to the course in question.

For sem to sem transitions, CIS has the start and end dates for when users should be synchronized from a remote data source (API based so your pick, we use an LMS API). Once we pass the end date, all users have their student role removed and are transitioned to a 'past student' role which has access but more limited then previously. We also have a boolean checkbox field on the OG in MOOC called "active". Simple logic, sections that are no longer active, no longer check for roster updates and basically fade away from our concern.

This is the policy that will be put forth in the CLE distribution as well, the main difference being between MOOC and CLE in terms of policy comes at this OG - section level where all OG content in CLE is private (MOOC has no section specific content).

Hope that gives an idea of other options. Regardless of approach, I'd highly recommend using a 1 to 1 ratio of courses to drupal sites and then allows sections to happen as an OG within that Drupal site. If this sounds unmanageable; proper name-spacing, drush and installation profiles make it very manageable from my experience.

btpro, Thanks for getting

Joe.U.Questionmark's picture

btpro,

Thanks for getting back to me, I have been reading about your work and it all sounds very impressive.

We would like to be able to offer the service to thousands of organisations who might have thousands of courses. (We were planning to use a site per organisation)
The idea of managing 100,000+ drupal sites (and supporting databases) sounds like an extremely daunting task.

Do you know of anyone solving the problem using OG groups and maybe taxonomy terms to model the semesters?

Thanks for your help.

Joe

depends on environment. We're

btopro's picture

depends on environment. We're doing a mixed approach w/ OG and DBs. A ton of OGs in 1 DB can start to become just as unmanageable from a change management / future upgrades perspective so it's about trying to paint into as few corners as possible (long term)

I'd check out Course as well as thinking about maybe doing like a new Drupal site per organization or something just to help manage things from an IA and permissions / roles perspective.

@JoeU yes, you could use

scottrigby's picture

@JoeU yes, you could use Course module to manage enrollments and attendance per course. OG can be used on top of that for other needs (learning groups, etc), because courses can also be group content.