Monthly Archive for December, 2005

RSS Feed, Part II

In a great work of irony, right after fixing the RSS feed (again) by disabling the FeedBurner plugin, I was reading through post in FeedLounge and saw that it’d been updated for 2.0.

So, I’ve updated the plugin, and it’s happily chugging along once more. I’ve check with FeedValidator, and all appears to be working just fine. Let me know if you notice anything else out of the ordinary in this area…

RSS Feed Fixed

Update: Uhh, and again… Looks like the Feedburner plugin was breaking mod_rewrite rules and redirecting the RSS feed to the homepage instead. I simply turned it off, dumped my .htaccess file, and had WordPress regenerate it by changing my permalink structure. This should be it, but let me know if you have any other odd problems. Feedburner wasn’t worth this in the first place…

Looks like the upgrade to WordPress 2.0 Monday broke my RSS feed. Unfortunately, I didn’t notice until today, what with work starting back up Tuesday.

In any case, it looks like I’ve gotten it fixed now. For anyone else experiencing a similar problem, I simply changed my permalink settings in the WordPress Options panel. When WordPress regenerated my .htaccess mod_rewrite rules, it fixed everything… Go figure.

Thanks a lot to Cal for letting me know!

FeedLounge Alpha 6 Screenshots and Walkthrough

Back in the FeedLounge Alpha 5 announcement, Alex noted that he needed to update the screenshots on the FeedLounge homepage to include several of the new asthetic changes that had been made to the interface.

Since Alex hasn’t gotten to them yet, and several of the answers in his Answering Questions series could have probably been cleared up with some helpful screenshots, I took it upon myself to waste an hour snapping some quick shots of the best Web 2.0 app I’ve ever been priviledged to use.

Without further delay, here are some of the highlights. (You can check out all 21 of my screenshots in the Flickr photoset here.)

When you first launch FeedLounge, you’ll arrive at the main screen:

FeedLounge - Blank Main Display

From the main screen, you can easily navigate around the interface, displaying feeds and items:

FeedLounge - Viewing a Feed's Items   FeedLounge - Viewing an Item

You can also easily switch to the 3-Column and “River of News” views, using the buttons at the top of the “Items” pane:

FeedLounge - River of News view   FeedLounge - Viewing an Item in the River of News view

Manipulating feeds is about as easy as one could ever hope for. In this example, we’ll check the information for the FeedLounge blog feed:

FeedLounge - Information about a Feed

After noting the “Feed URL” from the display, let’s go ahead and remove the feed:

FeedLounge - Removing a Feed

Click ‘Ok’ to confirm the deletion, and the feed disappears. Since I actually like having a subscription to the FeedLounge blog, let’s add it back now by clicking the “Add” button and filling in the feed’s URL that we noted earlier:

FeedLounge - Adding a Feed

After FeedLounge has added the feed, it will appear at the bottom of our feeds list (note that currently removing feeds is a bit buggy: the feed is simply moved to the bottom of the list and marked as having been removed. Adding the feed back behaves the same regardless.). Now we’ll return to the information panel and tag the feed, so we can keep all of the FeedLounge-related blogs together under the “myblogs-feedlounge” tag:

FeedLounge - Tagging a Feed

Since all of our FeedLounge-related blogs are in a single tag, we can easily read everything related to FeedLounge in one sitting by selecting the tag, rather than an individual feed from that tag:

FeedLounge - Viewing all Items in a Tag Group

And that pretty much wraps up the main features. Again, check out the complete photoset for some more screenshots, including those for the ‘Tags’ and ‘History’ screens, which I don’t have much use for.

If you have any questions, feel free to drop me a comment here, or head on over to the FeedLounge blog and ask away - you may be included in the next questions and answers session.

Technical Note: All of these screenshots were created with SnagIt using a heavily-extensioned Firefox 1.5 on Windows XP Pro. As always, your browser’s rendering may be slightly different.

Akismet+ v.2.3!

Update: Correction! It’s version 2.3, not 2.2. I made some more updates after starting this post and apparently forgot to save after updating the #.

Alright, after a couple more bugs were found and (hopefully) squashed, it’s time to follow up my Christmas-special of Akismet+ with yet another version.

I present to you, Akismet+ version 2.3!

Changes

Email notification should now be fixed. I forgot to change one occurrance of my previous comment ID vs. comment post ID screw up. Since I also changed the notification script heavily, it emailed out blank emails, rather than emails with incorrect information in them. In any case, it should now finally, once and for all, be fixed.

There was also a SQL error being generated under certain circumstances. This shouldn’t have actually prevented anything from working, but it was annoying. It’s now fixed, since I’d simply typoed the table name.

I also added some more debugging to help track down the problem, so if you leave it on you’ll junk up your database even more quickly now.

As always, let me know if you run into any problems.

Download

