Building An E-Course with Wordpress & Thesis
So I bravely delved into the options, peering under the hood and kicking the tires of Joomla, Moodle, Drupal and several other systems I’ve since forgotten about. I wound up back with my trusty old Wordpress. Why? Well, sure, it’s free… but more importantly I knew the system, knew how it easy it is to work with, and that WP’s popularity means tons of community support and plugins for almost any purpose.
But I had two problems:
- Wordpress is set up for publishing online journals; new posts are arranged by date. It’s not the best way for organizing an e-course, and I was worried about a clumsy system of tags, categories and archive pages to try and set up course modules.
- Few Wordpress themes are well suited to e-Learning in general; I needed something attractive, simple and intuitive rather than attention-grabbing. I was less concerned with ad space, more concerned with keeping focus on the content.Additionally, a large part of my target market is older, and potentially less computer literate. I needed an uncluttered, easy to understand theme that would be easy to zoom in on, regardless of browser. Most themes just didn’t handle that well.
The solutions? Here’s what I wound up with…
The Thesis Solution
The Thesis Wordpress theme framework may seem obvious now, but when I first started building my course, egads… I was about to pull my hair out! Chris Pearson saved me from baldness with the timely release of Thesis. It really did solve all of my problems.
The setup and typography of the theme is done with EMs, which means it it enlarges *perfectly* even on older versions of IE and Firefox, and works well no matter how the screen resolution is set. It’s very clean, both visually and code wise, and it’s extremely customizable. You can make it look just about anyway you want it to – right, left or no sidebars, 1, 2 or 3 columns – pretty important with e-course development. Upgrading the theme will never overwrite custom code, so it really is a perfect solution for an e-course. I was thrilled.
Because I was working with an early release, I had to do a lot of fussing with code to get it to do what I wanted with the sidebars - but the current release will take care of that automatically through the Thesis dashboard.
Imagine my surprise when a few months after I bought Thesis for my Teaching-Sells inspired ecourse, I discovered that TeachingSell’s own Brian Clark was Chris’s business partner in the theme. It just seems TOO perfect of a fit, doesn’t it?
The Course Organization
After a lot of thinking and figuring, this is what I ended up with:
- The course lessons & materials are organized in pages and sub-pages.
- The traditional “blog post” system is used for course news – The new features&teasers option in Thesis will make this much more stylish.
- Under Settings>Reader Settings>Front page, I set the front page to a static page (in my case a bit of introductory text and rotating motivational quotes) and the “news” page for posts.
- Comments are disabled on all pages and posts, but a link to the relevant forum section will be included on the bottom of each page/post.
- I plan to use a separate Wordpress installation for sales/info/landing pages, meaning that I can just restrict the enitre e-course installation to members only, and that I don’t need complex membership levels and layers.
I’m still using Wordpress 2.6, so I haven’t tested any of these with the latest 2.7 release – but in theory, they should all be ok.
I decided that the best way to keep navigation smooth was to put the course listing in the sidebars, but I didn’t want it all cluttered – so I used Zelig Dropdown Pages to create a dropdown list of the main page for each course module – it’s a wonderfully customizable widget.
Using the related Zelig Dropdown Links widget, I created a dropdown list of resources and important pages that I didn’t want listed individually in the sidebars.
I installed the Samsarin PHP plugin (which allows you to use HTML or PHP code in a widget) and create a custom login/logout widget at the top of the sidebar.
The KB Advanced RSS widget lets me display the course news feed in the sidebar.
EmbedIt is an essential plugin for ecourse development… . it allows you to use custom HTML code in the content section, code that Wordpress’s editor often strips when entered directly out. Using EmbedIt makes embedding video, flash, sound files, and Articulate files into pages or posts much, much easier. It also allows you to do more custom formatting – I’ve used it to create some interactive mouse over graphic illustrations, for instance.
runPHP allows you to put PHP code within the content section of posts or pages, which is sometimes necessary for various sorts of content you’ll want (it works well with EmbedIt)
I‘m not using AMember or its alternatives yet, so I needed a simple way to restrict the site. In my case, the entire Wordpress installation is intended to be viewed by members only… I use a combination of the Members Only and Register Plus plugins to restrict viewers, provide a customized login page, and several other tricks.
But logging members into Wordpress creates another headache.. it directs them to the dashboard. So to send logged in members to the course front page I’m using the Login Stayput plugin. The home page for it seems to be down, but you can right click the link to download the .gz file: Login Stayput
(There’s some step by step explanations, including the plugin’s code, available here: http://wordpress.org/support/topic/201594 )
Several paid Membership plugins are available, and a couple have been released since I set the basics of my site up – it might be worth checking them out to see how well they suit your needs.
UPDATE: One problem with this method (and all of the Membership plugins I’ve found) is that they only protect Wordpress posts and pages- it doesn’t protect the audio, video, flash and Articulate files embedded in your WP Content. That means that if the URL gets distributed, anyone can access them.
Enter Drain Hole. This nifty plugin lets you protect your files, track downloads, and allow access according to Wordpress roles. The currently available versions only work with WP 2.7 (inspite of what the plugin homepage says). I haven’t fully tested it yet, so I can’t swear it will handle Articulate files, but it’s definitely a step in the right direction!
Misc. Other Stuff
- Contact Form 7 An easy to use contact form plugin that comes in really handy for support issues.
- Admin Management Xtended This one REALLY makes management of posts and pages much, much easier.
All of the above plugins work with WP 2.6 and Thesis…. they should work fine with 2.7, too.
Other potentially useful plugins that I haven’t yet tested:
I found these today while looking up other links – thought they might come in handy!
- Sidebar Login Creates a sidebar login widget (you could use this instead of custom code & the Samsarin plugin)
- My Page Order allows you to set the order of your pages more easily PageMash will do the same thing, with even more options.
- Page Restrict allows you to restrict all or some pages to registered users… with this, you might be able to use one Wordpress installation, and no fancy membership plugins. I havent checked it out enough yet, though.
- Tags4Page adds the ability to assign tags to pages, and therefore another way of organizing your material.
- Xavin’s List Subpages automatically creates a list of subpages on parent pages – useful for automatically creating lessons that consist of several different pages.
So. There you have it.
A heck of a lot of work went into figuring all of this out early last year, and I’m hoping I can save some of you a bit of extra work. TaDa!
Oh, and don’t forget your copy of Thesis!
Disclosure? Sure. I’m pleased to be an affiliate for Thesis & DIYThemes.
I’m also a member and affiliate for TeachingSells – though it tends to fill up so fast it hardly matters!