WordCamp 2007: Dan Kuykendall, Podcasting and podPress [en]

[fr] Notes prises à WordCamp 2007. Introduction au podcasting et à podPress, un plugin WordPress qui le transforme en machine à podcaster.

Here are the notes I took of Dan’s talk on Podcasting and podPress. I did my best, but they may not be accurate.

WordCamp 2007 Podcasting and podPress

Dan Kuykendall is the author of the popular podcasting plugin podPress.

Podcasting is very similar to blogging (just audio/video). About getting your message out. All about content, in consumable ways. Feeds.

RSS2 feed + “enclosure” tag.

Difference with blogging: lots of offline podcast viewers/listening. (Not many offline blog readers.)

Gear? Microphone, recording software, site + RSS2, something to say/play. Dan has a $100 mike, a $100 external sound card — steph-note: fancy! but not even necessary… in-built microphone and soundcard can do for starters.). Software: Audacity is free, so is WordPress.

WordCamp 2007 Dan Kuykendall's Gear

Podcasting does not require a major investment.

Dan got into podcasting early 2006. steph-note: is that early, as far as the history of podcasting is concerned? Podcasting is a little more personal than blogging (voice, etc.) Podcasters, like bloggers, really crave feedback. At that time, podcasting wasn’t built into iTunes. WordPress looks great for that, but if you’re interested in podcasting more than blogging… hmm.

WordCamp 2007 Dan Kuykendall

Dan heard about the plugin system in WordPress… He had figured out how to do podcasting and make his podcast look good in iTunes, but what about others? => started writing a plugin, PodPress. “Which has now grown a bit out of control!” steph-note: indeed, problems with redundant queries which caused my site to be shut down by DreamHost twice in the last six months.

Podcasting is not just about pointing to your mp3 files. PodPress adds meta information, media players, etc. This means your public can view your podcast even if they don’t use a dedicated “podcast reader” (iTunes…)

steph-note: tour of podPress’s features, and demo (not blogging this)

WordPress: amazing blogging platform and CMS, with tons of hooks for plugin developers.

steph-note: my experience of podPress is lots of settings, does the job though, even with minimal settings. However, as I mentioned above, my blog has been taken down once and maimed at least once by DreamHost because it was raising the load on the server it was hosted on way too much. After narrowing down the problem, the culprit appeared to be podPress.

Q from Dan: who is providing media content in their blog, but doesn’t use podPress? steph-note: question unclear from me, in my mind a blog which provides media content is a podcast, as long as the media content is made available as an enclosure in the feed, which I thought WordPress did out of the box.

Q from audience: monetization? A: no, for free, but PayPal donations, though they haven’t really covered the cost of hosting…

Q Mark JaquithAaron Brazell: I love podPress, but the only problem is the weekly releases… could we space them out a bit? A: never sure when I’ll be coding, so when I get some stuff done I release it. => Q for Matt: will WordPress support some kind of plugin update automation? A (Matt): yes, for 2.3 (at least notification). steph-note: yay!

Mystery WordPress/Markdown Problem: Troubleshooting [en]

[fr] Description d'un vilain problème WordPress avec PHP Markdown Extra. Certains billets refusaient de s'afficher et faisaient tout simplement planter la suite du chargement de la page (donc, pages archives incomplètes, billets disparus). J'ai résolu (plus ou moins) le problème en remplçant PHP Markdown Extra par Markdown tout court, mais je n'ai toujours pas compris le fond du problème. Ce billet donne quelques détails sur les symptômes et mes déductions.

If you’re a WordPress person and you feel like a bit of juicy troubleshooting, this one is for you. I’ve narrowed down part of the problem, but have failed to identify clearly the cause of the problem. I’ve found a workaround by replacing a plugin by another similar one, however. I’ve made screenshots so that even once this problem is fixed (hopefully very quickly) you can make sense of this post.

Symptoms:

Some posts on the VibrationsMusic website fail to display their content, or display incompletely. When this happens, the page stops loading altogether, resulting in a truncated page. (So we have vanishing posts and incomplete aborted archive pages where they should appear.) No error messages in source, HTML code just stops.

Narrowing it down:

Removing post content makes the post display OK, so I figured it had something to do with the content. Removing the PHP Markdown Extra plugin removed the problem, to. So it has something to do with a combination of certain things in the content and the PHP Markdown Extra plugin. (Removing other plugins didn’t change a thing, so I deduce from that it isn’t a plugin interaction issue.)

