Tag Archives: WP Plugins

Sidebar collapser… plugin?

I’ve had questions every now and then about how I do the sidebar collapsing thing (show / hide links) on my sidebar area. I have it running as a plugin, but I haven’t publicly released it yet (more on that later).

For those who don’t want to wait, you can always check out the SidebarCollapser.js file linked to this page; that’s really all there is to it. The file contains a script that will run when the page loads, and go through the sidebar and add the show/hide links to the appropriate sections.

One basic principle I try to adhere to is “unobtrusive javascript”, which means that the page should load and work fine if the browser does not support script (or has it disabled). The user should be able to use the basic functionality of the site without enabling javascript. Furthermore, (IMHO) they shouldn’t even see things that they can’t use, so the additional script-based functionality (in this case the show/hide links) should only even show up if their browser will be able to use them.

Like I said above, I’ve been thinking about packaging it up as a plugin, but I’m undecided about that since I don’t seem to have a lot of time lately to support and upgrade the ones I’ve already released, much less taking on new stuff. Aside from the time requirements for support, I’d also like to go through and refactor / clean up the code a bit before I’d release it anyway. Anyone is welcome to take it and adapt it to suit their own needs, but unfortunately I can’t take the time to package it up and release (and support) it as a plugin right now.

WordPress Tagboard Plugin / Widget 2.2

Version 2.2 is available now! This update is released to fix a bug that prevents non-registered users from posting a comment (or “tag”) to the board, on default installations of WordPress. It should work correctly now.

The technical details are that the WP Discussion option labeled “Comment author must fill out name and e-mail” is checked by default when installing WP, and there is (currently) no e-mail field in the tagboard. For now, to get around this issue, the system will add a dummy address to anonymous taggers, but in the future I’m considering either (A) not applying that restriction to the tagboard entries or (B) providing an e-mail address field for non-registered users. Please let me know what you think would be the better solution.

Also, one other thing to note on the subject of WP Discussion options is that the restriction labeled “Comment author must have a previously approved comment” is also checked by default. If this is selected, the comments (or “tags”) to the tagboard will be held in moderation if that particular name has not had a previously approved comment (or tag). This will result in the tagboard appearing to not work for first-time commenters, until their tags get approved. The suggested workaround for this right now is to uncheck that option, but I’m also looking for feedback on that one. Would it be better to (A) ignore that setting for tagboard entries and/or (B) provide a separate checkbox (on the tagboard config page) for whether or not to apply that restriction to the tagboard.

I’d appreciate any feedback anyone has on those two issues. Thanks again for all those who have given it a try, especially those who have provided feedback. My apologies for the delay in fixing it; I’ll try to keep more on top of it from here on out.

UPDATE: Just followed up with version 2.2, which also includes a fix for the display of the tag count in the admin page, courtesy of this comment from the owner of the blogwae site. Thanks!

Not missing Akismet

I was just reviewing my spam stats and noticed that somehow my Akismet API key got dropped out of my SpamKarma 2 plugin configuration some time ago, which means it hasn’t been checking spam against Akismet for a while.

I was about to go find my key and put it back in, but looking at the spam karma scores, I don’t think I want to. When it was in there, I’d very often notice (when reviewing the logs) that Akismet marked a particular (sometimes obvious) spam as “not spam”, and it was only kept out by the other SK2 pieces that counterbalanced that false Akismet score.

Now that I’ve been unwittingly running without it for quite a while and not seeing any adverse effects, I think I might just keep it that way.

Top Commenters Bump

I decided the other day (in the process of fixing this bug in my top commenters plugin) to remove my name from the top commenters list on my blog, since it doesn’t make to much sense to have it in there. After all, of course I will probably always have the most comments in here, but who cares?

So, congratulations to everyone else, who gets an automatic bump up on the top ten list!

Now I just have to go back and have it pull the most recent URLs for the commenters instead of the ones from older comments. I think I may actually just switch it to only post the URLs of registered users instead, though.

Test tags

I’m thinking about what my policy should be for entries in my tagboard that are obviously tests. It’s understandable that I will get these, since I’m hosting and releasing that tagboard plugin here, and people will want to try it out.

Even though I know the people probably won’t care, I still sometimes feel bad about deleting them, but that’s better than just eventually having a tagboard full of gibberish, I guess.

