Redecentralize, everything

Global success, Global failure of the CMS/LMS needs to stop

We need to rethink the way we go about implementing and building large-scale university systems. I started answering a post recently on Drupal.org about a Moodle / Drupal merger. The commenter was saying that Moodle could be plugged into Drupal somewhere down the road as a module because of how much better Drupal is at…well.. everything (outside of LMS). As I started to respond, it occurred to me that this fits in well with a system design I’m working on. Let’s lay out an example of how you’re screwed now…

You bought into a CMS / LMS (one package)

People said “OMG this does everything possible but nothing well”

This CMS / LMS is bought out, losses popularity, is no longer maintained, is too expensive to hire independent people / your own people to keep afloat

You need to move to something new and soonish because everyone’s clamoring for it and you’re just waiting for the day something breaks that no one knows how to fix

So right now, your stuck in one system and want to start looking at another. You can look at Moodle and hope that your SCORM packages will transfer correctly. You can look at Sakai or any number of other projects and say the same thing. OR, you can do what I’m doing currently and start looking at NO, ONE, SOLUTION. I know you’re saying “but Bryan, didn’t you mean just the Drupal solution”, no. Drupal is not the answer. Plone, WordPress, Moveable Type, Joomla, PHPNuke, Moodle, NOTEPAD is not the answer.

We need to start looking at systems development based on a services and scalability perspective. No one system is going to solve that problem. We need to start looking at what systems do well and then play to those strengths in the creation of a service. Right now I’m planning out the new version of ELMS (version 3) and it doesn’t involve just 1 Drupal site / system. In fact, in the grand scheme of things, it doesn’t even just involve Drupal. It involves a star / ring based network of systems approach to network design.

Here’s a sample setup

A lightweight, data transmission and organization system at the center. This is either Moodle or Drupal (or anything open source that meets data / record keeping needs). It also polls the rest of the systems to pull together a view of all data relevant to users in a portal type of display

It then dictates to all the other systems in the network what users can access what, who’s in what course, what courses are running. All that fun stuff.

Other systems in this setup include:

A CMS. Something that presents course content and presents it very well.

A social media management system (SMMS). I’ll be making another post shortly hashing this lightbulb out a bit more but think a SMMS that’s specific / internal to your learning ecosystem is the future.

Syllabus / course objectives communication system. This is more of a traditional LMS with JUST the course framework and pacing components involved.

Blogging platform — A space onto itself that’s a living community where students / staff can blog about whatever (or make course specific ones). Free flowing, loosely knit together via track backs and comment streams

Wikispace for collaboration — kinda dur what to use here…

So, what I’ve proposed above is more of a communication between and across systems. Things like single sign on systems and simple modules within each project could allow users to flow seamlessly between them. RSS and XMLRPC calls could allow session / user display data to flow seamlessly across each. The most important thing though is that any system can be any CMS/LMS choice. Example of that….

Core LMS / data system is Moodle

CMS is Drupal

SMMS is Drupal

Syllabus system is WordPress

Communications system is Plone

Blogging platform is moveable type

Wiki collaboration via Wikispace

All systems can now scale independently of one another both people, database and server wise. We all have people around EVERY major university that have people with these skills right? And one big barrier to switching to 1 standard is that ” we have Plone/Drupal/Moodle/WordPress/Joomla/Wikispaces programmers that will all be re-trained on Plone/Drupal/Moodle/WordPress/Joomla/Wikispaces”. So avoid the barrier, play to your staffing’s strengths.

Will some need to be retrained? Definitely. But there’sno longer a global success, global failure involved. We don’t have to worry about “what happens if we all go Drupal and the project fizzles?” and the same can be said for any other system. I have my own personal preferences to different systems and coding practices (obviously) but a lightweight communications system could be cobbled together between each system to allow information to pass freely.

Everyone keeps their skill set, everyone keeps their system of choice, everyone wins! Thoughts? Comment here or on twitter @btopro

Post navigation

23 comments

Small pieces loosely joined. Seems like a good solution to me, as long as confidentiality of required-to-be-confidential data can be maintained. I’d personally like to see something more cloudlike and “open” even than what’s listed above–why not integrate Google Docs and have public HTML out there, as well?

Gdocs for communication is a good idea as well. I’d hate to rely on a coporate (albeit free) service. The advantage of Plone/Drupal/Wordpress is at least if you or I set it up we “own” that local instance and are in control of it’s destiny. But I do like the idea of plugging in Gdocs and things like that to a portal / communications system

My main thought is *sure* we all have people like that around the university…the thing is to find them. More often than not, you do what you can do with what you have. I think the training factor would be key. You don’t want people developing things for the wrong reasons or in a totally inappropriate way.

I agree. It’s very frustrating to know, that I am actively developing something that someone else is replicating 90% of the functionality of but in a different system or language. This would have to be a total change in course from the direction everyone is trending currently. Plug away at whats being done currently but start planning for the grand vision of what the diff. systems are and what each group’s role is in that in the future. Anyone that’s involved in the VMhost initiative knows the potential of a services based, pooled resource approach to solving common problems. I developed on our boxes and on VM boxes for a bit until we were able to transition over to it fully, this would have to be a similar process.

The greatest challenge, especially with Moodle and Drupal as a pair, is evolving into a new system where the disparate pieces are firmly entrenched in the users habits and workflows.

I have been working on a government education portal that has attempted to consolidate a number of systems, including Moodle, into a single Drupal platform. Developing LMS functionality directly in Drupal would be straightforward, albeit non-trivial, however replicating Moodle purely in Drupal leads to dissappointment for everyone involved.

