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.
- A Communications system. Forums, FAQs, Email, all that traditional communications management stuff
- 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’s no 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