Rewriting for licensing

Now I’m thinking of rewriting the last parts of my tagboard plugin that are held over from the original one that I based it on, so that I can release it under the GPL instead of the license it has now, but then again I’ve got so many other side projects on the backburner that I’m not sure that it’s worth it.

New Plugins / Widgets

The following WordPress plugins / widgets that I’ve been working on are now ready for initial distribution.

See the descriptions at the following pages for more information:

I recommend using these with the “widgets” plugin, which will allow you just to drop these components in and configure them (arrange them in your sidebar, set various parameters, etc.) without editing any code.

All of these plugins have been tested both in WordPress 2.x and WordPress MU.

Enjoy!

Tagboard

It should be working now; go ahead and give it a try. Let me know by commenting on this post if you run into any errors.

After a few days (or less if there’s more activity) of testing, I plan on realeasing it for everyone to use, so help me out here!

FreePressBlog - 2.0

Unless you’re reading this via RSS, you probably noticed a few changes here on the blog. It is much too late at night to elaborate on any of them in lengthy detail (as I am prone to do), but I will post a quick summary for now, and follow-up later with more details.

  • Rojo Syndication: This one solves two of my recent desires: (1) Wanting a way to include headlines from other sites, etc. without creating a whole post about them, and (2) really wanting to write a 2.0-ish plugin. I wrote this one by making use of Rojo’s feed data, where I can “flag” posts as I read them, and then my plugin will pull them in here and cycle through them.
  • Tagboard: Yes, it’s finally back. I decided to totally rewrite this one, basing the UI around this AJAX Shoutbox plugin, but instead of the custom table backend that one has, mine uses the standard Wordpress commenting system, so that it is automatically integrated with your existing anti-spam systems. It will auto-update without refreshing the page, so if you are carrying on a tag conversation with other people, you will see their entries without refreshing. And it’s now a “widget”, as well.
  • Widgets: All my sidebar items have now been packaged into Widgets, which is a new WordPress package for sidebar plugins which will allow you to use a little ajax-y UI to reposition stuff (plugins, etc.) into your sidebar, and not need to know how to insert the appropriate PHP, etc. - (see the link for more info).
  • New Recent Comments and Top Commenters plugins: I’ve rewritten both of these plugins I did a long while ago to be Widgets, and they have their own configuration options available on the widget admin page now, instead of specifying them in the call to the plugin like you had to before.
  • Widget Collapser Plugin: I packaged up the javascript I’ve been using in my theme for a while to collapse those side menu items into a plugin that will automatically work with any sidebar widgets that are on your page. After the page loads, it ads show/hide links next to the title for all your sidebar widgets, and then will remember any given user’s settings (via a cookie) so that the next time the come to the page they don’t have to collapse and expand the ones they did the last time, if they like seeing things a certain way.

I’m pretty tired now, so that will have to do it for now. Like I said above, I’ll probably follow up later with individual posts that will go into more detail about each new plugin (including download links).

In search of the perfect comment spam solution

As you’ve probably noticed if you’ve been reading this blog (or Dan’s) for a while, I’ve been trying out various alternatives for preventing comment spam on my blog, and today I just started a new experiment, which I believe will be very successful.

The two main anti-spam plugins for Wordpress are “Spam Karma 2″ and Akismet (there are others too, but these are the main ones I’ve used). WP2 comes with Akismet preinstalled, so most Wordpress blogs probably use that, unless the blog owner is savvy enough to experiment with other plugins and/or gets tired of how much spam Akismet still lets slip through the cracks. Anyway, Akismet works by forwarding the comment to a server and having the server give a yes/no reply as to whether it is considered spam or not. SK2 works completely on the blog server, analyzing a comment in a number of ways (which you can add to with plugins), and gives a comment positive and negative “karma” points as it is evaluated, which will ultimately determine its fate. I could go into more technical details, but you can search my previous entries for more on what I think of the merits of the different approaches.

Today (just now actually) I moved back to using SK2, and added a check against Akismet as a SK2 plugin, so that the Akismet reply becomes part of the overall karma of the comment, but is not the only line of defense. I expect to get dramatically fewer spams now, and I will be tweaking the configuration if necessary over the next few months, and perhaps eventually packaging up what I’m using and releasing it with the default settings configured to what I’ve found works for me.