Nov
18
(2008)
Is Flutter a CCK for WordPress?
Filed under: work. Tags: flutter, plugin, wordpress, wpmu. | 5 Comments
Following a thread through some blog posts this morning - I started at The Reverend’s post about Martha’s documentation of her hacking on WPMU, including a description of a WordPress plugin I hadn’t heard of before - Flutter.
Damn. The Rev’s gonna love this.
One of the things I LOVE about Drupal is the fantastic CCK plugin that lets me create compound structured content types without hacking the database or writing code. Things like Events. Profiles. Pretty much anything that can be stored as database records.
Flutter appears to do most of what I use CCK for. It’s a bit of a hack on top of WordPress’s custom fields design, but whatever. I really don’t care how it works under the hood. It works. And it’s really nice. You can create any number of custom content types, groups that can contain any number of fields - and the fields can be simple text strings, long text chunks, images, audio, dates… Very cool.
So far, the only thing I’ve found really missing from what I use in CCK is the idea of linking nodes (or posts or pages - I haven’t seen a way to select a page or post as a field in another - but that’s not fatal - tags and categories can make up for some of that).
I’ll be playing with Flutter over the next few weeks. I think this might go a LONG way to implementing some of the things I’ve been thinking about wrt WordPress as a course blogging and publishing platform - WITHOUT HAVING TO WRITE CODE.
I love that. Thanks to Martha and Jim for the heads up on Flutter!
Update: doh. Looks like Flutter does some unpleasant things to the main Write Post interface as well - it was wrapping this post to a set width, making it look ickyier than usual. hrm…
yeah. definitely not quite ready for prime time. but still, something worth keeping a close eye on. this could really make some interesting things possible with wordpress…
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
10
(2008)
Walking tour of University of Calgary Campus
Filed under: work. Tags: campus, podcast, tour, ucalgary. | Leave a Comment
Back in the heady early days of podcasting - all the way back in 2005 - one of the first use cases of the technology was to create “walking tours” where a narrator could guide students through a tour of an area. When video podcasting became possible, it would make the guided tours more effective because you could show supplemental or orienteering images to support the narration.
Fast forward to 2008, and the TLC just produced a walking tour of the U of C campus, featuring Julie Walker, a naturalist and hiking guide with the University of Calgary Outdoor Centre.
Grab a copy, drop it on your iPod (or PSP, or cell phone, or laptop, or *cough* Zune) and follow along with Julie as she guides you across campus.
University of Calgary Walking Tour
Nov
6
(2008)
Leslie Reid on team projects in large classes
Filed under: work. Tags: group projects, presentation, teaching, ucalgary, video. | Leave a Comment
I had the distinct pleasure of introducing Dr. Leslie Reid this morning, for her presentation “Creating Team Projects that Work in Large Classes: Redesigning a Large Science ‘Service’ Course” - part of the Teaching & Learning Centre’s 10th anniversary series of presentations. She talks about her experience in redesigning a large class (300 students with 13 weeks of lectures) into a format based on group projects (250 students with 6 weeks of lectures and 6 weeks of group work).
The video recording of the presentation is just over an hour long, and includes some questions from some of the faculty members in attendance. I recorded the session with my little Flip Ultra camera, and it did a surprisingly good job.
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…
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
21
(2008)
on context and identity
Filed under: work. Tags: eduglu, identity, lazyweb. | 5 Comments
I had a discussion with King Chung Huang and Paul Pival this morning, about one of King’s current research projects. He’s working on the topic of context and identity - what it would mean from both institutional and individual perspectives, if our digital identities and contexts were pulled out of the silos of Blackboard, email, and other isolated and closed systems. What would it mean if every person, group, and place has a URL, which is aware of contexts (institutional, academic, geographical, temporal, etc…) and is also able to gather and provide lists of relevant resources.
A Person would have what is essentially a profile (name, role, contact info, interests, courses, websites, etc…), a Group would describe its type (department, faculty, course, session, club, etc…) as well as lists of relevant bits of info (uses a wiki, has a Blackboard course, meets at this location at this time, has these members, etc…). And Places would describe physical locations, knowing which resources are available, where they are, which Persons and Groups are interested in the Place, as well as scheduling information, etc… (hmm… do we need a fourth primitive type of Time?)
At first blush, it felt like a “portal” problem. Set up a personal Pageflakes or Netvibes page, dropping in some relevant widgets and links. Everyone can customize their own page, and a directory could be created to help discover people, groups, and places.
But that approach loses any real meaning of the contexts. It’s just a dumb content display utility, without being aware of the meaning of the contexts of the content, or of the relationships between people, groups and places.
We talked for awhile, and came to the realization that there is a missing fundamental concept. One that describes the identity and context, and ties the relevant bits of salient info together in a way that can then be used to build novel applications.
Currently, a prof sets up a Blackboard course. They add content to the course. They add Links to various bits. But none of this stuff really knows the context - just that it’s some text that’s been pasted into a container within Blackboard. A prof could spend a lot of time and effort building up a course site in Blackboard, only to kill it at the end of the semester. (sure, it could be cloned, but again that’s context-unaware).
What if the course was just a Group, set up with its own identity and context, and aware of various bits of information. Is Called Mythical Course 301. Has Course ID of MYTHCRSE301. Has Professor… Has TAs… Has Blackboard Course… Uses Wiki at… Podcasts available at… Meets MWF 1000-1050 at ST148…
The idea that Paul came up with is that this is related to the mythical EduGlu concept, but as a necessary first step that is currently missing. Right now, there would be much manual labour to set up an EduGlu service to aggregate activity that happens as part of the practice of teaching and learning. What if we could take advantage of the contexts of Person, Group, and Place to automate that process? We could pull sets of RSS feeds into the aggregator, apply some processing, and export different formats for use in different contexts. Map views. Calendar views. Timeline views. Analysis of individual and group contributions. Interaction analysis. etc…
But, is there some tool, application or platform that is currently able to handle this abstracted concept of context - of Person, Group and Place - that can be used to create a flexible *cough*portal*ahem* to manage and display the torrents of centralized and decentralized information?
Sep
29
(2008)
but universities ARE open…
Filed under: general, work. Tags: open education, openness, rant, video. | 4 Comments
A follow-up on my last rant on openness in universities, wherin I improperly aim the camera and showcase my multitude of chin-related tissue.
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.