Using the “cut-half-out” technique I tried to narrow down the problem to a certain type of post content. At first, it seemed to be caused by either (a) HTML links in Markdown lists or (b) embedded YouTube players (<object>). However, some posts with either (a) or (b) were displaying correctly. In one faulty post, replacing the embedded YouTube video with another removed the problem.

However, it seems more subtle than that. In some cases, removing the other half of the post also removes the problem. => post length? Not really either. In a quite weird case, one post stops displaying right at the end of the content (Technorati tags and closing divs don’t appear) and if changes are made to the next post (like removing its content) then the first post displays correctly (and the second one too).

This seems (to me) to point to some problem in the query-array-manipulation area (but I don’t know how things work well enough in that department to make a more precise hypothesis).

Workaround:

I replaced the PHP Markdown Extra plugin with the “normal” Markdown plugin, and everything displays fine.

Promote Comments Plugin Idea [en]

[fr] Une idée de plugin que m'a soufflée Bruno Giussani: pouvoir "promouvoir" un commentaire et l'intégrer sans peine au contenu du billet.

A few days before LIFT’07, I had dinner with Bruno Giussani, who now happens to be one of the lucky people to live in beautiful Lausanne.

Amongst other things, he told of his frustrations with current blogging software (he’s using TypePad) and how the perfect tool didn’t seem to exist. I guess one simple reason this is so is that “perfect” means different things to different people.

I use WordPress, like it, and generally recommend it around me, because to my mind it’s the most complete and user-friendly platform out there, and because the plugin architecture allows for nearly any functionality to be added to it if somebody takes the trouble to code it.

Bruno shared with me one shortcoming of today’s blogging technology that he and Robert Scoble were talking about at LIFT last year (so this is not a “new” idea). Here is a write-up of this idea (with his permission of course), with a few implementation and interface details, in the hope that someone out there will pick it up and write the plugin. (I’ve heard enough people recently asking for plugin ideas to work their mad coding skillz on…)

Here’s the basic idea: there are often valuable contributions in the comments of a post, and we would like a way to be able to effortlessly “promote” a comment (or part of it) into the body of a post. This allows the blogger to easily act as an editor for the conversations taking place on his blog.

All this, of course, would have to be nice and ajaxy. Here’s how I could imagine it happening.

First of all, the plugin recognises that the author of the post is logged in, and adds a “promote” link next to each comment, in addition to the “edit” link. If that link is clicked, the comment text is automagically appended to the post content in a blockquote, complete with author name and link to original comment.

If part of the comment is selected when the promote link/button is clicked, then only that excerpt is quoted in the post.

Instead of the dreaded confirmation pop-up, a nice confirmation message should appear alongside the promoted comment in the post body, with an undo link.

From a back-end perspective, the promote link “knows” which post it belongs to (check the ID of the comment <div> it’s in). It shouldn’t be very difficult to grab author name, author url, comment permalink, format them all nicely (blockquotes, credit, microformats), edit the post, and add it to the end of the content with some introductory text (like “promoted comment”) and an “edited” stamp with time/date of promotion.

Possible problems:

  • if part of a comment is selected and the wrong “promote” link is clicked, what behaviour would be expected? Probably an error message of some sort, or even better (but probably trickier to implement), a choice: promote the whole post (based on link clicked) or the excerpt (based on selection)?
  • should promoted comments really be added into the post content, or stored as post meta data?

Taking this a step futher: wouldn’t it be nice to let the blogger introduce the promoted comment, or write a few lines after it? In this case, pressing the promote button/link would bring up a pop-up where more text can be added, with the option of displaying it before or after the quoted text.

And even another step futher (but I’m not sure it’s an interesting one): how about allowing the blogger to make a new post out of the promoted comment, instead of just appending it to the current post? Would this be interesting?

Additional thoughts on this basic idea are welcome (Bruno, let me know if I forgot something, it’s been a while since our conversation). If you’re a plugin author and you feel upto it, go for it (just make sure you give Bruno credit for the idea). I’ll be happy to try it out.

Events in WordPress [en]

[fr] Prise de tête pour trouver un moyen d'utiliser WordPress pour afficher des événements (des billets spéciaux, mais pour lesquels on précise aussi une date de début et de fin d'événement). Il faudrait qu'on puisse afficher les "événements encore pas terminés" sur une page spéciale.

Deux plugins m'offrent des solutions partielles, mais je suis incapable de les transformer en solutions totales. Toute aide serait bienvenue.

