Workshop: Website hack session, 3/30/11

Only three people showed up, so it ended up being more like office hours than anything else. It was a productive use of my time, although I need to solve the problem of one teacher to N studens with individual needs. I wish students were more receptive to the idea of teaching one another and wonder whether a digital tool would more effectively route those connections. There was definitely a usable gradient of skill sets.

One of the Entrepreneurial Journalism students is moving her project site from Tumblr to WordPress to take advantage of custom taxonomies. I showed her the PHP to register one. She followed my lead by copy and pasting to register the other two. No errors at all, though that would’ve been a good teachable moment. We also talked about template tags. She correctly surmised she needs to replace the existing category and tag snippets on her single.php file with the new custom taxonomy snippets. Lastly, we walked through adding a tag cloud to the sidebar and changing it to use one of the custom taxonomies.

Question: How many times does a person need to review a topic in order to fully grok it?

Another student is in child theme territory for her photo side project. We’re modifying the Fullscreen theme from Graph Paper Press to handle (hopefully) thousands of images on the homepage. Tonight we covered child theme structure, WP_DEBUG, and the HTML, CSS and modifying PHP function arguments of displaying the homepage. We’re just getting started and she wants to have it live by the beginning of New York spring break. Effective project management should be a required course for everyone at the school.

The last student had a few minor questions. These included how to remove an extra menu item that had shown up, modifying the padding and margin of div’s using CSS, and modifying the width of subnav items using CSS. Two more required courses: troubleshooting and accurately stating the nature of your problem.

Again, overall, it was a pretty productive time. I think I’ll continue hosting these on a weekly basis as long as students continue to show up.

Today’s happy fun project: profiling FastCGI memory consumption

On Saturday night, well, Sunday morning between the hours of 12 am and 3:30 am, I switched our production web server from Nginx/Apache to Nginx/FastCGI/PHP-FPM. My original reasoning for the project was an understanding the latter combination could perform at a higher level. Unfortunately, it doesn’t appear to do so out of the box.

Edit Flow v0.5.1

Late Wednesday night, well technically the first thing on my birthday Thursday, we tagged Edit Flow v0.5.1. It’s a maintenance release fwithor things like backwards compatibility with WordPress 2.9.x, no email notifications for posts with status “auto-draft”, and having the editorial calendar follow normal WordPress user capabilities for editing posts (fixing this). It also means we’re going to start work on v0.6: support for custom post types, a more powerful editorial calendar, and custom post tasks a bit like Basecamp.

Edit Flow v0.5, now with a slick editorial calendar

After a bit of a hiatus, we finally tagged the 0.5 release of Edit Flow this past weekend. The most significant new feature is a slick editorial calendar designed by Andrew Spittle, implemented by Joe Boydston, and nitpicked by me. Functionally, it allows you to view all content, regardless of status, in a week view, and then filter that content by custom status or whether it’s “related” to you. In the near future, we’ll be adding the ability to filter by categories, tags, and then additional editorial metadata. Download the most recent version and hit us back with any bugs, feedback, or ideas.

Even more exciting is that, with the new gig I started yesterday, I’ll be able to eat my own dog food and have a laboratory to play in to boot.

Using Google Apps with StatusNet for email notifications

For the sake of saving an hour of guessing, here are the proper settings for using Google Apps, or Gmail, with StatusNet, formally known as Laconica:

$config['mail']['backend'] = 'smtp';
$config['mail']['params'] = array(
'host' => 'smtp.gmail.com',
'port' => 587,
'auth' => true,
'username' => 'username@domain.com',
'password' => 'your_secret_password'
);

Adding these settings to your config.php file will allow your StatusNet instance to send email notifications over SMTP when your web host doesn’t support sending mail from the server (ahem, WebFaction). The trick is to use the proper port, 587 instead of 25, and to enable authentication.

I’m still trying to configure Google Apps as the XMPP provider for StatusNet too; I’ll put together another post if I can figure that out.