I grossly, grandly, and greatly underestimated the development of a WordPress theme for a customizable version of the ds106 assignment bank — I want it to be very flexible, and am finding the creation of the admin screens for configuring it to be more complex than I expected.

Jim and I had planned a session today to let him see it in action; originally I hoped it would be in a place where he could install it on a new site, but alas…. we did a screen sharing demo on Google hangout, and talked a bit larger about building out the other parts of the machine for people to use to their own purposes.

The demo version is running and often completely broken at http://bank.ds106.us/

You can find previous posts on this project at http://cogdogblog.com/tag/building106. A key is that what you have in the bank need not be called “Assignments” – it could be “lessons” “Activities” “Recipes” “Boogers” – internally each of the equivalent of a ds106 Assignment is a “Thing” (and referenced as THINGNAME)

The name is dynamically generated everywhere on the siter, so it can be changed. The front of the site is a static page, which means you can write whatever intro, title you like — the numbers are generated by a shortcode- here is the content of the page:

There’s nothing like the smell of WordPress in the morning. In the bank are <strong>[thingcount]</strong> and within them <strong>[examplecount]</strong>.

As a page, you can set it in WordPress settings to be the front of the site, or you could have a normal blog, where this index is an interior page.

The part I have been slugging through is building out a Theme Options area of the dashboard, where I am building all the parts you can customize. This means diving into the WordPress Settings API which is frankly convoluted… I worked through 2 tutorials and flailed until I found Aliso The Geek’s Extended WordPress Settings API Tutorial.

I have been able to add a link to these options from inside the dashboard and hung it from the admin navbar as well

menu to options

The area I am creating has a tabbed interface, two of the items are settings, a third a place for documentation, and a nifty feature to revert the settings to default.

So Like I said you can change the “Thing Name” = these also show up internally as custom taxonomy tags for the “things”

(click image for full size)

(click image for full size)

The current “thing name” is “Challenge”, as we see on the front of the site too

front challenges

But in my theme options, we can change it to say, “Lesson”.

options lesson

When I save it, the front page (and many others) reflect this change of “thing name”

lessons front

but I am also able to have it update all of the taxonomy names (compare to the earlier screenshot)

things tag change

This fix took a lot of syntax checking, vardump(), and some amount of cussing.

And a lot of coffee.

The next part of the general settings allow you to customize the sizes of the item thumbnails n both index, archive pages, and single display pages.

thumbnail settings

There is also a place to set a default thumbnail… on my list is to figure out how to integrate the media uploader, so you can just drop it in like adding media to a post. I am close…

The last part of the general settings lets you indicate how examples will be added, an option to use Feed WordPress (like we do for ds106), and another option to enable a form where examples can be added directly. It also checks to see if Feed WordPress is installed.

(click for larger version)

(click for larger version)

At the bottom is a status indicating if the WP-PostRatings plugin is activated, this indicates a rating is used. There will be some documentation written to explain the extra settings you might configure for these plugins.

The next tab, will be the place you can define the “types” of things, the categories of items in the bank. I have it working to display what is there now (they have been manually entered by me for testing), but with a few more bits I should have it so you can edit the names and descriptions.

(click image to see full size image)

(click image to see full size image)

This needs a fair bit of work- each type will need a controller to upload an icon, and a field to list a FeedURL if the syndication is enabled.

It’s exciting to see it this far, I really want to get it ready for testing, but I need some more solid code time, which wont happen til I return from my travels November 9. I would like to think I can have it ready by December.

Jim and I brainstormed some other worthy ideas, ways a stand alone reader could be used (a google reader like aggregator, but also as Jim suggested, a more graphic one like the tumblr dashboard). I outlined what I thought could be done to make the Daily Create into a general template, and we also talked about some improvements for the inSPIRE site.

Having a set of these tools that could be used together or alone seems to be powerful. I’m keen to hear ways you might use any of these. I am hoping I can write a Shuttleworth Foundation application to fund some full time effort on both the development of these tools (and more ones) plus strategies for integrating into practice.

While this is taking me longer, I am pleased with the way it is turning out, and also with what I am learning the hard only way about programming in WordPress.

If this kind of stuff has value, please support me by tossing a one time PayPal kibble or monthly on Patreon
Become a patron at Patreon!
Profile Picture for CogDog The Blog
An early 90s builder of web stuff and blogging Alan Levine barks at CogDogBlog.com on web storytelling (#ds106 #4life), photography, bending WordPress, and serendipity in the infinite internet river. He thinks it's weird to write about himself in the third person. And he is 100% into the Fediverse (or tells himself so) Tooting as @cogdog@cosocial.ca


  1. I have a nascent & sketchy idea of using something like this for people to make and compile digital stories related to philosophy that could then be used in any course. Maybe getting students in several courses to create them, build a site with those, invite others to create. But not sure many ppl would do it. Still early days with thinking of how I might use something like this, but that’s one idea. Kind of an oer repository of digital stories having to do with philosophy.

  2. Alan do you think it’s in good enough shape to test on makercommons.org? I’ve been following your posts on this project and am really excited about it. Abstracting assignments.ds106.us is such a good idea and have imagined how it could be used in many other environments.

    projects.makercommons.org is what I think we’re envisioning.

Leave a Reply

Your email address will not be published. Required fields are marked *