Besides using WordPress as a blogging tool, a client of mine would like to use it to display a page of upcoming events. I’ve dug out a number of plugins which somewhat do the job, but getting things to work exactly as we want is proving to be a pain in the neck.

As I’ve been stuck on this for a few weeks now and still see no light, I’m offering this problem to the collective mind out there in hope that a bright solution pops up somewhere before we go live (which is… very soon — hear my desperate plea for help).

Here’s what we want

  • events should be posts (this rules out Shrikee’s Events Plugin)
  • events have a start date, and an end date — time is unnecessary (this rules out RS Event)
  • events should show up in the normal flow of posts and on their own category page (we don’t want them on the home page, but I can exclude the category manually, so that’s a non-issue)
  • we should be able to display upcoming events on a WordPress page (I’ll stick whatever code is needed in the template for that page) — “upcoming”, here, meaning events whose end date is not yet past.

Partial solutions

At first, I thought about using upcoming or eventful, but for quite a few reasons this won’t work out in our situation.

Event Calendar seemed like a good candidate, although we didn’t really need the “calendar” itself. I hacked the layout of the event posts so they displayed OK. However, the main bit is missing. Event Calendar provides a way to list all the events “after today”, by calling http://blog.address/?ec3_after=today for example. Unfortunately, this doesn’t work on our setup (probably something we did to the rather hacked theme. I’ve had a look at the source code but couldn’t really figure out what happened when that variable was passed, so was unable to reproduce anything ressembling it in a Page template.

Another problem is that this will not show events which have started yesterday but which are not yet over, if I’m not mistaken.

Last but not least, we have two event subcategories, so I’d have to create two (or even three) separate event pages — but I guess that if I manage to make one, filtering posts by category shouldn’t be too hard.

Another solution would be to use Posts Expire and Posts Begin as described in this forum post I stumbled upon yesterday. Again, these plugins provide a way to call “posts which have not yet expired” with a particular URL: home/?orderby=post_end_date. Again, I haven’t manage to dig out the code and stick it in a Page template — trying to rewrite a pretty URL to that one is source of much hair-tearing upon this server I have very little control on, and I haven’t found a way to make it work.

The other problem I’d have to work around if using these plugins is that expired posts are not displayed in the blog anymore. I’m not sure what code in the plugin takes care of that, but it would have to be commented out.

Help

So, I have two partial solutions here, but I’m stuck making progress on either. Do you have any ideas which could help me out — either to make one of my partial solutions a working one or to find a third one?

I’d really really appreciate help on this one. Thanks a lot.

Basic Bilingual and Bunny's Technorati Tags Plugins Updated for WordPress 2.1 [en]

[fr] Mise à jour de mes deux plugins pour WP2.1 qui les cassait gravement. Mises à jour pas testées, à manier avec précaution.

Thanks to Sudar, who took the trouble to fix Bunny’s Technorati Tags so that it worked with WP2.1, here are up-to-date version of these two plugins, Bunny’s Technorati Tags and Basic Bilingual:

The previous, WordPress 2.0-compatible versions are still available:

Warning: these old versions suffer from the empties custom fields problem. Don’t use them with 2.1.

Disclaimer: I’m swamped with work, haven’t upgraded yet, and haven’t tested the new versions of the plugins. Use carefully. Let me know if there are glitches. Bunny’s Technorati Tags is the very version Sudar put online (I’m making it available here mainly as there are links to it out there beyond my control, not the least from the wp-plugins.org wiki which has been closed to editing due to spam.) For Basic Bilingual, however, I adapted the code Sudar had added to Bunny Tags, but I don’t fully understand if it works. Backup, try gingerly, and please leave comments here to let others (and myself) know if it works or breaks.

Thanks.

OpenID at CTTS [en]

[fr] Installé OpenID sur ce blog.

Well, without really knowing what I’m doing, I’ve got myself an OpenID, and installed both the WordPress OpenID Plugin and WordPress OpenID Delagation plugins. Stuck a few links in del.icio.us.

You should normally be able to use OpenID to comment here, and I should normally be able to use OpenID where it’s accepted.

Hack: Make Bunny Tags Point to Your Blog Tagspace [en]

[fr] Un petit bidouillage pour que mon plugin wordpress pour ajouter des tags ne montre (dans Technorati) que les billets de votre propre blog.

Here’s a quick hack for all of you who, like Fabienne, are disappointed that my Bunny’s Technorati Tags plugin points to the technorati tagspace instead of just your own posts.