Drupal Services module is what I hope is the key to the data sharing at least so that information flows nicely in / out. There would need to be a ton of UI / UX work to make sure the experience is seamless for the end user. Branding / consistency in naming would also have to happen.

Unification of theme or some theme component would be a big win for a federated system if it could do it. BUT, I think we put too much emphasis on the “students wont know where they are” agrument. We currently pass students between Angel and our Drupal environment and don’t hear complaints that they need to learn a new system. I think if we have enough people working towards the same goal of a new overall system that there would be some branding and naming things to keep people in scope.

Even some simple things like elms-content.psu.edu vs elms-studio.psu.edu (totally ficticious) would be enough I think.

Another advantage I forgot to list here.. if 1 system goes down, the others are still up. Less fear of having to throttle different feature sets within 1 system for overall stability during heavy system load.

I think we’re going to have to start meeting up with all the tweeples 🙂

Bryan:
Drupal is not the answer. Plone, WordPress, Moveable Type, Joomla, PHPNuke, Moodle, NOTEPAD is not the answer. We need to start looking at systems development based on a services and scalability perspective. No one system is going to solve that problem.

Daniel:
Hello Bryan — I just ran across this posting and I agree with you that no one system can do it all anymore (if it ever could). I speak to that in my new blog — “Learning Ecosystems”. I note the following on my front page of the blog:

The purpose of this blog is to continue the dialog about how we can take advantage of the rapid technological changes that we are experiencing today (and in the future) in order to significantly enhance what we can achieve within our educational systems. It’s not just about selecting and using the right content management system (CMS) or implementing a small handful of tools anymore — we need a thriving, growing, up-to-date learning ecosystem in order to navigate today’s various/relevant/rapidly-changing environments.

This is starting to sound to me like where I think we should head w/ higher ed apps — good standards/APIs for the glue that can hold together whichever apps want to play. I like the idea of being able to plug in whatever app makes sense to a campus or instructor.

IMHO, when it comes down to it, there are only a few things you need to “manage” a course: a course roster, a syllabus, some method of distributing materials or announcements, and some kind of grading system. All the rest are just interactions that will change based on the needs of the course.

I’m not sure it would be a lot of fun to put together some kind of specification, but the results could be pretty awesome.

ha. at least from the Drupal side of things the Services module will help with consistent / secure communication standards. I’ll be releasing some diagrams and what not that have been kicked around to visualize these ideas a bit more from a management perspective.

It sickens me to think of how many resources we’re wasting doing very similar things all over the place. Or, even worse, shouting down ideas / systems because they aren’t the end-all Walmart of LMS / CMSs.

Hopefully this discussion keeps going, I’m glad to see so many people (twitter: @btopro) are so passionate about this topic. Once again like the consortium idea I talked about at DC Wisconsin it’s about adopting a similar philosophy to system / learning design so that we can at least talk the same language. Your setup / efforts might not directly translate to mine at a code level but we can share features we have about how our technology solutions were implemented.

What almost seems needed is a project that’s *not* a project. Not a platform/system. Have the discussion around how to agree upon transmission methods…enable people with tools to help with developing those services….and then everybody goes around like mad enabling all these platforms with that one goal in mind…to allow that communication to happen in a consistent/dependable way.

What you describe sounds like the classical conflict between the assembled ‘best-of-breed’ solution approach versus integrated ‘does everything’ solution approach. The concept of creating an assembled ‘best-of-breed’ solution, combined with the historic Unix principle of creating small, well designed and implemented tools that can talk to each other has clear advantages.

I would add that this is not a problem that is limited to the academic environment. These same issues are and will be challenging the business sector as well. A solution approach like this would have strong appeal to the business sector as long as the flexibility for both academic learning models and business learning models is baked into the approach.
—
Joe Kyle
–jjkd–

Agreed. This has been happening in an ad-hoc manner for years (I’m thinking everything from wiki sites set up on school servers to second life). It would be nice to have an authentication system that supported it.

Right now professors who find technology that doesn’t fit into the supported authentication system just give a secondary username+password to students (if they bother with any authentication) – not the most efficient mechanism, and potentially not FERPA compliant.

I think Drupal is the answer to a lot of behind the scenes types of stuff (love the modules for data sharing, love the schema at a low level) but it’s definitely not an LMS. It’s not the best blogging software, it’s not pretty (til D7 drops 🙂 ), and it’s not for everyone as we’ve found.

I think Drupal plays a role, and a big role, in this kind of future but it isn’t the only solution.

Can I marry you? JK. I’m already married. But what crazy karma that you posted this today. Wow. Our University system is so Fd up, so cobbled up with so many systems used by all the different depts, so much duplication, so much manual entry because the systems can’t talk to each other….
And I am supposed to fix this in 6 week or less!?! Ya right. But you (and your loyal followers) bring up just the right points so I’m making sure I’m not missing something AND giving me better language at which to frame my arguments.
Thank you!

I completely agree with your strategy here. As others have mentioned, the first issue is implementation. Second, you have various levels and sizes of schools that all need something different.

I also don’t think it’s terrible to have a “Lite” version of certain LMS features available in Drupal (or a CMS that doesn’t quite fit the bill for that particular option). I’m running into this dilemma with a K-8 school site, where nearly everything they want to run now can be done in Drupal, but down the road, they do plan to add more classroom/course/data management. They’ve looked at a lot of vendors that house everything under one roof, and while some of the functionality is good, some of it is not. And of course, none of the other vendors offer open source solutions.

My last thought is that sometimes, you just have to build what you know at any given time. Trying to scale to accommodate even 95 percent of school “solutions” will create unique scenarios in almost every situation. And by the time you’re finished building a few solutions, there are new options available anyway.