cc licensed ( BY NC ) flickr photo shared by Thomas Hawk
The “syndication bus” is the Groomian term for the use of RSS aggregation technology that allows a class/community to run as both a hub and a decentralized network of blogs- individuals publish in their own space. The class or central site exists to subscribe to RSS feeds from those blogs to republish them in aggregate form.
This is carried out at big scales in ds106 using WordPress and the Feedwordpress plugin. I’m working with Alec Couros to put FeedWordpress into play as both a blog hub and a twitter archiver for his ETMOOC which starts next week.
Conceptually, what we have done with WordPress is the same that is done for many of the Connectivist MOOCs powered by Stephen Downse’s gRSSHopper.
But it comes into play at smaller scales as well -many classes on UMW Blogs are run via the same model- students blog in their own space, what they blog is pulled to the class site.
This was a long-winded way to introduce a writeup for another class sized bus I worked on in September. Nancy White approached us about helping with a class she was co-teaching for a university in the Netherlands — and they were interested in “a bus”. Since I was spinning out on my own, I took it on as a development project (and any chance you get to work with Nancy, do not hesitate to say yes).
She recently wrote her massive (in terms of blog post!) reflection on the course and mentioned the technology pieces I worked on– and this prompted me to write this up just so I can remember.
The class is part of the Design Engineering Program at The Hague University of Applied Sciences and was a first effort to run a course outside the walls of an LMS. As Nancy paraphrased the course’s purpose:
My shorthand is that the course was an exploration about how online communities and networks can be part of a designers practice. When and how can these forms be of strategic use?
And of course who could better do that then Nancy?
Part of the design they wanted was having students do reflective blogging in their own space, and having a ds106 like place where the students work was brought together. At that time, we were just getting our Fall 2012 students started setting up their ds106 blogs, and it occurred to me for te kind of reflection these students would be doing, it would be a lot of overhead to have them take on a full fledged blogging platform.
Maybe I did not want to tutor 60 students in WordPress 😉 but I pitched the idea of using a platform that was easier to author in and bends itself to media– tumblr. Since tumblr provides RSS feeds (though their updates can lag like 12 hours) it works as a platform we could syndicate into a hub WordPress site.
We ran the WordPress site in the shared hosting of Hippie Hosting. After a bit of theme shopping, I settled on the Responsive Theme because it was clean, and I like more and more the approach of responsive themes to adjust themselves to different screen sizes.
I set up a brief tumblr guide to cover the basics
The ultimate class site (still available at http://projectcommunity.info/) looks like:
That leading video worked well as they planned to have an introductory video each week (I believe done in Google Hangouts archived to Youtube).
The students were put into 9 groups for working together; and 1 or 2 groups where associated with five different themes of the course. What this meant for Feedwordpress, is that for each student RSS Feed added, I would set Feedwordpress to add a group category to each feed, as well as a theme category.
These means on the site, we could generate a tag archive for all the blog posts in one group, e.g.group 7, but also pull all blog posts that were associated with a theme, e.g. Support Raising.
So there is a design decision when setting up feedwordpress how to handle incoming tags and categories attached to the external blogs. My current approach is to convert all of these to wordpress tags, so they are descriptive of the original blog posts- that way I can attach categories I need internally to organize content, and not have the site organizing taxonomy intersect with the user supplied ones (we do the apposite on ds106, all incoming categories and tags are made into categories, and we add site tags to organize).
To organize the feeds, I fell to setting up a google form for the students to sign up and share their tumblr sites, and I manually matched each student to their pre-assigned group (and hence theme). Not the most automated, but it worked, and I added subscriptions for 60 some tumblr blogs.
Another decision point was making the choice to set the comments to be done on the class Site. In ds106 we like it better when comments are distributed, but with tumblr commenting is not even built in; enabling it involves integrating with disqus.
Besides, the instructors (and I too) aw it as better to have the comments managed at the class blog. I got the idea to hack the template (actually made a child theme as I do all the time now) with some code to add a line of attribution to the original tumblr blog. As Martha Burtis deftly noticed, there is actually an add-on for Feedwordpress that does this more elegantly – I use this now on all FWP projects I do (it has been added to ds106 as well).
The bus ran smoothly from start to finish. It aggregated 576 blogposts from 54 students, and another 90 posts from the 5 faculty.
I learned a lot of new useful plugins on this project:
- Better WordPress Recent Comments to make a comments widget on the front page that could be paged through via ajax.
- Display widgets is super handy to set a particular widget to appear (or not) on particular pages or category archives. This allows you to have different widgets as needed, and not be so tied to one commons sidebar everywhere.
- Hierarchical Pages provides shortcodes for automatically creating a tree structure if you set up pages to have a hierarchy (used here for the syllabus) – so as pages were added each week to the syllabus page structure, the shortcodes would generate a list that reflects those new pages
- Q2W3 Post Order to simulate sticky pages behavior on category archives (sticky only works on the home page)- we wanted a particular blog post to always be at the top of the themes pages as an introduction.
- Search Everything extends the wordpress search to go beyond pages and posts; i used it to extend to comments and comment authors. Very useful plugin.
- Top 10 adds a view count to each post.
- WordPress Backup to Dropbox because everyone knows to backup their site, right? I like the flexibility of doing backups to my drop box.
- WP Category Post List Widget Not sure why this is not a built in widget, it creates a list of posts in a category. I used it on the front page to show the posts from one group as well as sidebars internally for each group or theme.
- YouTube Channel makes a widget to put, in our case, a Youtube widget that randomly displays one video from the classes YouTube channel.
Probably about 35% of the present site functionality was not there from the start, there was a lot of building the airplane as we flew it and responding to student questions and feedback.
I learned a ton in doing this, and am armed now with what is needed to do a custom aggregation site for almost any class, group, or project. The bus is totally the way to combine the best of the distributed network where people own their ideas and content, but you can pull them together and re-cast them needed via something as old (and dead?) as RSS.
If you want this kind of setup… well it is a future blog post (once I build my consulting site) but I AM AVAILABLE.
If you are not on the syndication bus, you are not riding the waves.
UPDATE Jan 10, 2013 The Jetpack plugin collected site stata and generated a prett report on the site activity http://jetpack.me/annual-report/39185870/2012/
Hey, I finally got the student feedback and I posted it as a comment on my original blog post. I want to make sure you learn from my failures as well as those rare moments of coherence!