For it to work, your plugin files need to be writable (how to do this is beyond the scope of this post, but try looking for a way to chmod 777 or whatever in your FTP program; if you use the command line, then chmod -R 777 wp-content/plugins should do it). Then, open the plugin editor (WP admin screen > Plugins > Plugin Editor) and edit the file for Bunny’s Technorati Tags.

Look for this code:

 $tag_link='<a href="http://technorati.com/tag/' . urlencode(urldecode($tag))
 . '" title="' . __('See the Technorati tag page for', 'BunnyTags') . ' ''
 . urldecode($tag) . ''." rel="tag">' . $display_tag . '</a>' . $separator;
 // make a link to the technorati tag page, with tag link text

And replace it with this:

 $tag_link='<a href="http://technorati.com/tag/' . urlencode(urldecode($tag))
 . '?from=' . get_settings('home') . '" title="'
 . __('On Technorati: see posts from this blog tagged', 'BunnyTags') . ' ''
 . urldecode($tag) . ''." rel="tag">' . $display_tag . '</a>' . $separator;
 // make a link to the technorati tag page, with tag link text

This isn’t quite the same as pointing them to a page on your blog which contains all the posts. But the final result is pretty similar. Otherwise, Fabienne says that Jerome’s Keywords Plugin does the trick for her.

Comment faire des tags? [fr]

[en] An explanation on how to tag, manually, using my plugin, or by using a blog editor like Ecto.

Virginie me demande en passant dans un e-mail comment faire des tags. Elle a suivi mes bons conseils comme une grande et a maintenant un profile Technorati, et elle aimerait tirer le meilleur parti de ce moteur de recherche spécialisé dans les blogs.

Je me rends compte, du coup, que même si je parle beaucoup des tags, c’est souvent en anglais.

C’est quoi, un tag?

Un tag, c’est comme une étiquette ou un mot-clé que l’on collerait sur un billet ou un blog. Cela nous aide à  nous y retrouver, et ça permet à  d’autres de trouver nos billets. Technorati est très utile pour cela. Ce n’est pas la même chose que les catégories, qui devraient rester plutôt génériques (les miennes ne sont pas un exemple à  suivre, allez donc voir plus loin). Pour les choisir, facile: on pense à  ce qu’on a écrit et on laisse venir l’inspiration.

Comment je fais?

Trois solutions. A la main, avec mon plugin WordPress, ou bien en utilisant un programme qui comprend les tags, comme ecto, pour publier ses billets.

Je développe.

A la main

Technorati va se promener sur les blogs à  la recherche de tags. Un tag, pour technorati, c’est un lien comprenant l’attribut rel="tag". Le dernier morceau de l’URL du lien est considéré comme le “tag” lui-même, le mot qu’il va indexer. Les liens en question peuvent se trouver n’importe où dans le billet. L’usage veut qu’on les collectionne en fin de billet, mais ce n’est pas nécessaire.

Quelques exemples:

<a href="http://technorati.com/tag/romandie" rel="tag">Romandie</a>
<a href="http://technorati.com/tag/romandie" rel="tag">la Suisse Romande</a>
<a href="http://monsite.com/romandie" rel="tag">Romandie</a>

Ces trois liens seront tous interprétés par Technorati comme le tag Romandie et le billet les contenant apparaîtra sur cette page. Vous noterez que le lien n’a pas besoin de pointer vers Technorati (mais le dernier morceau de l’URL doit être le nom du tag) et que le texte lié est libre.

Donc, si on veut, on peut parsemer son texte de liens-tags. Mais c’est fastidieux.

Bunny’s Technorati Tags

J’ai écrit un plugin WordPress pour pouvoir taguer facilement nos billets. Pour cela, passez d’abord à  la dernière version de WordPress.

Ensuite, copiez dans le répertoire “plugins” de votre site le fichier contenant le plugin. Activez-le dans l’espace d’administration de WordPress. Vous verrez ensuite dans votre formulaire d’écriture de billet un champ supplémentaire intitulé “tags”. Quand vous écrivez un billet, jetez-y quelques mots, et ils seront automatiquement convertis en tags pour Technorati.

Magique!

Ecto

On n’est pas obligé de passer par l’interface d’administration de son blog pour publier des billets. On peut aussi installer sur son ordinateur un programme qui permet de faire tout ça “à  distance”. Ecto en est un, très bon, qui permet d’ajouter des tags à  nos billets. Il est en anglais et n’est pas gratuit même si on peut le tester durant quelques semaines gratuitement. A essayer!

Pas clair?

Il vous faut plus de précisions? Demandez!