After only a couple of weeks of being up I've implemented some pretty major updates to the site, mostly to do with the blogging system.
The most notable difference is the URL structure used for individual blog posts. When I originally designed the blogging system as an addition to Serve I was set on keeping the URL structure as clean as possible, as well as keeping it inline with the structure of the other pages. For example, using the old URL structure this page's URL would be:
You're probably thinking that there is a major flaw with using the above structure, in that if two posts are given the same title then the same post name (which is used within the URL) will be produced resulting in the permalink of the two posts being identical. This is true but I was willing to risk it on the basis of the above reason as well as not having the time to implement a more structured and secure scheme that you might see on a more popular blogging system.
After using this structure all through development I decided to improve the archive as the last change before going live. And so, the new archive page is inspired by Dunstan Orchard's archive page which highlights the fact that nearly everything is a link to either a single post or an archive for a specific point in time. The thing about implementing such an archive oriented blog is that post permalinks should really be archive based, that is they should include the year, month and day of the post. This is the most common URL structure that you'll find used, not only to overcome the obvious problem mentioned above, but also to integrate with the blog's archive system. And so, I've swicthed to using it myself with all post permalinks adhering to the following structure:
This now means that portions of the URL can be removed with the result of showing the archive for the remaining date components. For example, the following URL displays the archive for Spetember 2007:
Most of the other updates were mostly to the back-end of the blog system, mainly to accommodate all the archive related functionality but also included some major refactoring. These updates may not be user viewable but they do however improve the overall structure of the system and hopefully its performance.