Skip to main content

I write at I write notes and make bookmarks at

Cloning a Docs Wordpress Site

3 min read

I've been helping a few different universities setup clones on the OU Docs site. I was doing some work for Middlebury College and they were asking for a documentation site. Ours was running, but just barely, on an instance of DokuWiki, so we went through some options of what to do:

Option 1: Transition to a flat file CMS. Pros: This could seemingly be forkable by any institution, especially if we used Jekyll has the CMS. But the downside is that it doesn't have the friendliness of a WYSIWIG editor.

Option 2: Transition to Wordpress. Pros: it's very easy to use and manage multiple users. Cons: Most of the better plugins were premium and we had a hard time finding an open source one.

We've opted for Wordpress and as long as the premium plugin is purchased, we can still share our data very easy. With a couple of really handy plugins we can also quickly convert mentions of the platform "OU Create"and URLs "" over to anything else.

Because Amy Collier allowed me to share what was built for MiddCreate, I've been able to help three other institutions stand up similar instances of documentation. It's certainly not a perfect model (I think in a perfect model there's a central documentation site into your bank a la federated wiki and they get auto-white labeled) but it's proved to be scalable enough. Below is a tutorial for how an exact replica of our site and custom tailor it to your institution.


1. Install Wordpress

2. Install the Sparkling Wordpress theme.

3. Install Documentor (a premium plugin). I've bought a multi license which gave me five sites for $35. Not too shabby.

4. Import an XML file containing all previous Docs. You can get this by going to a previous document site, going to Documentor > Manage and clicking Export (I'm always happy to share).

5. Create a page titled "Support" and change page template to full-width (no sidebar)

6. Add shortcode [documentor 1] to page and Publish.

7. Change front page to static page "Support".

8. Install Text Replace plugin

Add following code under Settings > Text Replace =>
middcreate => UNIVERSITY Create
MiddCreate => UNIVERSITY Create
Middlebury => UNIVERSITY =>

9. Install Velvet Blues Update URLs plugin

10. Go to Tools > Update URLs

11. Go to Appearance > Menu and add new menu with custom link that takes user back to home page

Creating Application Templates in Installatron

2 min read

If you're a Domain of One's Own campus on Reclaim Hosting, occasionally, you might want to create specific "custom" installs for specific courses or groups to give everyone a specific look or functionality.. Luckily, Installatron, the application installer Reclaim uses, makes this a really straightforward process--though it's limited to applications that are under the Content Management category (Wordpress, Drupal, Joomla, Omeka, etc.)

The first thing you'll want to do is login to your WHM on your server and install that specific application in any location. Next customize it to exactly how you would like it to appear on a fresh installation. Say, for instance, you are working with Wordpress. You can customize the theme, plugins, and even pages to your taste.

Once you've customized it, go back to Installatron and you'll notice a star button next to the site. Click it!

Next file out the form fields that will give your template a title and description:

Now when someone goes to install that application they'll see the template under the "version" portion of the application.

Installatron also allows you to activate/deactivate templates (check box below) as well as set the default installation (star below) in case you would rather have users get a template rather than a clean installation.

Customizing the Wordpress Installation in Installatron

3 min read

I got a question on how to customize the Wordpress packages inside of a Domain of One's Own instance so I thought I'd share how we do it. I recently wrote about how OU Create was "shipping with" so I understand why some folks are interested in curating themes and plugins for their specific community. We don't auto-install themes (mostly to keep Wordpress installations light and quick) but we do have a handful of different plugins, most of which are security recommendations such as Cookies for Comments. Anyways, to customize Installatron, you need to login to WHM, navigate to Installatron, and then head over to Customize:

Here is the custom code we have in that box:

What you can see is that there are three specific functions that one call call in order to activate plugins/themes (there's also some specific code for MediaWiki, which is basically a useless applications at its core, and requires several different plugins to even be worth your time--I'm ranting because I sort of despise of MediaWiki!)

The first is that you need to register the zip file, usually located in the Wordpress plugin/theme library, though it's not mandatory:

$this->registerArchive("hypothesis","", "zip");

Next, you'll want to install the plugin/theme into the correct directory:

$o->extract("hypothesis", "wp-content/plugins");

You'll want to change /plugins to /themes if it's a theme

Last, you'll want to decide whether you activate it or not. We have chosen to install but not activate it, allowing the user to make that decision. But in the event you want to activate it, you'll want to tack it on to this array:

>$o->db_query("UPDATE `{$o->db_prefix}options` SET `option_value`=? WHERE `option_name`='active_plugins' LIMIT 1",array( serialize(array("cookies-for-comments/cookies-for-comments.php","wordpress-importer/wordpress-importer.php","subscribe-to-comments/subscribe-to-comments.php")) ));

As I said earlier, I'm a fan of customized approaches for different community needs. My recommendation is to pick a few specific tools or looks for your community (I always recommend Anders Noren themes) but only pick a few. Otherwise you'll installation file size will jump and really bog down the server and make users unhappy.

It's also worth mentioning that at OU we are standing on the shoulders of giants as this code as been adapted from the University of Mary Washington's Domain of One's Own installation, which was coded by Tim Owens and Martha Burtis. We aren't anything without that team.

Quiz Cat: New Wordpress Plugin for Buzzfeed-like quizzes (could possibly be used to help students choose content as well)

Quick Medium-Like Card Styling For The Blog

3 min read

As much as I lament the idea of Medium becoming the sole publishing space for the web, I am also unapologetic in how much I love the look and feel of it. And it's no secret that I've tried to mimick the style on my own self-hosted blog to get the best of both worlds; the clean, readable, mobile first astethic of Medium with the portability of my own site. While the blog spent six months on the Jekyll platform and was hosted on Github, I started to really miss the ease of the Wordpress editor (which is, smartly, continuing to be improved on with the release of WP 4.5 yesterday).

As I was surfing Medium today, I noticed the subtleness of their card style:

For now, let's ignore the "Write here..." front-end editor which I ALSO love but warrants a different post. Notice that Medium has a very light gray background color (fafafa). In fact, their CSS has it coded as "backgroundGrayLightest." Then for the card box they use white with a very subtle dropshadow to make it pop out. What's nice about this styling is it's very transferrable. Most objects exist in some "card" form. It might not be a perfect shaped, but a webpage (usually) the sum of rectangles. This is good news because that means you can mimick this look with nearly any other, so I thought, "Why not?" and gave it a go on

Looking again at Medium's CSS, I was able to pull this styling on the card:


background: ;
box-shadow: 0 1px 4px rgba(0,0,0,.04);
border: 1px solid rgba(0,0,0,.09);
border-radius: 3px

This is all very standard CSS and very compatible. So that's good news. The next thing I did was to identify what box I want to add the background and shadow. I usually do this work backwards using Google Chrome's Inspect tool. You'll notice as I jog through the code Chrome will highlight all of these hidden boxes that make up my the webpage.


This allows me to quickly identify the equivalent box around post summarys in my custom WP theme as .blog-simple ul .entry-header and drop in the exact same styling Medium uses to get this:

And this kind of stuff is what I love about the web. As Jon Udell recently pointed out, this feature to look at the styling has been critical in the history of the web:

The original 1996 CSS spec, for example, recommended that browsers enable users to override publisher-defined style sheets. CSS recognized that the needs of publishers and readers are in dynamic tension. Publishers decide how they want readers to see their pages, but readers can decide differently.

As a reader, I can manipulate Medium's styling. By being able to look at it, I can learn from it or even change it within the browser if I choose.

This is simple stuff and I've been doing this kind of tossed together poor man's way of coding for a long time, but I never grow tired of it.The beauty and simplicity of the web brings out the primal in me.

Exporting from OU Create

1 min read

In my Create Promise blog post a couple weeks back, one of the pieces I said we would follow up on was documentation on leaving OU Create, our domain of one's own initiative.

To us, data portability is highly important. One of the bigger losses with institutional solutions is that students tend to lose access to them shortly after graduation. We want to make it clear that every piece of data from your domain, your CPanel, as well as the files and databases themselves, can be packed up and moved as you move. Additionally, Reclaim Hosting has made it "one-click" easy to simply transfer everything over to them allowing you to pay them directly. The good-and-wise John Stewart was helpful enough to write up some new documentation articles for us over on the OU Create docs:

We are also gearing up for end-of-year communication with students who will be graduating to make sure they are aware of all the options available to them. Last, we're open to suggestions on any new documentation articles that anybody thinks would be of value!