FeedWordPress Plugin – Feed Your Website via RSS

This morning I ran across the FeedWordpress plugin by Charles Johnson. This plugin allows you to actually feed your WordPress site via RSS feeds.

Unfortunately for me, I had the wrong idea as to what the plugin did. I thought it actually just added links to articles to your blog in a specified category. What it actually does is feed your web site with posts from the RSS feeds, including creating new categories for you. This is great if you are creating a site specifically for aggregation, but it wasn’t exactly what I was looking for.

Again, unfortunate for me, I decided to experiment on the production site instead of my development site, using Tom the Architects site and Slashdot as feeds to try the plugin out, resulting in a ton of content being posted to the site without me realizing it. I think I’ve cleaned it all up.

One thing about WordPress is that it doesn’t facilitate cleaning up a mistake like this easily. It was a pretty laborous process to get everything cleaned up. One thing about me is that I have to learn to stop playing around with things on the main site and use the development site on my local server for these activities.

If you see anything goofy that you might have seen before on another site, let me know so that I can remove it. I’ve double checked to make sure I removed everything, but you know how that goes … you always miss something.

I really have to learn to do more reading before just installing things on the site. However, the plugin works REALLY, REALLY well. Grab it if you want to start an aggregation site.

E-Mail Notification Added To The Site

I’ve been searching for a while for an easy to install email notificaton plugin. I finally found a plugin today at watershedstudio.com. It took about 15 minutes to install, but a little longer to test as it only sends notifications on publishing and not on updating, even though an option shows up on the editing page to notify subscribers when you are editing an entry.

The plugin allows people receiving notifications to unsubscribe as well.

Aside from the update vs. publish confusion, the plugin works really well. Download it here if you have been wanting to add this functionality to your WordPress site.

Ajax based Plugin for WordPress for Inline Post Editing

From the “Holy-Crap-this-is-the-coolest-plugin-I’ve-ever-seen” department:

I ran across the WP-Touched plugin this morning that purported to do inline post editing on your WordPress postings right from the main page – no admin screen. Thinking this is too good to be true, I tried it.

It works. This is about the coolest plugin I’ve seen so far. The plugin inserts a link on your posts that when you click it, you get full editing capabilities right on the current page – from the content, to the categories, to the allowing of pings and comments and excerpts. Everything is right there at your fingertips with no post up to the server to the admin pages! The only thing missing right now is the trackback edit box (which would be useful).

This plugin is really cool and is a good illustration of the power of AJAX based applications in a really effective and practical way.

One more AuthImage fix …

The final problem I was having with the AuthImage plugin is now fixed.

I was having problems when a code was not entered, or was mistyped. When this situation occured you would get an error message. Upon hitting the back button, the page would rerender with the old image, even though internally the new code would be updated. You would then enter the old code again and validation would fail.

Apparently this happened in FireFox only. I found this article that showed a way to fix it.

I think everything is finally working as it should. This is the last known issue I had that I know of.

Of course, now that all of the issues are resolved, I find this site referred to by the author of the AuthImage plugin. This guy has apparently figured out how to break these kinds of authorization images (called CAPTCHA‘s). He hasn’t released any code into “the wild” yet, but if his web site is accurate in the progress he has made, this whole sense of security we are getting from the reverse turing approach could be short lived.

WordPress: Recognizing That A Plugin Is Activated

As I upgraded the site to WordPress 1.5, I had some problems with plugins. Namely for the AuthImage plugin I had half the changes in (with the plugin deactivated) and noticed that no matter whether the plugin was activated or deactivated, the site attempted to validate the authorization code anyway.

This also meant that I couldn’t, at a future date, deactivate the plugin without going back and removing the custom code I had to insert per the installation instructions to the wp-comments-post.php and the wp-comments.php file in my current theme in order to remove the error that subsequently happened when the call to checkAICode happened.

So, I worked up a solution to recognize the plugin. I added the following function to my my-hacks.php:

# Function to find out whether the authimage plugin is actually
# activated.
                                                                                                                             
