Sep
23
Ingesting Open Content into a Course Blogsite
Filed under: general. Tags: education, opencontent, openlearn, plugins, wordpress. | 5 Comments
One of the use-cases for UCalgaryBlogs.ca is for a class to integrate external resources such as OpenLearn courses, or potentially anything that has an RSS feed, to be ingested into the class blogsite. Currently, there are 2 scenarios possible for doing this, each with their own specific benefits, but neither quite matching what I think would make for a more powerful way to contextualize these external resources within the activities of a course.
With the VERY sweet OpenLearn Republisher plugin, you can set up a set of Sources (courses on OpenLearn, etc…) to be pulled into an installation of WordPress Multiuser. The OpenLearn plugin creates a new blog for each Source, and sucks down all items in the provided RSS feed into that blog, and creates blog Posts for each item.
The benefit of this is a set of centralized blog sites for each course, which could be shared across multiple courses. But that’s also the big downside of this model - what if you want to contextualize the content differently for each course that’s using it? If you didn’t want to do that, why not just use the online OpenLearn hosted version of the course?
With FeedWordPress (or wp-o-matic) you can pull RSS feeds into a single course blogsite, and all items will be published as blog Posts within that site. Categories can be set up and inherited to help organize the imported content.
But, if the activity of the course takes place as blog Posts, it becomes mixed in with any content imported from the external resources. Conversation and content become merged.
Ideally, a course blogsite would use the Pages feature to manage “content” - the stuff the conversations refer to - and use the blog Posts for the activity and conversation of the course. As such, I think it would be more effective to have the content from external resources be ingested into a blogsite as Pages, created within the hierarchy of pages (select a parent page, and a full table of contents structure is generated as needed).
I’m not sure if that’s possible now with the available tools, but I think we’re getting REALLY close to a powerful open content contextualization platform - ingesting prepared resources for use within the spatial and temporal contexts of a course.
Ideally, the power and features of OpenLearn Republisher, with the ability to designate the “host” blog for the ingested content (or have it create new blogsites as needed), and to create Pages rather than Posts. It’s VERY close, and it’s got the potential to change how people interact with (open) content.
Sep
22
why I’m so proud of UCalgaryBlogs.ca
Filed under: general. Tags: ucalgaryblogs.ca, wordpress. | 6 Comments
I wasn’t convinced that we needed a “campus blogging platform” here at UCalgary. I’d tried to set up one before, at weblogs.ucalgary.ca , and watched it basically wither on the vine for 3 years. Little activity, except in small bursts when used in a class. Almost no individual involvement or ownership. Not interesting or relevant to anyone.
I’d decided that a “campus blogging platform” was the wrong tack. Why not just send people to other services that provide the software, for free. Services like wordpress.com or edublogs.org or blogger.com or typepad.com etc… They all provide the functionality, hosting, and support, without any intervention by a “campus”.
And then, in conversations with people whom I deeply respect, it was pointed out that there are, in fact, good reasons for having the publishing platform managed by the University.
- community - if everyone has access to the same tool(s) they can build on each other’s work more easily
- support - again, if people are using a common set of tool(s) it’s much easier and more effective for us to provide support and strategies for integrating those tools into the activities of teaching and learning
- ownership - if the platform is hosted by the University, we can guarantee that no corporate entity is going to take it over and change the rules of the game. The license can’t change. The fees can’t go up. Ads can’t find their way onto the blogs…
- safety - this one is twofold -
- we need to be able to provide private blogs, where students and faculty can publish content to be seen only to a given audience. This is harder (if not impossible) on services hosted by other organizations.
- non-US servers. This sounds odd, but if we’re going to be compelling our students to publish anything, we can’t force them to use services hosted in the States, due to implications of DMCA and Patriot Acts. We need to provide a service that’s hosted in Canada, and since there really isn’t a big blogging service hosted up here, we need to host our own on campus.
So, taking those into consideration, it became obvious that we needed a great blogging platform to be available on campus. And that weblogs.ucalgary.ca wasn’t it. Following in the footsteps of several others, I grabbed a copy of WordPress Multiuser, and installed it on our IT-hosted virtual machine server. I registered ucalgaryblogs.ca - I wanted to use a non ucalgary.ca domain name to avoid issues relating to “quality” of content, as well as “branding” of the website. People need to be able to write anything, and not have the constraints of having to live within the official UCalgary design template.
We set up DNS wildcarding, so people could have their own blog subdomains such as dlnorman.ucalgaryblogs.ca and installed the Domains plugin so people could also use the service for their own custom domains.
And then, I slowly started telling people about it. I didn’t expect much to happen, as it was a stealth project. But, pretty much every person that got their hands on it said it was exactly what they needed. They wanted their students to be free to publish, in their own spaces, without the limitations of Blackboard’s discussion board.
Faculty appeared to be getting on board, and judging from the activity, students were getting into it as well - at least they weren’t rebelling too loudly.
For a portion of Friday afternoon last week, students published 76 blog posts within one hour. We’ve now got 127 users in the system, publishing to 79 blogs (73 of which are public).
That doesn’t sound like much, but for a stealth project with no budget, we’ve been able to help over 100 people publish content, with over 1000 blog posts published so far, since the service started getting use in September. That ain’t half bad ![]()
Sep
9
how I upgrade WordPress
Filed under: general. Tags: howto, screencast, upgrade, wordpress. | 17 Comments
I mentioned this morning on Twitter that it took me maybe 30 seconds to upgrade my blog to the latest WordPress release. I thought it might be handy to show how I do it. I’m not sure if this follows best practices, and it might be a good idea to back stuff up before upgrading, but this process has served me well for the last several versions, and it’s just so quick and painless that upgrading is trivial.
Sep
8
Batch adding users to a WordPress site
Filed under: work. Tags: howto, ucalgaryblogs.ca, wordpress, wpmu. | 4 Comments
I’m working with a faculty member who is using a WordPress with his students this semester as a place for them to publish and reflect as a group. To make things easier for everyone involved, it’s a good idea to batch create user accounts for the students so they don’t have to go through that process (it’s easy, but every step avoided means people are more comfortable and less aggravated with a service).
Do support that batch creation of users, I installed the “Import Users Plugin” which, surprisingly, provides a way to import users into a site. All you need to provide is a username and email address for each student and it will create the account, generate a password, assign the specified user Role, and send an email to the student so they can login. It doesn’t create blogs for each student, but for our current use-case, it’s ideal - adding users to a single blog in a WordPress Multiuser service.
If you need to batch create a bunch of users, first enable the “Dagon Design Import Users” plugin on your blog, then follow these instructions:
The list of users could be pulled from Blackboard or Peoplesoft, but needs to be reformatted into
username|email address
structure so the plugin can make use of it.
Sep
2
upgraded ucalgaryblogs.ca to wpmu 2.6.1
Filed under: work. Tags: ucalgaryblogs.ca, wordpress, wpmu. | 1 Comment
Donncha pushed the WPMU 2.6.1 update live today, and it’s a required upgrade for security reasons. I just wanted to post that I’ve upgraded ucalgaryblogs.ca to WPMU 2.6.1 and everything appears fine. It took all of 2 minutes to do, too.
Here’s my process:
- back stuff up.
- login to the server via ssh
- download WPMU 2.6.1 into ~/temp, and unzip it.
cd ~/temp wget http://mu.wordpress.org/latest.zip unzip latest.zip - delete the wp-content directory in the freshly downloaded copy of WPMU 2.6.1 - I do this so I don’t accidentally overwrite any customized themes, or nuke anything in mu-plugins or plugins…
rm -R wordpress-mu-2.6.1/wp-content - copy the fresh copy of WPMU over top of the existing one in the web directory
cp -R wordpress-mu-2.6.1/* ~/webdata/ucalgaryblogs.ca/ - run the WPMU upgrade site script to run any necessary updates (I don’t think there were any database updates, but it’s probably a good idea to run it anyway). This will automatically run the script on each blog installed on that copy of WPMU.
- done. test some blogs to make sure stuff is working fine.
Sep
2
User Avatar Photos in WordPress
Filed under: work. Tags: avatar, plugin, ucalgaryblogs.ca, wordpress. | 3 Comments
WordPress has supported Gravatars for awhile, which is great, but if you’re rolling out a site for a bunch of students to hammer on, it’s not ideal to have to send them to a third party service to set up photos. It’s awkward, and confusing, for new users to have to go somewhere else to add a photo to their profile. And profile photos can be very useful, especially at the beginning of a semester when everyone is just getting to know everyone else in a class, to put a face to a name.
So, for UCalgaryBlogs.ca, I just installed the handy User Photo plugin. Now, any site can enable this, and the users of that site will be able to add photos to their profiles, like this:
The plugin can be configured with custom sizes for the full-size and thumb versions of the avatar, and the avatar image can be deleted and/or replaced at any time.
It’s not completely trivial to enable - because the themes need to be User Photo aware. That’s pretty easy to add, though. For the cutline theme we’re using on a project, I edited a handful of files to add the code, and it works great. On index.php, and single.php, just add this wherever you want the blog author’s photo to be displayed on the post (I put it in the section displaying the post meta information):
<?php if (function_exists('userphoto_the_author_thumbnail')) { userphoto_the_author_thumbnail();}?>
Wrapping the thumbnail display code in a function_exists conditional means it will degrade nicely if the plugin is unavailable. Always a good thing to degrade instead of borking.
That results in this display when viewing the post:
Now, if you also want to show avatars on the comments, just edit comments.php to add this code (I put it in the comment meta info section):
<?php if (function_exists('userphoto_comment_author_thumbnail')) { userphoto_comment_author_thumbnail();}?>
And that will look like this when displayed on the blog:
If a user hasn’t added an avatar, it won’t display any image. But if they do have one, they’ll get the properly sized version of their avatar image displayed automatically. Easy peasy. It’s a bit awkward having to edit the themes, but it’s not difficult. The hard part will be remembering to re-apply the edits if the themes get updated (hence this post…)
Aug
28
Syndicating and republishing decentralized content with WordPress
Filed under: fun, work. Tags: feedwordpress, ucalgary, wordpress. | 5 Comments
I was going to write up a post describing how to use the cool FeedWordPress plugin for WordPress to syndicate external content into a blog, and republish it in the context of a class or group. But, of course, Jim Groom has beaten me to the punch, and done a much more thorough job of documenting the process than I would/could have done. So, yet again, I’ll just refer to Jim’s work. What I can do is provide a demonstrating workflow to show how FeedWordPress could be used to pull content from one blog into others in the context of a group, project, or class.
Take, for instance, this post I wrote back in July about the Learning Community for Blogging and Student Publishing. It’s published to my blog, and stored in my own outboard brain. But it’s not presented in the context of the University of Calgary.
What about my campus blog at dlnorman.ucalgaryblogs.ca? Should I copy and paste the post there, because it relates to UCalgary? Nope. I’ve just enabled FeedWordPress on that blog, and anything I publish to my “main” blog using the tag “ucalgary” will automatically get republished on my campus blog.
What about the Learning Communities blog? That post would also be useful to the participants in the project, and I’m not about to expect or compel them all to subscribe to my blog. So I just configured FeedWordPress to pull the “learning communities” feed from my “main” blog and republish posts to the Learning Communities blog.
This gives some pretty easy flexibility - I don’t have to manually republish things into various community resources, and I don’t have to make anyone subscribe to anything they don’t want to. If a one-stop-shopping type of resource is useful for a community (class, group, department, etc…) then why break that? Just use syndication and republishing to get the best of both worlds - decentralized publishing and centralized contextualization.
This process also gets around the hassle and confusion of republishing content. I’ve never wanted to publish to any place other than my own blog. I’ve never accepted invitations to write for other blogs. If I want to write something, I’ll publish to my blog. But, with automated syndication and republishing via tag-based feeds, it becomes trivial to allow content to flow into various other blogs and websites where it might be beneficial.
There is one wrinkle in the love fest that is FeedWordPress. Although it can suck categories and tags from items in an RSS feed and put them into categories in the receiving WordPress blog - it doesn’t currently create tags. It just adds category after category after category. Which works, but is messy. Hopefully a future revision of the plugin properly groks the category/tags distinction…
Finally, this post is tagged with “ucalgary” but not “learning communities” so I know it will automagically appear on my campus blog, but not the Learning Communities project blog. And I won’t have to do anything else to make that happen. Very cool stuff.
Aug
26
trying the latest wp-mollom
Filed under: general. Tags: mollom, spam, wordpress. | 7 Comments
I just upgraded to wp-mollom 0.6.0 and it has a bunch of additions and fixes. If anyone has problems with it, please let me know asap.
Aug
18
WPMU Tweakage for ucalgaryblogs.ca - Part 1
Filed under: general. Tags: ucalgaryblogs.ca, wordpress, wpmu. | 1 Comment
I said I’d share what I’ve done in setting up ucalgaryblogs.ca, and instead of waiting for The Mother of All Blog Posts, I’m going to break it up into a few parts. In Part 1, I’ll talk about some of the mu-plugins I added. Some are really cool, some are just shiny…
Basically, start with a fresh copy of WordPress Multiuser. I’m running 2.6 on ucalgaryblogs.ca. Then, add the following bits into the wp-content/mu-plugins directory.
List-All
A great plugin that provides an extra tag to embed on pages to list all blogs in a WPMU installation. Good for a blog service directory..
MU-Admin-Bar
Adds a bar to the top of every page of every blog, similar to WordPress.com, to make it easy to manage a site and log into the service.
WordPress MU Sitewide Tags Pages
Donncha’s awesome plugin to essentially aggregate every blog into a single überblog so archives and tag clouds can be shared. At first, I thought this was a silly way to do it - Drupal could have easily just displayed tag clouds and archives with no pre-aggregation, but it works, and it works very well.
Sitewide Feed
Generates combined feeds for all posts, comments, and pages posted to the WPMU service. Makes it easy to keep up to date on all activity. I’m guessing/hoping this will become essentially useless once the service takes off - I can’t imagine following hundreds of blogs/comments once they become active…
I’ve got a few more miscellaneous mu-plugins installed, but I may be yanking them as they’re really not critical and I want to keep the amount of loaded code down…
Next up: Part 2 - the “main” theme (including home page, sidebar, archives, tag cloud, etc…)
Aug
18
Pimping the WPMU for ucalgaryblogs.ca
Filed under: work. Tags: blogs, ucalgaryblogs.ca, wordpress, wpmu. | 7 Comments
I’ve been slowly tweaking the WPMU install that drives ucalgaryblogs.ca - it’s not quite ready for prime time, but it’s darned close.
It’s now got:
- multiple blogs per user, and multiple users per blog
- subdomain hosting for each blog (i.e., myblog.ucalgaryblogs.ca)
- domain mapping - want to use your own custom domain? want myblog.com to point to the blog you’ve got at myblog.ucalgaryblogs.ca? there’s a setting for that, and then you just have to tell me what domain you want me to tell the webserver to respond to.
- multilingual admin interface. English. French. Spanish. Chinese. Klingon. Well, I still haven’t found the Klingon.po file for WordPress, but once I do… *shakesfist*
- over 100 themes, most of which are customizable. Want a photoblog? Got it covered. Newsletter? Done. Research project? Sure thing.
- 500MB of upload space quota per user. This could be increased if needed.
- Sitewide tag cloud and archives - want to find out who else is writing about mitochondrial RNA? Just hit the tag…
- Blog directory listing all blogs in the system (currently, some test blogs, and the UC Dinos Football Blog! WOOHOO!)
- A handy-dandy blog manager bar at the top of all pages - if you’re logged in, it gives you easy access to anything you want to do. If you’re not logged in, it gives you an easy place to login from, from any page on the ucalgaryblogs.ca service.
- Lots of other great WordPress goodies, like podcast serving, editing from your iPhone or iPod Touch, great visual editor for posts (with spel chekker, too!) and collaborative blogs with multiple authors.
But, there are still a few things on my todo list before I consider it fully ready for prime time:
- Documentation. It helps if there’s some M to RTF. I’ll be linking and borrowing heavily from the great stuff already out there…
- A UCalgary theme (or themes) for sites that need to look all offishul ‘n junk.
- better antispam - I can’t use Akismet because I have a budget of $0.00, and SpamKarma2 is EOL. Maybe Mollom? It doesn’t play well with WPMU yet…
- hmm… actually, that’s pretty much it. once it goes live, it can be tweaked on the fly…
Once it’s been live for a bit, I’ll look at stuff like BuddyPress, integration with Flickr, integration with MediaWiki, and a bunch of other stuff. So far, it’s been fun setting up the service. Now to start rolling this sucker out…









