On its own Blosxom uses the "last modified" information from your entry files (here after called entry.txt file for clarity) to figure out what date to use when rendering your blog. This works perfectly well for most people most of the time, but if you go back and fix a spelling error on a month old entry.txt file you'll notice it pops back to the top as if it were brand new. Another problem can be if you are moving from one hosting provider to another; a direct copy can change the "last modified" tag to the moment you copy the entry.txt files. This article attempts to address a few methods you can use to fix this problem drawing from a recent discussion on the MailingList and my own observations.
One method, used here on the UNBLUG, is the entriescache plugin by Fletcher Penney. It creates a cache file that lists all of your entry.txt files and associates a time stamp with each file. Blosxom uses this file's time stamps to determine what date to use when rendering your site. You can also add a meta tag in your file to specify the time yourself. As an added bonus you can have entriescache write the meta time stamp into your file if Blosxom has write access to the entry.txt files.
Another plugin similar to entriescache is entries_cache_meta by Jason Thaxter. They work, more or less, the same. I highlight entriescache simply because it's what I am familiar with; try them both and see which one you like best!
In addition you can use the *nix touch command to change the date for your entry.txt. This command:
touch -t 200503091430 myfile
Where the long string of numbers is year, month, day, hour and minute (YYYYMMDDHHMM).
If you are moving files from one server to another there are some other measures you can take to insure time stamps remain true.
Highly recommended is archiving your $datadir using .tar, .zip, or .sit compression. You can use the command line on most unix/linux systems to tar your files, or programs like WinZip or Stuffit to create zip or sit files. Compressing the files maintains time stamps and can all insure the integrity of the files in transfer.
Using either of the previously mentioned plugins you can then use the created cache files to enforce the caches time stamp. Before starting the transfer make sure your cache file is current by reindexing your site. At the new location you may have to edit your cache file with the correct absolute path. I would recommend using a simple find and replace to edit the file quickly and efficiently.
Others recommend using the command line tools rsynch or scp (with the -p flag) to move your files, both of which should maintain the correct time stamp.
There are many other methods of saving the time stamps, like using Stu MacKenzie's permtimez plugin, which cements the time stamp in the name of your entry.txt file. If you've got more ideas, throw them in the comments!
Many ideas for this article were lifted from the MailingList. Many thanks to Frank Hecker, t.whid, Dana Hudes, Ken Ross, and Bahrpfeife.


Click the button to