Latest version is attached. Lets see how the WordPress 2.0 attachments work out…

Merry SPAM-free Christmas!

Update: I just got my first “Hey, Akismet blocked SPAM” email message, and it appears there’s a bug — it didn’t contain any actual data. I’ll check into it tomorrow when I get a chance. In the meantime, please let me know if you’ve experienced any similar behavior.

Ho ho ho!

It’s about time I got in the Christmas spirit, and in order to help spread a little more holiday cheer (especially now that Wordpress 2.0 has been delayed), I thought I’d release a special holiday cheer version of my enhanced Akismet plugin!

Ok, so it really doesn’t have anything holiday-cheery in it, but you’ll be able to enjoy some spiced up eggnog to help get you through those Christmas-day family gatherings and only have to worry about driving home, since SPAM is taken care of!

Changes

This plugin features a completely re-written codebase. Sure it’s not all that different from the last version, but I’ve cleaned up a bunch of stuff, renamed some functions and variables to make more sense, and in general just done a lot of house cleaning that won’t make a damn bit of difference to anyone out there except me. Still, that’s how I’ve spent the majority of my time working towards this release. In the end, I think it’s worth the wait, simply because I now know what the hell I’m doing and can more easily make future changes.

The other most noteworthy change in this version is the email notification feature. Since this has been a big pain in the ass for a lot of people (including me, since I use it), I’m almost embarassed to tell you all what the problem was, but I will…

<nerd_speak>

You see, when a message is detected to be spam by any part of the akismet_check_spam function, it simply triggers the akismet_notify_moderator function. Now, when I originally wrote the akismet_notify_moderator function, it was simplest to just accept the comment’s ID# and re-retrieve all the data we needed to send the email. Sure it’s not the most database-friendly method, but it sure makes everything a lot easier on my end, particularly since I wasn’t terribly familiar with the rest of the plugin at that time, and didn’t really know exactly what data I had available to me already.

So this function worked beautifully… except that it was sending out emails for old comments. I’d get an email with a comment from back in July marked as quarantined by Akismet, then login to the management panel and see the new *real* comment that had been quarantined. It was annoying, but it still served its purpose by alerting me to a new comment that I needed to check out, so I let it go.

When I sat down to track down this bug, I wasn’t terribly enthusiastic. I expected it to take me hours of work re-coding the entire plugin to get around some minute problem I never considered would have cropped up.

In reality, it took me all of 45 seconds or so. Since the notification plugin was obviously working just fine, there had to be a problem with what I was passing it as the comment ID#. A quick glance at the function call pretty much summed it up:

akismet_notify_moderator($comment["comment_post_ID"], ‘akismet’);

Meh… For some reason I’d gotten distracted and passed the comment’s POST ID#, not the actual ID# of the comment itself. D’oh!

</nerd_speak>

Aside from that, there’s just a few minor things.

I added some additional information to the Akismet Configuration panel, which will prove useful in the future when you’re trying to figure out what version of stuff you’re running.

A debug feature was also added, mainly just so I could more easily test stuff without using nasty fixed-width error printouts in the actual page. It’ll also be helpful to debug problems with live sites and those problems involving the actual comment-submission process. You can switch on debugging in the Akismet Configuration panel, right along side all the other features. Be warned! There is a lot of debugging data. If you leave this on too long, you could drag your database to a crawl, since a lot of Akismet triggers on various seemingly unrelated events (such as API key validation on every admin page load). When switched on, debug data will be displayed at the very bottom of the Akismet Configuration panel, for easy viewing. See the FAQ entry related to debug data before enabling it.

Also added is the ability to change the purge timing for old SPAM. Just substitute your desired value in the “Purge Time” field of the Akismet Configuration panel, and the plugin will keep your SPAM around for that period of time. I plan to add some new features to auto-purge or never-purge in the future. For now, this date range should be able to accomodate just about any length of time you desire.

Bugs / Problems / Comments

As always, I’ve done preliminary testing, but this in no way guarantees that the Akismet plugin won’t eat your dog if it feels so inclined. In fact, with all the code rewrites I’ve done for this version, it’s very likely I’ve made a typo or 12 somewhere, which will no doubt cause problems.

If you run into a problem, just deactivate the plugin and revert to an older version. Then let me know either in an email, or in the comments and I’ll do the best I can to help you out.

Merry Christmas

I hope everyone has a very merry Christmas, and enjoys the time spent with their family. We’ve already done all our family gatherings for the season, so I’m left to open presents! :)

Download and Install

The plugin should be attached to this post. Snag it here, or jump over to the Akismet+ Plugin page, where you’ll always be able to find the latest version!

To install, just extract and upload akismet-plus.php to your wp-content/plugins/ directory. Deactivate any old versions and activate the new one. Once you add your API key to the Akismet Configuration panel, you’re ready to go!