Nov
13
(2008)
UCalgaryBlogs.ca Redesign
Filed under: work. Tags: carrington, design, ucalgary, ucalgaryblogs.ca, wordpress, wpmu. | 2 Comments
I’ve been meaning to redesign the main site at UCalgaryBlogs.ca for awhile now - the Edublogs Clean theme isn’t intended to be dropped in as a stock theme, but as a starting point for hacking something tailor-made. The Edu-Clean theme is available as part of the fantastic Premium WPMUDev subscription - and it certainly helped me get UCalgaryBlogs.ca off the ground quickly.
Edu-Clean has bugged me because it hijacks the front page by using home.php, rather than using a page template to render the front page. The annoying part of this technique is that it makes it difficult to list blog posts within that site - so news updates posted on the main blog only show up on the “latest posts” widget, and then disappear from sight when they roll off the bottom of the widget.
And, the Edu-Clean theme, while looking fantastic and being very well designed and polished, is really just the Edublogs theme. So, my straight reuse of the graphics and styles was a bit confusing (I had a couple people mention “oh, that’s edublogs. I know that.” - um. no. it’s not, but it’s using the same theme… confusing…)
So, today I decided to sit down and hack the best parts of Edu-Clean out, and graft them into a copy of the sweet and flexible Carrington theme.
I’ll post a description of what I did, why, and where, but for now it’s basically working. It’s still very much a work in progress (I’m thinking it’s a little busy, but I like the focus on community, content and function rather than marketing). The other nice thing that the use of page templates allows is the WordPress front page setting - I can set the front page to be rendered by a static template, and set the “real” blog to be displayed at another page on the blog - Site News, for example. Much better, IMO.
Here’s the previous design, powered by the elegant Edu-Clean theme:
And the redesign, based on Carrington:
I’m certainly no designer, but I like that the featured content is right up front, rather than marketing info about the service. It’s also much easier to spot the login info (if not logged in) and stuff you can do (list of your blogs, etc…) without having to scroll down.
I’ll be tweaking it, but I think it’s a keeper.
Nov
5
(2008)
got a blog?
Filed under: work. Tags: ucalgary, ucalgaryblogs.ca. | 9 Comments
I just put up a bunch of these posters in a few of the buildings on campus. Time to spread the word a little more widely…
Nov
3
(2008)
UCalgaryBlogs.ca now protected by Akismet
Filed under: general. Tags: akismet, plugin, spam, ucalgaryblogs.ca. | 10 Comments
I got word back from Akismet that using it on UCalgaryBlogs.ca to protect all of the blogs hosted there falls under the free license, despite the wording on their website that suggests it’s an enterprise use. This means I’m now able to protect all blogs on the service with Akismet, without requiring a Captcha challenge.
The current version of the Akismet plugin for WordPress installs just fine in the mu-plugins directory, meaning each blog automatically gets protected, without any configuration or setup. The Akismet key can be hardcoded into the plugin file, and when that is done, all configuration interface magically disappears from the wp-admin interface. Easy peasy.
All that was required by Akismet was that I provide a link from each blog to Akismet.com to give credit for the spam protection. I wrote up a VERY simple mu-plugin to automatically insert the text and link in the footer of each blog on UCalgaryBlogs.ca.
I’m curious to see how well Akismet functions on some of the topics of conversation - some post colonial courses commonly use language that trips up word filters pretty readily…
I just got confirmation from Akismet that I can use the antispam service for free on UCalgaryBlogs.ca - early next week I’ll figure out how to mu-plugin ify it, and hardcode the keys and links so everyone’s covered automatically by Akismet. Sweet.
comment (0)Oct
26
(2008)
overzealous antispam and campus blogging
Filed under: work. Tags: blogs, censorship, spam, ucalgaryblogs.ca. | 3 Comments
I just had to uninstall the TanTanNoodles Simple Spam Filter from UCalgaryBlogs.ca - it’s a simple plugin that uses a dictionary lookup to try to detect what it thinks are REALLY obvious spam comment attempts. But it was a bit overzealous. Instead of just modifying the dictionary to remove some valid words (which words are valid? who gets to decide that? in which contexts?), I decided to just delete the plugin outright so that comments can be posted without censorship.
The problem showed up when a student tried to write a comment on a blog post, and used the word “rape” in the text of the comment. Simple Spam Filter threw a flag on the play, and the comment evaporated. Not cool. The student is now suspicious of the blog service, and is wondering if we’re censoring or filtering their conversations. Totally the WRONG feeling for a productive and engaging blog community. I’ve deleted the plugin, and hopefully assured the student that there was no intention of censoring their conversation.
Fun with antispam. Thanks again, Google, for making this such a wonderful problem to have to keep dealing with. It’s so thoroughly rewarding, having to battle spammers and work to make sure valid content gets around the filters that have to be constructed to prevent spammers from gaming Googlejuice.
Oct
22
(2008)
selective, manual file caching
Filed under: work. Tags: ucalgaryblogs.ca, wordpress, wp-super-cache. | 1 Comment
I’ve disabled WP-Super-Cache on UCalgaryBlogs.ca because it was doing quirky things like showing the anonymous front page after someone logged in, etc… And, with our low load and mostly logged in users, it really wasn’t necessary.
Except for the RSS feeds used to generate the Recent Posts and Recent Comments sections on the front page of the site. Without WP-Super-Cache enabled, the front page (and ONLY the front page) took glacial epochs to load, as the RSS feeds were generated, parsed, and embedded. I wanted to be able to cache the feeds, without having to throw the switch on caching the entire site.
Then it hit me - it’s trivial to set up a cron job to curl the feeds to static files periodically, and then I could just use those static files to generate the Recent blocks on the front page. Duh…
So, I modified the crontab on the server to add these two lines:
*/15 * * * * /usr/bin/curl "http://ucalgaryblogs.ca/wpmu-feed/" > /home/commons/webdata/ucalgaryblogs.ca/postsfeed.xml
*/15 * * * * /usr/bin/curl "http://ucalgaryblogs.ca/wpmu-feed/comments/" > /home/commons/webdata/ucalgaryblogs.ca/commentsfeed.xml
So, every 15 minutes, the sitewide Recent Posts and Recent Comments feeds are updated. I use the static files to generate the display on the front page, using the web-visible URLs for the files at http://ucalgaryblogs.ca/postsfeed.xml and http://ucalgaryblogs.ca/commentsfeed.xml respectively.
Sometimes, it’s easier to just pull out another tool from the server toolbox, rather than trying to find a way to do it within WordPress all the time…
Oct
7
(2008)
WordPress Plugin - Post Revision Display
Filed under: general. Tags: plugins, ucalgaryblogs.ca, wordpress. | 15 Comments
One of the profs using UCalgaryBlogs.ca was asking if there was a way to show the “audit trail” for a blog posts. If she’s having students write stuff, and needs it in by a given date (say, an assignment deadline), she’d like a way to know if a post was saved before the deadline, or updated after it. It’s easy for people to futz around with the “published on” date for a post…
So, I did some poking around, looking for plugins or tricks to expose the revision display list without having to send the prof to the blog’s admin UI every time she wanted to look at the info.
I couldn’t find anything, so I asked a question on the WordPress support forum. On a tip from Otto42, I poked around with the wp_list_post_revisions() function. Looks exactly like what I need. So it was pretty simple to write a basic plugin that adds a Filter such that the list gets generated and appended to every post displayed on a blog that uses the plugin. If you’re logged in, and have proper privileges, you’ll also get a link to view the revisions directly. If not, you just get to see that the revisions exist.
I had to copy the wp_list_post_revisions() function and modify it a bit in the plugin, so it behaved as needed. Nothing too major, but the WordPress function relies on echo to dump the list directly, and I needed to modify it to return a string to append to the blog post. Easy peasy.
And so, post-revision-display is born. Install and activate it on your blog, and your posts will automagically generate and display the list of revisions as an audit trail, with no futzing about with themes and hardcoding stuff. Here’s what the audit trail looks like:
Download the plugin here (for now - I’m trying to get it added to WordPress.org/extend/plugins…)
Sep
30
(2008)
UCalgaryBlogs update
Filed under: general. Tags: ucalgaryblogs.ca, weblogs.ucalgary.ca. | 1 Comment
The UCalgaryBlogs.ca publishing platform has really only been active for the last month, with real faculty and students using it. In that month, it’s already seen more activity, in terms of blog posts written, than weblogs.ucalgary.ca has seen in over 3.5 years of activity.
1600 posts.
In one month.
30 days.
And it really hasn’t been launched very publicly on campus yet. I can’t wait to see what people do with this stuff…
I’ve got a pretty strong feeling that people are taking to the WordPress Multiuser platform in ways that they never did with Drupal. That’s definitely not a shot at Drupal - just a statement of how the power of an individual-focused publishing platform resonates with individuals.
Sep
22
(2008)
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
8
(2008)
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.






