In response to the growing blogging ecosystem and Web phenomena like the Slashdot effect, the developers of the Habari blogging platform have built features into their core software to tackle the increased attention blogs receive, both from innocent viewers and exploitative attackers, while making it easier for users to manage and administer their blogs.
Most blogging software start out with a simple WYSIWYG interface and store data in back end databases. Some applications evolve into more complex blogging engines with bolt-on accessories. Habari, by contrast, was written from the ground up to handle things like comment spam and traffic overloads.
Habari is written in PHP 5, which offers object-orientated programming functionality. As per the developers, the object-oriented core makes working with the code easier. PHP Data Objects (PDO) also allows developers to support several database back ends, including MySQL, SQLite, and PostgreSQL, without increasing code size or hindering performance. PDO also helps reduce the chance of a Habari-powered site being hacked through SQL injection attacks.
Habari's installation process is simple and well documented. You can use a single Habari install to power multiple, independent Web sites. This not only saves you valuable space on the Web server, but also simplifies maintenance. When it's time to upgrade, you only need to upgrade one Habari installation, and all the sites will automatically run the latest version.
Like most blogging software, Habari lets you create static pages, modify existing blog entries and pages, browse through comments (approving, disapproving, or marking them as spam), and manage tags. It also bundles three themes, with more themes hosted on the project's wiki.
The Habari administration console is simple, and its landing area (called the dashboard) is initially empty. By turning on the Core Dash Modules plugin, you can use the console to monitor recent comments and the last few blog entries, and view the latest log entries, which note activites like login attempts, user creation and deletion, and adding and removing blog posts. The plugin is already installed and just needs to be activated.
You can move through the Habari administration console without taking your hands off the keyboard. A foldable menu in the top-left corner of the administration interface flies you off to various administrative tasks such as writing a blog entry or creating a static page. Instead of using the mouse, you can use the Q key to bring up the menu, then select the corresponding number or letter to go to the task you want to accomplish.
Using the plugins
To head to the plugins section, press Q followed by P. The page is divided into two sections: Active Plugins and Inactive Plugins. Currently 10 plugins are bundled with Habari 0.5, and on a fresh install, all plugins are listed under the Inactive Plugins section. To activate any plugin, simply click the Activate button next to it. Once a plugin is activated, it appears under the Active Plugins section with a corresponding Deactivate button. If an activated plugin requires some configuration, it will have a corresponding pull-down menu with the option to configure it.
Habari includes plugins that let you access files stored on various media storage Web sites such as Flickr and Viddler. These plugins are called media silos, and you'll have to authorize them to grab content off your Flickr and Viddler accounts. Once authorized, Habari displays a thumbnail preview of an image or video clip when you create a new blog entry or page. A Habari MediaSilo plugin displays content uploaded from your local machine.
Apart from the Flickr Silo plugin, none of the MediaSilo plugins worked smoothly for me. The Viddler plugin kept loading endlessly and refused to display any content. The Habari MediaSilo local content plugin didn't upload any content in the root directory, but it didn't complain when images were uploaded into a subdirectory under the root. There's no information on what type of files can be uploaded, so I tried uploading an ODT file, after which the plugin stopped responding. There's also no provision to delete uploaded content.
Another set of useful Habari plugins are the WordPress and Serendipity importers. I tested the WordPress importer, and it imported all my blog posts and some 23,000 comments successfully. (WordPress marked most of those comments as spam but didn't delete them.)
Speaking of spam, Habari also packs a Spam Checker plugin that checks comments for various spam patterns. If a comment matches one of the known patterns, the plugin prevents it from entering the moderation queue. Habari's comment system requires all comments to enter a moderation queue, and comments can appear on the site only after an admin manually approves them.
Habari doesn't allow visitors to register on the Web site, but it remembers their name, email, and Web site details via cookies, which saves you time managing users. On the flip side, this makes it easier for spammers to overrun your blog, but Habari's simple pattern-matching anti-spam system should lessen the blow.
In addition to the built-in plugins, you'll find several other plugins on the Wiki.
Habari is refreshingly different from some of the most popular blogging software. It sticks to being just a simple blogging platform with easy-to-use interfaces for creating pages and writing blogs. Although it is still a ways away from its first dot release, the software is mature in terms of stability and features. Of note are its keyboard-driven administrative interface and bundled plugins.
While it might not rival blogging biggies like WordPress in terms of available plugins, Habari does seem to include some critical ones. I especially like the media silos and the spam prevention plugins. All in all, Habari is an excellent tool for today's blogosphere.