Categories
Technology

Comment goodies

Another package I’m working on is a set of files that will add all my comment functionality to a WordPress 1.22 installation. This includes the functionality developed by others–live preview (from Chris Davis) and spellchecking (incorporated from Cold Forged) — in addition to my own modifications, such as being able to edit a saved comment. I’m also adding the rich HTMLEdit functionality to the edit page for the saved comments.

I am unsure about some of the other functionality, though. For instance, I won’t be able to provide my individual moderated comments because this requires changes in the admin page. That kind of functionality you’ll get from Wordform when I’m finished with the pre-alpha-beta-newbie-baby 0.0001 release, by the end of this week, or beginning of next.

But I can provide my backend comment spam prevention that, first of all, renames the backend comment posting file to something new; it then checks to see if more than so many comments have been posted in the last hour, and last day (limits that can be modified to your own preferences). If so, throttles kick in and the comments are rejected. This will prevent the problems with “10,000 comments, all at once” problem that has plagued Movable Type so severely.

In addition, I have functionality that will test the age of the post, and if it’s over so many days old (again configurable), it will put the next comment into moderation, and then close the post.

With both of these controls in place, I have very little problem with spam. Well, other than the new breed of spammer that is now running mock weblogs, with hidden links to porn sites and making individual comments, just like a real weblogger.

Would this backend protection be of use, and should I add it to the package?

The comments package is for WordPress 1.22 — the new Floating Clouds theme for 1.3 will have some of this included, automatically. It should be easily configurable, drop in and play, though it will require replacing your existing wp-comments.php page.