I have a personal family website that I use to post mostly pictures to. It consists of a blog run by Wordpress and a photo gallery run by Plogger. The other day I updated Wordpress, because it’s one of those platforms that should be kept updated since it’s a pretty good sized target for hackers. After updating, my Plogger gallery was broken because of a shared third party component that both of the platforms use. After a bit of looking around, I found out that it was a know issue that had been fixed in Plogger and that they had a new release candidate available, which I upgraded to. During the upgrade process there was a process that appeared to be changing some images around, but at the time I didn’t realize that it was moving the actual files. When I booted up the upgraded site, I realized that all the images where now in a totally new location, which broke every single statically linked image I had used anywhere.
Previous to the upgrade, my urls would looks something like this: /thumbs/lrg-11761-christmas-_mg_0328-20091225.jpg
After the upgrade all images have been moved to this format: /plog-content/thumbs/122009/122009-christmas/large/11761-christmas-_mg_0328-20091225.jpg
What this means is that I have about 100 posts on my blog that all have broken images that aren’t going to be easy to fix in any sort of automated way. This was done without any warning during the upgrade process that I noticed and is not reflected in the upgrade instructions.
I’ve logged this bug in Ploggers bug tracker and I hope that they will address it. In the bug I suggested that it be addressed in one of the following ways:
- Warn users that this is going to happen and allow them to make the choice on whether or not to continue the upgrade (worst choice.)
- Don’t delete the old folders during the upgrade, or at least give users the choice of whether to do so or not (slightly better choice.)
- Allow users to continue to use the old directory structure for old images and use the new structure for new images (best choice.)
I suppose one other choice would be to create a new url structure that would be easy to update via a SQL statement, but that seems like a very last choice solution.
