Serendipity 1.0-beta3 released

The Serendipity Team is still working hard on finding the time to not only work on new features of the 1.1 version of Serendipity (like a new per-template configuration options, a completely redone media gallery and media permissions), but also to finalize the long overdue 1.0 release. We are getting close on settling up the design debate, so stay tuned for an update on this.

It's our goal to have the 1.0 release finally be done this month; the codebase is rock-solid, and the 1.0-beta3 version should be ready for showtime for everyone; there are no open bugs or issues known to us, and this version is to prefer over the old 0.9.1 version currently.

If you are already using 1.0-beta2, there is little reason for you to upgrade. beta3 mainly includes some minor bugfixes as well as some last-minute features to force FeedBurner feed redirection, the most recent updates to the Spamblock plugin, a Pivot importer, missing UTF-8 encoding for Windows-Server date responses. Also two minor security issues were addressed. One being an (hard to do) XSRF-attack on the entry manager page, the other one being able to save PHP code in the serendipity_config_local.inc.php file. Only an Admin can do that, and usually and Admin has other means to save PHP code on your server ;-).

Since those changes remedy a new release candidate before the final 1.0 release, we would be happy for anyone trying out this version and report us possible new issues. beta2 has been very well received so far, and our top priority for the 1.0 release is to have a rock-solid release. Without you fellow users, we can't find all bugs, so it's also up to you to help us. Drop by on the forums to report bugs you found!

Download the release here. To upgrade, please read our FAQ - it's easy and fast. :-)

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!

Shared Serendipity Installation(s)

Often people ask how to setup a shared Serendipity installation. Even though this is documented, there is no "run and be happy" script provided for that. The reason is that usually your webserver has specific dependencies on how to maintain virtual hosts, user directories and SQL databases.

Thus, services like supersized.org or others need to create their own scripts for dealing with this.

A help for novice users now comes through Chris Lander. He has committed Bash and Perl scripts that take on the job of setting up shared installations. The CVS repository where he committed his code is online at SourceForge ViewCVS. You can also download the whole package.

Chris is very enthusiastic about getting feedback or other user help. You can reach him at "clander at labbs dot com". Drop him a line, if you are using his scripts!

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.