PowerBlogs.Com Development

New variables for the post template

I've added two new variables to the post templates — [$CategoriesList$] and [$ParentheticalCategoriesList$]. They allow you to indicate in the post template which category or categories the post is in.

Weekly archives now reflect historical rewriting

Previously the "weekly" archives only used the creation date of the post to determine which "weeks" to link. Now they use the display date so that if one uses the rewrite history feature to back-date posts, the archives lists will now reflect this properly.

(note: I say "weekly" since that archive style is not truly weekly, but rather a method of slicing up months which tends to slice into 7-day segments. I really should add a true weekly archive option, which aligns on Saturday-Sunday borders.)

Faster posting

Posting and editing should now be a lot faster than they have been. This is partly due to a more aggressive database maintenance schedule, but much more to a number of performance optimizations.

While categories are a good feature, they substantially increase the amount of work to be done. Post-chains similarly are a great feature but at the cost of increased complexity — when a post is joined into a chain, every post in that chain needs to be re-written to reflex the new member of the chain. While this creates work, it also creates opportunities for redundantly rewriting pages, which had been going on. To ensure that every page which needs to be rewritten is rewritten without sacrificing too much speed, most of the important functions are now implemented with a scheduling/marshalling paradigm, so that scheduling a given archive page for writing multiple times only causes it to be written once. Between this and a bit of optimization to eliminate some redundant function calls, posting and editing should be dramatically faster than they have been.

(Geek note: while writing your own code profiler isn't exactly easy (hint: if you're going to try it, make sure to disable auto-loading or you're in for a world of pain), it sure is fun.)