August 21, 2002

I’ve always tried to keep my code modular so that the same code can be called from two different places to do the same job. However, I always have to fight the impulse to break the code down to the smallest functional modules all the time. What do I mean by the tiniest functional module? Well, even a module can be broken down into a smaller module to do only one specific job but I try not to do that if the sub-module will be called only from one place – the parent module from which it would be broken off in the first place. So why am I going into all of this? :p Because it kind of explains the work I’ve been doing on Blog 7.0 🙂

Originally, I’d written one module to do the publishing in Blog and that module handled the writing of both the archive files and the main blog file as well as, later, the handling of More … tags. However, this module always wrote to a disk file and then uploaded it to the relevant FTP server. When the digest feature came along, I realized this wouldn’t do. So I broke off the template parsing code into a module of its own and called that from both the publishing module and the digest handling module. The new template parser module simply returns a string which contains the contents of a parsed template along with all the entries for a given time period and each module can do what it wants with the string. It seems to work fine on preliminary test and basically, the digest feature now works – though I haven’t tested it fully (or even cursorily for that matter) yet :p

I’ve come to realize that Blog 7.0 is going to break a few existing features – or at least lose a few configuration settings that you might have already set. For instance, I’ve had to add SMTP server settings to the Server tab which becomes visible under the Options dialog when you select Server mode for Blog. In 6.0, Server mode had only POP settings and Client mode had only SMTP settings and I kept two separate sets of values for both modes in case you want to switch between the two (as I often did for testing). Now, the SMTP settings are shared between the two modes and I’ve renamed some of the INI file values and so if you are using Server or Client mode and have customized certain values (such as the subject line filter value), then you will find that you’ll need to reset those values when you upgrade to 7.0 – sorry 🙁

I noticed that somebody had posted a review about Blog 6.1 at BetaNews. There hadn’t been any reviews at all since 5.0 and so I was curious as to what they thought – the person who reviewed it couldn’t see why there needed to be yet another blogging utility when (according to him) there were so many web-based ones out there already. And this was despite some of the other reviews (I remember Tyran’s particularly – thanks for that review, Tyran <g>) which pointed out exactly why a utility like Blog could be useful. But ah well, he did at least give Blog a rating of 5/5 – though that might have been a mistake :p

Posted by Fahim at 6:25 am  |  No Comments