Customizable Plugin Sidebar locations

For ages, Serendipity has given users the flexibility to move around plugins in the left/right sidebar. Two sidebars were a usual concept for blogs in the days past, and for surely some more days to come.

But some themes, like the Hemingway theme give people a different approach to surrounding their blog content. The result of a porting discussion on the forums lead me to patch our plugin API.

Serendipity 1.1 already support custom theme options (like special navigation bars, colorsets etc.), and what came out of my recent patch is the functionality to define multiple custom sidebars.

With this, you can add a "top", "bottom", "middle" or whatever else sidebar locations to your themes, and put them in the smarty templates using the function {serendipity_printSidebar side="XXX"} wherever you like.

It's as easy as adding a config.inc.php file to your template, add a $template_config array value like this:

       
$template_config = array(
     array(
       'var'     => 'sidebars',
       'title'   => 'Sidebars',
       'type'    => 'string',
       'default' => 'left,hide,right,bot'
     )
);
(or modify existing config arrays) and save the file. When you now enter your plugin configuration section, you will see each of the sidebar locations next to another, so that you can move around plugins from one to the other location.

There are two things to watchout: If you use locations other than 'left' and 'right', other templates may not output plugins that were put to a location like 'bot'. So if you switch templates, you must watch out on where you put your sidebar plugins into.
The other thing to pay attention: Only use "," to separate the sidebar item names (no spaces!) and never use more than 6 characters for your locations.

Please have a test with these new possibilities, tell us if you like it, and show us the results you made with it!

This functionality has been implemented into recent Serendipity 1.1 nightlies (currently 1.1-beta4)

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.

Continue reading "New PHP and XML/XSLT Template Engines implemented"

SourceForge CVS / Spartacus functional again

The last month has been a hard time for developers on SourceForge.net, because their CVS service went down for good also for developers, and anonymous access was not updated for the time being.

The Serendipity Spartacus plugin by default uses the SourceForge Servers for downloading plugins and files, and thus this had not worked properly the past month. The first way to fix that problem was to use the "Netmirror.org" file mirror.

Because of the changes made by the SourceForge team to CVS, their new infrastructure will no longer work with the Spartacus plugin, because they changed Domain and URL locations. Users should either use the Netmirror.org file mirror, or use the latest version of the Spartacus plugin with the new path location: serendipity_event_spartacus.php + lang_en.inc.php. The patch is fairly easy and just replaces the URL of the server.

Attention for Plugin Developers using CVS access: SourceForge.net has changed the CVS server from "cvs.sourceforge.net" to "php-blog.cvs.sourceforge.net". You will either need to check out that new repository, or else use this bash command to search+replace all the old paths to the new paths:

find -name "Root" -exec sed -e "s:@cvs:@php-blog.cvs:g" -i {} \;

(Many thanks to lars for pointing this out to me)

Read the Sf.Net docs for details on the new CVS project service. Other good news is that anonymous CVS access will no only lag 2 hours, not 24 hours.

Let's see how this will work out, and my thanks to the SourceForge.Net team who has surely not an easy job providing free access for thousands of projects.

May Template Madness

May is shaping up to be a month to be remembered, with four new templates released this month already, two of them coming from fresh new designers to the world of Serendipity. Let's start with our new designers, Bex and Abdussamad. Both of these designers have created templates that I'm sure will really appeal to people because of their graphical component, Bex01 being a two column template with an eyecatching header and sidebar graphics, while Stained Paper is exactly that, a sheet of old parchment forming the background image. If you like either of these designs please comment on the authors sites and give them the encouragement to keep designing. Myself and Dave have also released new templates this month, Dave with his popular Matrimony design, and myself with 1024px, a conversion Andreas Viklund's html template of the same name. Are there any other designs we should know about, we really should keep up the momentum in May, why don't we set a target of ten new templates for this month?