Akismet 2.5.1 is now out, with several f…

Akismet 2.5.1 is now out, with several fixes for 2.5.0 items:

  • Fix a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. that caused the “Auto delete” option to fail to discard comments correctly
  • Remove the comment nonce form field from the ‘Akismet Configuration’ page in favor of using a filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output., akismet_comment_nonce
  • Fixed padding bug in “author” column of posts screen
  • Added margin-top to “cleared by …” badges on dashboard
  • Fix possible error when calling akismet_cron_recheck()
  • Fix more PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher warnings
  • Clean up XHTML warnings for comment nonce
  • Fix for possible condition where scheduled comment re-checks could get stuck
  • Clean up the comment metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. details after deleting a comment
  • Only show the status badge if the comment status has been changed by someone/something other than Akismet
  • Show a ‘History’ link in the row-actions
  • Translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. fixes
  • Reduced font-size on author name
  • Moved “flagged by…” notification to top right corner of comment container and removed heavy styling
  • Hid “flagged by…” notification while on dashboard

We’d like to get 2.5.1 in as part of the WP3.1 release

#akismet

As was discussed in the last dev chat I…

As was discussed in the last dev chat I’ll be posting here periodically about dev changes in the Akismet pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party 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:

  • New files:
    • admin.php
    • akismet.css
    • akismet.js
    • widget.php

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 APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. 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 HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. 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-adminadmin (and super 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 https://plugins.trac.wordpress.org/ – be sure to set ‘Component: akismet’

#akismet

The new post format details are now expo…

The new post format details are now exposed via the XML-RPC APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.:

ticket – https://core.trac.wordpress.org/ticket/15405
commit – https://core.trac.wordpress.org/changeset/16484

In short, there is a new method – wp.getPostFormats – that provides you with an array of the post format values and a new wp_post_format field supported in the metaWeblog.getPost, metaWeblog.editPost, and metaWeblog.newPost methods.

#xml-rpc

Previously we’d talked about putting up…

Previously we’d talked about putting up a stats page on WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ (WPORG) so that more people could see what was happening. While working on some of the new stats processing code on WPORG I realized that people would likely end up scraping this data for their own uses. That seemed like a waste, so instead as a first run the stats numbers are available in JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. format via:

https://api.wordpress.org/stats/wordpress/1.0/
https://api.wordpress.org/stats/php/1.0/
https://api.wordpress.org/stats/mysql/1.0/

A few notes about these numbers. First, they are summary percentages for the previous day (where day is based on GMT). You’ll also notice that these numbers don’t really line up with each other, this is because the system normalizes the version numbers and throws out odd/invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. versions (I was surprised by how many odd version strings there are out there). As a result each categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. is best compared to itself, instead of trying to compare PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher with MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. numbers.

The content type returned for this data is ‘application/json’, your browser may or may not display them correctly.

This is a start, there are more things to be added to this in the future. One obvious item is support for getting numbers for previous days and date ranges. Another would be to add some pretty graphs to WPORG to display this data.

#api, #stats