Spartacus Improvements (Themes + Plugin Categories)

I have prepared a patch which allows the plugin interface to be a bit more intuitive.

It combines the spartacus/external plugins into the same interface you use to install downloaded plugins, so this is now one large list of plugins. The new list also allows to be grouped by one level of categories.

Some plugins in the list, and some spartacus plugins have been given the new "group" property so that you can play with the patch.

For the interface to load faster I have created an intermediate cache, that stores the plugin metadata and makes it retrievable easier on the interface. The upside of this is that the list of plugins is now much faster created.

This may possibly cause a lot of trouble, so do not apply this patch in a working environment. Only use it for fun and report back to me how you like it.

In a future step, the new (localized!) plugin XML metadata can be used easier on a pear.php.net like interface.

The patch can be found here: http://blog.s9y.org/uploads/plugincat.diff

UPDATE: New diff file http://blog.s9y.org/uploads/plugincat2.diff supports Template downloading via Smartacus, uhm Spartacus. :-)

UPDATE 2: New diff file http://blog.s9y.org/uploads/plugincat3.diff contains support for alternate file mirrors. The list of mirrors will hopefully be updated soon to contain some backup locations.

Multi-Category selector

Some users of the Konqueror-Browser may have noticed that when posting a new entry, the "plus" icon next to the categories selection did not toggle anything.

This functionality was meant to toggle a multiple-select field when clicked, to preserve screenspace on most browsers and make it easier for people that do not want to post in multiple categories.

This functionality did not play well with Konqueror's interpretation of the select-field's properties. I have thus rewritten the JavaScript code to toggle the state of the select field, and it should now work in all major browsers. I have committed the patch to our 0.9 SVN, and it should be contained in the daily snapshot created later today.

I'd be happy for any reports regarding this functionality and whether it's working fine for you. Remember that when toggling from a multi select to a single select, the function will remember the last multi-select of your categories and restore those. So it is considered a feature when you select edit an entry with multiple selected categories, toggle to single select, and then toggle back that all previous categories get re-selected. Thanks for your feedback!

Permission Groups / ACLs committed

As already foretold in this entry, I have committed a patch to our 0.9 SVN trunk which enables Serendipity to have multiple group permission privileges.

You can read more in my posting on the mailinglist.

The bottom line is: We now need some bug- and QA testers who need this functionality and are willing to testdrive it. Huge problems are not expected, but the more people testing it, the better.

On a related sidenote, I have added a "Current state of SVN" box in our blog on the right hand side. There you can easily spot in the future if the current nightlies are considered stable or unstable. Thanks a lot and have fun!

User Permission Groups

I've spent some time to improve the Serendipity User management.

The result of this is a patch which create Usergroups. You can give each usergroup a set of permissions the members are able to perform (like "Maintain Entries", "Maintain Users", ...). The privileges can easily be enhanced. An author can be member of more than one group.

This kind of obsoletes the old "Userlevel" mechanism we have, but I've tried to incorporate the patch in a way so that old plugins depending on the Userlevel should still work, because the 'userlevel' column is not yet dropped.

This mechanism seems to work fairly well, I've also upgrade the entryproperties plugin so that you can define by which usergroups an entry can be read.

Volunteers please try out the patch here: usergroup.diff. Please report any problems you face and if you like the direction where it's headed at. The diff is made against 0.9-alpha2 and will eventually be committed to SVN somewhen next week, depending on the feedback. :-)

Have fun!