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/math, http://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/feed (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/feed (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? 🙂