New PHP and XML/XSLT Template Engines implemented

The past weekend, Davey asked me in an IRC chat that he's put off by Smarty and would like to use Serendipity without it for his next blog design. Mostly because of loosing some overhead.

I'm basically split oppinion on this: Smarty Templating is a great way to ease things up and unify a templating language that looks better and is more accessible to newbies. So this is basically an advantage that I, as a programmer, am willing to take. But to any one who's got his looks on grandma's performance pennies might think otherwise, and might think that PHP itself already is a templating language. Which I can understand. :-)

Smarty luckily has a pretty, pretty easy API facing towards the User. Basically all that Smarty needs are the assign and display methods. There are some more convenience functions, but let's disregard those for a moment.

With that in Mind, I was able to create a PHP AND an XML-Templating Engine for Serendipity, which completely bypasses Smarty by still using the same outward-facing API.

"New PHP and XML/XSLT Template Engines implemented" vollständig lesen

Serendipity 1.0 released!

The Serendipity Team is proud to announce the final release version of Serendipity 1.0, an advanced and flexible blogging/cms web application. With its comprehensive feature set, including multiple authors, internationalization, templated output, and an open plugin architecture, Serendipity's stable 1.0 release is ready to become the most popular Web application in the world!


Serendipity is a PHP-powered weblog application which gives the user an easy way to maintain an online diary, weblog or even a complete homepage. While the default package is designed for the casual blogger, Serendipity offers a flexible, expandable and easy-to-use framework with the power for professional applications.

Casual users appreciate the way Serendipity's sophisticated plugin architecture allows you to easily modify both the appearance of your blog and its features. A single click installs any of more than 120 plugins, instantly enhancing your blog's functionality. No need to edit code! Likewise, one click installs any of more than 40 official templates, so your blog looks the way you like it. And Serendipity's SPARTACUS plugin automatically checks the central repository for upgrades and new functionality whenever you check the list.

Advanced users value Serendipity's Smarty templates for combining simplicity with well-documented web standards. It makes minor modifications trivial, but provides the power to unleash your creativity and completely customize your site! Serendipity's outstanding support gives you the confidence to be adventurous, too.

Programmers and other technical users commend Serendipity for its fast, stable, clean PHP code. While beginners can learn from Serendipity, advanced programmers can easily make complex modifications. Serendipity is programmed in PHP, long recognized for its ideal blend of power, simplicity, and speed. Serendipity's BSD licensing ensures that programmers around the world can learn from it and improve it.

Users of other blogging/CMS applications are already switching to Serendipity, thanks to its easy customization and outstanding support. Corporate users are taking advantage of Serendipity's unparalleled flexibility to set up fast, simple CMS sites.

Serendipity's basic features include something for everybody, from the personal blogger to the professional corporate web designer:

  • WYSIWYG and HTML editing
  • Built-in, powerful media database
  • Multiple authors, configurable permission/usergroup system
  • Threaded comments, nested categories, post to multiple categories
  • Multiple languages (internationalization)
  • Online plugin and template repository for easy plug-and-play installation
  • Cool plugins: category-based sub-blogs, podcasting, RSS planet/aggregator, static pages
  • Robust spam blocking
  • One-click upgrading from any version
  • Can be embedded into your existing web pages
  • Standards-compliant templating through Smarty, remote blogging via XML-RPC
  • BSD-style licensing
  • Multiple Database support (SQLite, PostgreSQL, MySQL, MySQLi)
  • Shared installations can power multiple blogs from just one codebase
  • Native import from earlier blog applications (WordPress, Textpattern, MoveableType, bblog, ...)

Of course, Serendipity has far too many other features to list!


The Serendipity team has been working hard to produce what we think is the best blog in the world. Since our most recent prerelease, we've updated the installation screens, added new languages (Polish, Turkish, and Tamil), made our RSS feeds templatized, improved the spam filters with Akismet support, and fixed every known bug.

But there's even more to like about Serendipity! Here are a few other recent improvements:

  • Completely new, fresh default template from the contest winner, Carl Galloway!
  • Fixed all known bugs, making the 1.0 release of Serendipity the most stable version ever
  • MORE Spamblock improvements (Blacklists, stronger Captchas, Akismet, improved ruleset filtering, bypass captchas for registered users)
  • Improved language handling facilities for better co-operation with multilingual entries
  • Enhanced templating (hiding sidebars, including extra entries anywhere in template)
  • One-click editing of static sidebar HTML
  • Full phpDoc code documentation for all Serendipity functions
  • New Pivot Blog importer
  • Bugfix: UTF-8 in permalink and markup
  • Bugfix: Correct comment counts
  • Bugfix: Recode UTF-8 trackbacks to mismatching blogs
  • Bugfix: Better XHTML and CSS output for internal plugins

