Spamblock Improvements, Part II

Reports of the past improvements to the spamblock plugin have been very positive. On top of that, I got aware that the WordPress Akismet.com Antispam Service is available for other systems of that. So I sat down and implemented their pretty easy API into Serendipity's Spamblock plugin.

For Akismet to work, you need a Wordpress.com user account, with which you get a "API Key". You must enter this API key into the s9y spamblock plugin configuration screen, and then also set the option on how to treat Akismet marked spam (either reject or moderate).

Please try out this plugin and give us feedback. You can download the updated version here:

serendipity_event_spamblock.php and lang_en.inc.php. Put those two files into your plugins/serendipity_event_spamblock/ directory. The plugin should be compatible with Serendipity 0.9.1, 1.0-beta and 1.1-alpha.

Thanks to the guys from Akismet for offering a freely available API to check Spam against! Letting the development community fight spam with bundled efforts is the only way we might get rid of the annoying destroyers of the Web.

Spamblock improvements

As some of you might have noticed, the comment/trackback spam is currently improving again. The spamblock plugin currently can catch a lot of spam, but had a slight weakness in terms of processing the ruleset.

Usually, the spamblock plugin walks all MODERATE/REJECT rules, and aborts that checking once the first rule hits on a mail. Recently it showed up that most spam is set to "MODERATE" even before some more aggressive spam detection rules were executed, so you might have received Moderation-Emails quite often for emails that would have been marked as spam later in the ruleset execution flow.

The latest version 1.40 of the spamblock plugin (Download here) will now also perform any other rule checks on a comment/trackback, even if it already had been marked as Moderate. This way, you will have the chance that another rule marks the comment as spam, and then will not infiltrate your mailbox.

Please give us feedback to tell us if this works for you, or if that new behaviour introdues any problems for you!

Quicksearch for Static Pages and Multilingual Entries

In the past few days, several people asked for the possibility to quicksearch not only serendipity entries but also static pages and multilingual entries.

I was overwhelmed to see how easy adding support for both was possibly, and did so within the past 30 minutes. I guess this once again proves how flexible the plugin architecture of Serendipity is... :-)

To get quicksearch possibilites in the Static pages, just fetch version 3.30 of the staticpage plugin via Spartacus. It will be online within the next 48 hours. As soon as you've upgraded, the quicksearch will show the results of found staticpages below the usual search results. You can customize the output of course, via the plugin_staticpage_searchresults.tpl template file.

Support for multilingual entries has one caveat: It requires an updated serendipity core file, which I just committed to our SVN 1.1-alpha1 and 1.0 release branch: Patch. This allows version 2.0 of the multilingual plugin (also available on Spartacus the next 48 hours) to fully interoperate with the search facility. It will search all entries in the language you are currently reading in and display the entries completely interface with the usual search results.

Please let me know, if it works out fine for you. Note that fulltext search requires MySQL 4.0 and above - SQLite and postgresql emulate the search with a LIKE search. Expect some performance decrease in that matter.

"Autosave" Plugin

Jay Bertrandt has created a very helpful plugin called Autosave. It helps you to make your browser auto-save entries you are creating to save you some trouble when the browser or your system crashes - which happens to the best of us. :-)

The plugin works with a lot of AJAX magic, and Jay would appreciate some feedback. Detailed descriptions and the plugin itself can be found on Jay's blog. Please test it - if it works as intended, he will shortly commit it to our Spartacus repository!

Apply markup plugins per-entry

In the past, several users wanted the ability to tell Serendipity that specific markup plugins shall not be applied to specific entries.

Until now, Serendipity applied markup plugins globally to every entry, without any distinction. Today I have committed a patch that enhances the "Extended options of Entries" plugin to specify, if specific markup plugins should NOT be applied to an entry.

This now enables you to create entries where you don't want to use the nl2br or Wiki markup. Plus, with some basic coding skills you can add new markup plugins which don't affect past entries, if you create the required entryproperty for those past entries that disable the markup plugin.

The feature has been committed to the SVN 1.1-alpha trunk and also to the affected plugins in our Spartacus repository. The change is backwards compatible, so nothing will change if you either don't use the functionality or do not make any settings to the list of disabled markups.

Wikify your blog

I've committed a new plugin called "Free Wiki links for your entries" (serendipity_event_wikilinks) to the CVS repository and thus Spartacus.

This plugin adds a very basic wiki principle to your frontend: You can use links to create new entries. Actually, this functionality is basically also available within the "Wiki Markup" plugin, but I must admit I never got a grasp on that plugin, so I created a new one for that sole purpose.

You can now include links like [[my title]] in your entries. Either they resolve to already existing titles in your blog, or they will show an entry creation link for people which are logged in to the blog.

This plugin currently is only an expermental stub, but maybe already useful for some people. So have fun!