Archive for the ‘syndication bus’ Category

WPMu as OCW Platform….a solution?

Friday, July 3rd, 2009

David Wiley just blogged about using WPMu as an OCW solution, and one of the issues he is running into is directory structure. What he wants is each department to have its own parent blog, and then child blogs within each department space. For example: http://ocw.byu.edu/math (a department blog) and http://ocw.byu.edu/math/math101 (as a blog within the department blog). I’ve been thinking about this, and Multi-Site Manager won’t work, it would be a clean solution, but as far as I can tell it will only map new domains onto an existing WPMu install, and it won’t allow you to install a series of sites at the sub-directory level. In other words, you can’t map a site http://ocw.by.edu/math or http://ocw.by.edu/physics and then create individual blogs within each of these departmental sites. (Am I wrong? Is there a way around this with multi-site manage plugin?—cause that would certainly be the most elegant solution.)

Now, I got to thinking about another way at this (obviously David and I have been talking about this for a bit :)   ), and I think I have come up with a fairly simple solution using the ever powerful syndication bus. So, here is my idea:

You create the departmental sites at http://ocw.byu.edu/mathhttp://ocw.byu.edu/physics, etc. And you still let people create the course/content blogs at http://ocw.byu.edu/math101 or http://ocw.byu.edu/physics101. Not a solution, right? Well no, not on its own, but if when people created a new OCW blog they could select the department and course from a drop down menu, and automatically create  two default categories for the blog being created which all posts were filed under, with this setup you could simply place one sitewide feed into FeedWordPress for each über departmental blog. So, to bring all the posts from any individual math course blog into the departmental blog, you would place this feed http://ocw.byu.edu/tags/category/math/fe… (this is using the sitewide tag pages plugin) into FeedWordPress on the Math department blog. Now, since every post is not only categorized with the department name (math) but also the course (math101) you can use  a simple plugin like Top Level Categories on the departmental site to hide the category part of a WordPress URL. Now, given that during the creation of each course blog it was give two default categories—the department (math) and the course identifier (math101)—after the posts were feed into the departmental blog  you would have a unique URL for every post categorized with math101. And, with the Top Level Categories plugin what would have been http://ocw.byu.edu/math/category/math101 would now read  http://ocw.byu.edu/math/math101. And there is one way at David’s issue.

Now, given that the site will most likely be consistently themed, you can make the category pages look exactly like a blog, so the difference will be negligible. The real trick is adding default categories upon the creation of each course  blog (i.e. math and math101). The benefit of this approach is that it affords you some powerful ways of  exposing content on a blog-by-blog basis for departments, but even more important it will keep you from creating a new wpmu install for each department—which would be an administrative nightmare and occlude the possibilities for a sitewide searchable archive (which with one WPMu install you can have with the sitewide tag pages plugin).

So, I think you’d only need to develop one plugin that used a dropdown menu at the point of blog creation to specify the department the blog was for and another that created a default category based on the subdirectory url for that blog, i.e. math101. (Now thinking about that the profile fields in BuddyPress, you may even make this a much simpler hack, not even a plugin.)

2) If you were able to create the above two default categories for each new blog based on department and course number, then you could simplly add the following feed to each department blog: http://ocw.byu.edu/tags/category/math/fe… (using sitewide tag pages plugin) and every post in the math category will be fed into the http://ocw.byu.edu/math blog and given that the additional category math101 has been created as a default at signup (and the top-level-cat.php plugin is hiding the category portion of the url) you can find every relevant post for math101 here: http://ocw.byu.edu/math/math101

Genius!, If I do say so myself, it would need a little hack, not at all difficult—and damn it I think it would work. But there may very well be an easier way I am missing, and I know the Drupal folks can think of a million reasons to do it in Drupal, and they may be right. But here is my hack solution. And if you get that working, you can then use Tony Hirst’s WP OpenLearn plugins for WPMu that allow you to time-release feeds, as it were.

I don’t know, what do you think? I know my description is unclear, but does it make any sense? :)

Building the Syndication Bus: Plugin Ingredients

Saturday, May 9th, 2009

Image of a Revolution BusWhile at Duke, UVA, and more recently the University de Mayaguez—I’ll post about that event as soon as I finish traveling—the most common question people had for me was how can they design/build the “Syndication Bus” for WPMu. Well, this is probably a multi-post affair, but to get the ball rolling and to do what I told a number of folks I would, here are a few essential plugins (if other folks have others they are using let me know):

A List of Key Plugins on UMW Blogs for building the Syndication Bus with WPMu

  • FeedWordPress: This is a plugin which republishes feeds from just about anything with RSS. This plugin has been key to creating the syndication hub, and with Andre Malan’s Add Link widget (linked to below), we can now place a field in the sidebar so that authorized users can simply add the URL of their site to a course blog now matter where they publish from.
  • Sitewide Tag Pages Plugin: This plugin creates an über-blog that brings in all the posts (along with tags, categories, etc.), which allows you create tag or category feeds across the entire environment. This plugin enables the tag and category based feeds which allow individuals to syndicate out selected posts from their own publishing space while leaving others untouched.
  • Add Link This widget allows you to place a text field in the sidebar so that a feed URL can immediately be added to any blog (which can be hosted anywhere). Think of it as self-service feed addition, taking the labor out of setting up the aggregation.
  • Add User: This widget, again by Andre Malan, allows users you have a username on UMW Blogs can add themselves to any blog as an author that has this widget activated. Think if it as self-service author addition, taking the labor out of setting up the space.*

*This one isn’t actually essential, but I find it extremely useful for group blogs so I figured I would throw it in—god I love Andre Malan!

Image credit: Revolution by Lawrence Whittemore