The 6th edition of
Catzooks didn’t last very long. I unveiled v6 last
September. The hosting provider I was using announced he was
shutting up shop in
April, and that he wanted to have all services transitioned out by
the end of May.
As I said back then, I decided that if I was going to change
providers, I might as well do some other overhauls to the site: make
more of it public, change the character to be less focused on the
kids, upgrade to the latest Movable Type.
Migration
With my hosting provider chosen, it was time to do the Movable
Type migration. On twinlark, I had been running the latest 3.x
(3.661?) on BerkleyDB. MT4 doesn’t support Berkley anymore, part of
the reason I had never bothered to upgrade (sorting out a similar
local-file DB on twinlark wasn’t worth the hassle). But with the
switch to a new host, one which supported MySQL DBs right out of the
box, it made sense to upgrade. Additionally, because it was a
different machine, I figured the easiest way to get all the data over
to the new host was to export & import.
That turned out to be pretty straightforward. I didn’t have to worry
about any “historic” URLs — everything on the old catzooks was behind
a password wall, so nobody had any saved URLs. Furthermore, in the
exported files, I could do global search and replaces to update URLs
to new version. This let me update paths to move out of the “wall” —
more below.
The export and import process went very smoothly. The format is
documented which meant that it was straightforward to edit the
exported files and add/remove what I needed to get the right entries
in place.
The only thing missing were the templates. MT stores the templates in
the database, and if you don’t copy them, you’re out of luck.
Fortunately, I have copies of them in RCS — but it still would have
been helpful to export all the extra template pieces.
Adding in more entries
As part of the transition, I moved all the book and movie reviews from
the classic location into the main blog, and gave them a
book/movie category. This required a bit of Perl scriptery to take
the input file I used to generate the classic pages and get it into
the MT import/export format, but all that wasn’t too hard.
Removing the Wall
I’ve wanted to make catzooks more public, and less hidden behind a
password wall. With the kids getting older, I want to blog about
things which affect me, not just how the kids are doing. But I also
didn’t want to throw open everything which was behind the current
password wall — so I needed a mixed approach.
This meant moving large (but selected) portions of the site from
/wall/ into the root directory. Doing this wasn’t too
hard — I took and inventory of all the pages, and figured out what
set would be against the root and what would be in subdirectories.
Once that was complete, I updated all the paths in the source files,
and it was ready to go.
The hardest parts were where I removed subdirectories. There was a
/wall/kids/pascal and /wall/kids/tristan,
and I removed the kids/ part — and that caused all kinds
of path problems.
Updating CSS
As part of the upgrade, I also decided that I didn’t want to have
completely custom styling, and would prefer to use the MT default
markup as much as possible. I wanted to adjust it only when necessary
for my own requirements. This meant that I had to change the catzooks
CSS file to use the MT element names; this took a bit of debugging and
hacking away, but results in a system which is much cleaner and easier
to adjust than what it was. I even went so far as to make the
catzooks styling into an MT theme (not that I would ever bother to
publish it or anything).
Cleaning up
With all that movement, there was bound to be a lot of dust.
Everything seemed to be working fine — until I ran a link checker.
There was a ton of breakage. Given all the reorganization I shouldn’t
be surprised, but cleaning it up took quite a while. Forced me to
learn how to rsync between machines (I couldn’t zip & download on
hostgator; it seemed to time out the zip operation and log me out),
and then run LinkLint locally.
(Aside: good, free link checkers are hard to come by. I eventually
settled on LinkLint, which is fast, can run against only local
files and not go on the wire, and is memory efficient. I also tried
checklinks, but it wasn’t as fast.)
I installed MT4 on hostgator on May 2. Getting all of the above
up and running took just over a month. I’ve learned to love sed.
I’ve figured out how to rsync both from hostgator to my iBook,
and from the iBook to the PC.
There are still some bumps and bruises: I was just about to set up a
photo blog when the twinlark news was announced, so I haven’t made
much progress getting that set the way I’d like it. On catzooks,
searching still doesn’t work quite the way I’d like it too, and I’m
pretty sure I’ve messed up a few pages. But overall the site is back
in action and ready to go. Enjoy.
Commentary