And those are only the highlights! See the docs/NEWS file in the release file for the full list of changes.


Upgrading from any version (even previous beta or alpha versions) to Serendipity 1.0 is startlingly easy: just unpack the release files to your existing Serendipity directory, go to your admin panel, and confirm the upgrade process. Serendipity automatically upgrades your database and informs you of important changes. If you are upgrading from a version prior to Serendipity 0.8, be sure to read this upgrade pointer:


Just because we've completed the stable 1.0 release version, don't think we're out of ideas! The Serendipity Team has already been working hard on version 1.1. This huge effort has already provided a vastly improved media database, supporting ID3/EXIF evaluation, on-the-fly synchronization with the filesystem, annotations (all customizable through templates) and a new explorer-like interface to the media files. Also, all media directories can now have individual permissions.

We've also enhanced usability, so you can temporarily disable event plugins, customize theme options, like colorsets and menus, and enable or disable specific markup plugins for each entry! As well as constantly improving the user interface and adding drag'n'drop support for arranging plugin items easily.

To participate in the future of Serendipity, try out the latest Serendipity 1.1 snapshots, and visit us on the forums.


Serendipity 1.0 marks the end of a very long development cycle that started in 2002. Many beta-releases have been issued since, keeping us closely in touch with the community, fixing bugs and offering features our users really wanted.

The team would like to thank everyone for reporting the issues they found and telling us developers what you really want form your blog. Visitors to the forums will see how much of their feedback was implemented into Serendipity 1.0!

Refining Serendipity's documentation and appearance was critical to the release of Serendipity 1.0. Thanks to the great help of Carl Galloway, David Cummins, Judebert, ceejay and Martin Jacobsen, Serendipity not only has a new default theme, but a new logo and website. We couldn't have done it without their help, or the help of the community that participated in that public process. In recognition of that outstanding community, the new logo includes multiple individual circles, grouped as a platform. From that platform, you can create anything.

Our small "1.0 Release Team" is proud with what we have achieved in our little spare time, and even though it was difficult at times, we believe that with this new logo, look, and functionality, Serendipity will continue to be the best blog engine, and grow into the most popular.


The Serendipity home page:

The Serendipity forums:

Serendipity news from the Serendipity Blog:

Serendipity plugins:

Serendipity themes:

Try Serendipity online:


Now what are you waiting for? Download the Serendipity 1.0 release!

On behalf of the s9y-Team,

New Serendipity 1.1 Features

The Serendipity 1.0 release progress is advancing - currently we have created new page layouts for the blog, wiki and spartacus pages that acommodate the new logo and our new default theme by contest winner Carl Galloway.

A major new documentation contribution, documenting all Smarty variables has been made by me: CSS classes / Variable Documentation on the Wiki. We are getting things together and finalizing the designs - the Serendipity 1.0 release version can hopefully be uploaded at the end of next week, if everything goes according to plan. Plus, the Serendipity Installation Documentation has been greatly improved and now contains screenshot-guided instructions.

Parallely, work on Serendipity 1.1 is evolving very well. Here are a few new key features:

  • Completely overhauled Media Gallery. Serendipity has always been a major player in providing easy media database access, and is now enhancing it for even more usability and flexibility. You can now assign privileges for every media directory. You can now retrieve and store meta properties like descriptions, EXIF-Data, keywords - and filter/search for them easily. Plus, the media gallery is now Smarty Template-driven, so you can customize it to your needs. You can now move images/whole directories within the filestructure, and existing entries will be edited to suit that new location. The media database can now be synchronized on-the-fly with contents on the webspace - means you can upload files via FTP and they will automagically be imported. A explorer-like view on the directories completes the featureset.
    Watch this video:
  • You can enable/disable certain markup plugins per-entry. Ever wanted to create a Full HTML posting, but were annoyed by automatic nl2br conversion? Now you can turn it off for specific entries.
  • Support for Template Options. All Themes can now offer specific configuration options for using a theme, like specifying which colorset you want to use, which navigational items you'd like to see and even fine-control banner options. See Carl Galloways Page for some sneak previews on the functionality to come!
  • Finally, you can now use Drag And Drop to re-order your sidebar/event plugins much more intuitively than in the past. It uses enhanced JavaScripts (from / tool-man - great script!), that works on all major browsers. For those browsers that don't offer support for that, or for users without JavaScript, the old method is still working seamlessly. This means, that Serendipity continually strifes to both deliver top-usability to our users, as well as satisfy people who are paying close attention to security issues.
    Watch this video:

So, if those features ring any bells inside your bellies, go to the Serendipity Site and try out 1.1 Snapshots. And stay close for the never-ending story of the Serendipity 1.0 release in the next days. :-)