page 61

Postman and Weingartner were talking about inquiry-based education, and how throwing out the “curriculum” and instead having students ask genuine questions that they would then work to answer together – that this would provide a powerful, relevant, and highly personal experience and a richer education. When I got to page 61, I did a doubletake. Was there a misprint? Did a vandal insert a blank page? No. They left the page blank intentionally – not even a page number – for the readers to add their own questions. It’s a simple technique, but one that profoundly changes the experience of “reading” a book, much as genuine inquiry can profoundly change the experience of “education”.

I added two questions, and asked my 5 year old son to ask a question of his own.

Learning Community – Blogging and Student Publishing

We held our first gathering of the “Blogging and Student Publishing” learning community last week. It was a small, informal gathering – only a handful of profs were able to make it due to summer schedules, and another handful of staff. I think the small group was actually a very good thing for a first gathering, though, as the conversation was extremely engaging and dynamic – something that may have been lost in a larger group. What I loved about this gathering, is that we were able to reproduce much of the vibe from the Social Software Salon event held a couple of years ago at UBC. I’m hoping to to much more of this kind of thing, to get faculty members together and properly caffeinated in order to get the conversations flowing.

We talked about many things, but I think the common thread was that this is really not about “blogging” or even technology. It’s about what happens when students are publishing their own content, and collaborating with each other. What does that mean for assessment? How do you properly engage a class of 100 (or more?) students, having them all publish content, exploring various topics, commenting, thinking critically, and still be able to make sense of that much activity?

Since we stepped back a bit from technology, we defined student publishing more broadly, to also include such things as discussion boards and wikis.

We talked a bit about blogging as an ePortfolio activity – that it may be effective for students to publish various bits of content through their blog(s) and then to let it percolate and filter until the “best” stuff is distilled into what is essentially an ePortfolio – and maybe THAT’s the artifact that gets assessed. The activity through the blogs is important, but every student will participate in a different way. Maybe it would be a valuable thing to even make blogging itself an optional thing – but those who don’t participate will have had less feedback and refinement of their ePortfolio artifacts.

I gave a quick demo of the eduglu prototype site to show some of the strategies could be used to make the workload more manageable – social filtering of content within the site, organic groups based on projects and topics, etc… There was a fair amount of interest in those ideas, and I’ll be refining the prototype over the summer.

We’re going to be having learning community gatherings on a regular basis – I’m hoping to have more faculty come out to the August event (date TBD), and have it keep growing from there.

I’m also starting work on a learning community around mobile learning (mobile devices as a platform for teaching and learning), and another on course design (to tie in with our ISW and FTC programmes here at the TLC).

My next immediate task for the learning communities project is to polish off the community hub website – which will provide a place for coordinating the various communities, as well as providing a way for faculty and staff to identify and create their own communities.

Links discussed during the gathering:

Cleaning up the Upcoming Events block in Drupal

We use the Events module to manage workshops here in the Teaching & Learning Centre, and use the “Upcoming Events” block to display the next few workshops on our website. Works great, but the default text leaves a bit to be desired. By default, it shows the event title, and “(2 days)” – which indicates that the event begins in 2 days.

But, it could also mean that the event lasts for 2 days.

So, I just added a trivial change to the event.module file, adding the following line of code at line 1847 (on my copy of the file, which was checked out on June 4, 2007):

$timeleft = 'starts in ' . $timeleft;

That changes the text indicator in the “Upcoming Events” block to read:

(starts in 2 days)

Which is much clearer in meaning. Easy peasy. I just have to remember to edit the module after updating, if this doesn’t make it in…

Drupal Debugging – Fun with CCK, Links and Token.module

I had to debug our TLC website this morning, as it was pointed out to me that parts were misbehaving, and that some content hadn’t survived the upgrade from Drupal 4.7 to Drupal 5.2. The missing content was easy, for the most part. It’s just a matter of renaming the tables to use the content_TABLE format expected by the current CCK module. The exact table names that are expected are listed in the node_type table, under the “orig_type” field – just prepend “content_” to the “orig_type” value for the table name, and CCK should find everything just fine.

One of the CCK content types used the weburl field type under Drupal 4.7, but this has apparently been replaced by “link” in Drupal 5’s version of CCK. That’s fine, I’ll just swap out the data. Shouldn’t be too bad.

What got puzzling, though, was that after switching to link, I was getting segmentation faults on the webserver every time I tried to view, save, or template a CCK content type containing a link. WTF? At first, I didn’t make the connection that it was link that was causing problems. Eventually, I created a “test” CCK content type, containing the same fields as the offending content type (every time I tried to view anything in our “Simple Resource” content type, hell was unleashed). I reproduced the same set of fields, and BOOM, Simple Resource was also bringing down the server. So, I started removing fields. Didn’t take long, since the content type had a total of 2 fields. I started with the Link field. And the content saved, viewed, and templated just fine.

AHAH! It’s something wrong with Link! Maybe it’s trying to validate the URL? Maybe it’s trying to download the content at the other end of the URL to do some processing?

Nope. Turns out, Link may use the token.module to parse out bits of the URL. But token.module was getting caught in a recursive loop. I had to install token.module to support the current version of pathauto.module – I need that, so I can’t disable token.module. Turns out, there’s an easy way to avoid this recursion-killing-the-webserver segmentation fault problem. In the CCK definition for the link field, just uncheck the “Allow Tokens” option. Yeah. It’s that easy. But it took me all frigging morning to figure out what the problem was, and about 5 seconds to fix it once it was identified.

Links that were useful in diagnosing and solving this: