As was discussed in the last dev chat I’ll be posting here periodically about dev changes in the Akismet plugin since it ships with WP. With version 2.5 of the plugin coming soon (next day or two hopefully) we really want to make sure it is included with WP3.1 when it ships.
And with that, I give you:
Changes in upcoming Akismet WordPress Plugin, version 2.5 compared to version 2.4:
The new files should be reasonably self explanatory. We’ve been breaking out the different functions of the plugin to separate files.
- Test mode
The test mode provides an additional parameter to Akismet.com API calls to let it know that you are only testing and that the API calls should not be used for learning. The test mode is enabled when WP_DEBUG is TRUE or when AKISMET_TEST_MODE is TRUE.
That last part is worth a repeat, when WP_DEBUG is TRUE then test mode is enabled.
- Spam check history
The plugin now keeps a history for each comment and the interaction with Akismet. The ‘Edit Comment’ screen will display a ‘Comment History’ section with details.
Related to this is an indication on each comment explaining what Akismet did with the comment.
- Auto retry
When a comment check fails we note that and schedule a cron job to try again later. We found that hosts would make firewall or routing changes that would prevent WordPress from reaching Akismet.com. This retry feature will take care of processing the comments that were missed during that time once the server can reach Akismet.com again.
- Clean up
Various little house cleaning items, like deprecated function calls.
- WordPress HTTP API
The Akismet plugin now uses WordPress HTTP API. The big win here is being able use the built in proxy support.
- Use complete details for spam/ham reports
When a user specifically clicks on spam/not spam we didn’t have all of the original data for the comment. This records that data so that Akismet can use it to learn from.
- Passive comment nonce
The plugin adds a nonce field to the comment form. The result of the nonce check is then passed to Akismet to help look for abuse.
- Call comment_check() on non-spam
Even if Akismet says the comment is not spam, call check_comment() to see if any other moderation items need to adjust the status of the comment.
- Link highlighting
Make links that might not be obvious in comments a bit more obvious. Some comment spam would try to hide links, making them hard to find or see when reviewing comments in wp-admin.
Currently available from https://plugins.svn.wordpress.org/akismet/dev/ (our bleeding edge dev section) if you’d like to try it out. Once released we’ll also have a tag for it in https://plugins.svn.wordpress.org/akismet/tags/ (2.5) which we’ll use for the WP3.1 Akismet SVN external.
Tickets for the Akismet plugin can be created at http://plugins.trac.wordpress.org/ – be sure to set ‘Component: akismet’