Major Blogs Package Upgrade Underway

Will • 18 Mar 2007 (18:08 UTC)
Research and Development
We have exciting news, we are undertaking a major upgrade of the blogs package! The blogs package has been one of the most in need of upgrading from tikiwiki's structure. The changes are excellent, however they are not complete. And the process of completing this work could be disruptive to existing bitweaver R2 installs. New changes to blogs are being inserted into HEAD branch in cvs. If you are running an R2 site and using the blogs package it is VERY IMPORTANT that you NOT cvs up blogs until the full refactoring is complete.

To avoid accidentally cvs updating your blogs dir, you should:
mv blogs/CVS blogs/CVS_DISABLE

We expect the full refactoring will be complete within two weeks. This refactoring of blogs was prompted by a client project which has a final launch of April 10th, so we are aggressively pursuing these upgrades to be complete well before that date.

Here is a summary that describes how blogs is being improved, what the differences are from the current blogs package, and how backward compatibility is being assured.

Better Blogs One Post at a Time

Around the interest of supporting better community blogging features in bitweaver, we are bringing a better overall structure to the entire blogs package in the coming upgrade. One of the central features of community blogs is the ability of every member of a site to be able to post, and for admins to have front page or special blogs that they can post to and promote user posts to. The upgrades coming to bitweaver will now facilitate this and much more.

The key change we are making to blogs is: posting no longer requires a blog to post into. So anyone with the permission to post can create a post. In the past you had to post into a blog - which meant a bitweaver site either had to have a blog that allowed anyone to post to or the user had to first create a blog they could post to. Meanwhile who could post to a blog was a all or one situation - either all users could post to a blog or only one user could, the blog's creator. Select groups of users could not be empowered to be the posters to a particular blog. The comming upgrade solves all this.

Users no longer require a blog in order to post, This eliminates a needless step in post creation and reduces blog overhead.

Posts will be joined to blogs through a mapping table. This means posts live independently, but can also be associated with a blog or even multiple blogs. This transforms blogs into spaces where groups of users can post to. It also means posts from other users, who otherwise do not have permission to post to a blog, can be promoted to a blog by an admin. This is a common desirable feature in community blogging today.

Rights to post to blogs will now be governed by more sophisticated permissions. Multiple groups can be assigned the permission to post to a blog or multiple blogs.

Half Way There

Most of the work required to change the fundamental relationship between posts and blogs has been complete. However, what is not complete is permission checking to make sure the right people can post to the right blogs. As a consequence some of the features of joining posts to blogs are broken for the moment and the changes are not yet compatible with existing bitweaver sites. Most importantly for existing sites, users would not be restricted to posting to only the blogs they have created.

The permission problem and making blogs backward compatible for existing sites is being worked on. Concurrent to the blog upgrade we are doing a significant revision to the core permissions system. This work, when complete, will then make all the blog permission problems solvable, and they should be solvable rather quickly. We will create an upgrade which translates legacy blog posting permissions to the new blog posting permissions configuration. In the end, the new blogs will bring the better configuration described above while preserving blog posting associations between users and their blogs on legacy sites.

Cheers,
Will
wjames5