function isAuthImageActive() {
    $returnValue = false;
                                                                                                                             
    $plugin_list = get_settings('active_plugins');
                                                                                                                             
    if (array_search('authimage.php', $plugin_list) !== false) {
        $returnValue = true;
    }
                                                                                                                             
    return($returnValue);
}

This allows me to query the system with a function that is available all of the time in order to find out whether the AuthImage plugin was actually activated or not.

I then wrapped all of the code that the installation instructions for the plugin told me to add to the code with the following block:

if (isAuthImageActive()) {
     custom code here
}

Now when I deactivate the plugin through the admin interface, the whole thing goes away.

Now, I know this isn’t rocket science and there is definitely a more general way to do this, but until I need to generalize it more I’m going with this solution. Remember, for this to work you have to enable my-hacks.php support.

Site upgraded to WordPress 1.5

The site has been upgraded to WordPress 1.5. Everything seems to work fine, except the WP-Amazon Plugin.

When I get some time, I might debug it, but until then, I guess I’ll have to do my Amazon links manually.

The upgrade was completely painless. The main thing that slowed me down was keeping my new vendor branch up to date and merging it in with the main codebase. It also took some time to figure out where to put the customizations I’ve done to the site like the FireFox button, and Google Ads. Otherwise, it was a breeze. What a great product!

Some things I really like about the new version, after playing with it or a few minutes:

  • The templating system – not only is Kubrick built in now, causing less customization, but you can switch through themes seamlessly. Absolutely beautiful.
  • The dashboard – All wordpress news and site statistics on one screen. Very cool.
  • The ability to manage “non-blog” pages.
  • New spamming features – I haven’t gotten into these yet, but those online poker people are in for some trouble!

I’m really looking forward to sitting down at some point and going through the details of the codebase. I have a feeling I’m really going to miss the Amazon plugin though, so I hope I can either find time to debug it, or that there is an update coming out soon!

I still have to take some time to integrate the AuthImage plugin into the site. This is one plugin that should have become a part of the overall product.

Update: February 19, 2005

I have gotten the WP-Amazon Plugin to work under WordPress 1.5 with the following changes to wp-admin/wp-amazon.php:

==================================================
--- wordpress/wp-admin/wp-amazon.php	(revision 36)
+++ wordpress/wp-admin/wp-amazon.php	(working copy)
@@ -1,4 +1,6 @@
 < ?php           
+require('../wp-config.php');
+
 /*
 WP-Amazon Plugin for WordPress 1.2+
 Version 1.2.3 2005.01.25
@@ -66,12 +68,12 @@
 
 $areMagicQuotesOn = get_magic_quotes_gpc();
 
-require_once ('../wp-includes/wp-l10n.php');
+require_once(ABSPATH . '/wp-includes/wp-l10n.php');
 
 $title = 'Insert item from Amazon.com';
 $standalone = 1;
 
-require_once ('admin-header.php');
+require_once (ABSPATH . '/wp-admin/admin-functions.php');
 
 parse_str($_SERVER["QUERY_STRING"]);

I’ll be sending a patch to the author within the next couple of days.

Update – Februrary 20, 2005
The patch I posted yesterday showed the admin menu on the popup window. I have updated the code with the final one, that looks like it did in WP 1.2 without the admin menu. You can also download the patch here.

One note: This patch is based on WP-Amazon version 1.2.3, which you can find at the authors site.

Update – March 23,2005
For those who don’t want to much with the patch, I have put the file full file here for download. Just copy this into your wordpress/wp-admin directory and everything should work fine.

Upgrade to WordPress 1.2.2

I have upgraded the site to WordPress 1.2.2. This also required me to synch up all of the changes I’ve made to the code since I originally installed WordPress 1.2 with Kubrick and finally bring my Subversion repository up to date with the current production code. I’ve not been following my own advice and have been making modifications directly on the web site.

So, I have everything updated, and a development server created that I can change things on and then move the changes to production after I’ve tested. A lot of work, but in the long run definitely worth it.

I think I got everything, however I might have missed a few things. If you run into problems, please email me at ron_at_bieberlabs.com and let me know what the issue is.