Just during last week, two well-known edublog spaces, Jim Groom’s UMW blogs and Alan Levine’s CodDogBlog (both WP-based) experienced serious hiccups and in case of UMW blogs serious downtime. There are many to blame, from mindless spammers to the mighty Google, but in the nutshell, problem seems to be the nature of how we use WP in general: our small pieces became one giant does-it-all piece with many loose holes that all the bad guys (viagra/casino/porn) and good guys (google and similar bots) so vigorously exploit.
In the next couple of posts, I will try to go through our experiences with running WordPress in larger institution; here is the preview:
- scope (what we offer):
Delete and forget about WP themes and base your offer on templates: blog, course, website, community portal, project management space, resource repository, rss aggregate, event calendar, research space, photo gallery…
- signups and user management:
Implement campus’ single-sign-on authentication, and write plugins to connect to campus student information system to download students to course blogs. One of the biggest time-consuming tasks with large user base systems is the user management and account creation and you want to automate this as much as possible.
- development framework and system maintenance:
VMs, SVNs and Backups – your university IT department is your friend. Hang out with these guys and revisit your statements on cheap and dirty if you want to last. Development, Verification and Production server – you gotta have all three. In sync. Often looks like mission impossible but it is actually doable.
- typical development tasks
Based on our experience, these are the typical tasks in WP development that require framework mentioned in the previous bullet – you don’t want to try any of these on your production server:
- Major Content/Architectural changes – your client will ask you to shift few hundred pages around. This is the case primarily with WP-based websites mostly
- Look and Feel work – you have to change all your typography, headers and footers and rewrite all your CSS files because campus decided to update their look and feel.
- Plug-ins development – Make sure that your development environment is exactly the same as your production one or you are up for nasty surprises.
- Back-end upgrades – Your LAMP, your WP core needs to stay upto date.
- Migrations – We did migrate few hundred MovableType blogs to WP and survived.
- buy-in, support and training
Don’t count on your edupunk coolness. You are here to provide good service and support.
- searching and reporting
It is often pain in the butt and slows down the servers but it also gives a lot in return. Any WP coding that stores content in custom fields will not be indexed by WP itself so just use Google search instead. And after using Google analytics you can’t use any other tool. Also make sure to be able to report on number of blogs (and their types) and users at any time.
- new requests
Say no. They are typically unreasonable, otherwise plugins would be already written. If you hear it 1000 times than you might want to consider it. Clients are usually wrong.