I’ve been meaning to write about this for the past few days but keep on forgetting – I’ve finally got access to Delphi 7 but it left me fairly unimpressed on installation :p The UI has been spiffed up and it now supports Windows XP styles and I know there are many internal changes but there aren’t that many changes that are useful on a day-to-day basis. For instance, the component palette still cannot be displayed in multiple lines natively and since the tool that I use to do this, GExperts, has not caught up to the latest version change, I won’t be able to do so for a while. Don’t get me wrong, there are a lot of things that I do want to try out in the new release but for the moment, I don’t think it’ll be my development environment yet. However, I want to try the new web development features sometime soon to see if they are better than Visual Studio .NET and if so, I might do one of the company projects using Delphi 7 …
From one 7.0 release to another :p Blog 7.0 actually got over the temporary delay with categorizations and is now back on the development path 🙂 You can now assign and remove categorizations for entries easily and I’m in the process of adding a whole host of new tags to handle archiving by category and to allow better customization of the archive table of contents. Since the current archive tag simply returns a table of archival links, it’s almost impossible to customize it or to display these links in any innovative manner – like a drop down list or something. So, I’ve come up with a two new tags (which I will not write out fully here since future processing of these entries can get messed up :p) called BlogArchives and /BlogArchives. These two tags can go anywhere in a template and will be processed separately as code for an archival table of contents. Of course, what is actually displayed and what type of archive it will be is decided by the tags inside these two tags.
Here is where I started hitting snags. I thought of using BlogArchiveFile and BlogArchiveName as two new tags to display existing monthly or weekly archives – the first will return the archive file’s name while the second will return a name for the file, perhaps some form of a formatted date as is currently done by Blog. However, I couldn’t figure out how to maintain consistency for categorized archives. I can have two tags called BlogArcCatFile and BlogArcCatName and they would return links to appropriately named files which contain all the entries for each category. However, when I thought about it, I realized that if you had only a few categories and assigned a category to each entry, after about a year, you’re going to end up with several huge HTML pages that are going to take ages to load! Then I thought that each categorized archive page could lead to another table of contents page for that category which either gives a date based link or at least a link giving the first sentence (or the first few words) from each entry for that category and these links in turn will point to the normal archival entries.
There are problems with that approach as well 🙁 For one thing, if you have auto-archiving turned off and don’t generate monthly/weekly archives, but create a categorized archive link, it will be pointing to files that don’t exist. Plus, I don’t think it’s wise to generate the actual category archives automatically (if I have one file for each category that is…) since that’ll mean uploading all category archives each time you publish – and that could kill a dial-up connection! Oh yeah if I follow the category links leading to a table of contents for each category approach, then we’ll have to define a separate template for that particular table of contents and that means even more settings to be added on a per journal basis! It looks complicated whichever way I look at it and I’m not sure how to proceed.
Looking at it from a ease of use perspective, I think linking to weekly/monthly archives is the only way to go for categorized archives – otherwise the files become way too bulky to handle, plus, we’ll be generating the same archives twice and so wasting space on the server as well. So the only remaining question is how do we handle the links and that I think has to be broken down in to two levels – the first a list of categories leading to a table of contents for that particular category and that in turn leading to links to each entry. So I guess that’s the approach I’ll take unless somebody else has a better idea or another approach?