Sat, April 23, 2005
Stop the Presses!—12:41 AM
Work on the onebee overhaul continues at a furious pace. I finished laying out some of the upgraded back-end pages (where I go to post entries and upload photos, things like that) and they're so much prettier and more usable than the current set – now I'm extra-motivated to get things up and running quickly, so I can move forward into the future.
I mean, honestly, who wouldn't want to spend all their time in a cool place like this?
Especially when the alternative is this ugly junk heap?
This evening, I spent all my time troubleshooting some glitches in the "publishing" process. This is the part where the system writes an entry out to a file and stores it on the server where it can later be retrieved and read by your web browser. (Storing the files, rather than retrieving them from the database on the fly, makes the site zippier in periods of high traffic – if we ever had any periods of high traffic.) One of this project's major revisions is the transition to "object-oriented programming," which is more efficient because the code is grouped into tightly constructed bundles ("object classes") which describe discrete types of data. (For example: if I want to display an entry, I create an entry "object" which contains all the attributes of that entry, and then I can move that object around and do stuff to it. The "object class" is like a set of instructions, telling the computer how to create the object and how to respond to commands like "display the title of this entry," or "add a comment to this entry.")
However, the object-oriented approach is still somewhat new to me, and what makes it more efficient in the long run is much more rigorous programming in the immediate short term, which means a lot of headaches. I spent most of the night hammering away at the problem of multiple columns with the same name – ensuring that they don't overwrite each other. It begins with making sure that no two posts in the same folder have the same filename (for example, since S.W.A.T. and S.W.A.T. were published in different months, they're in separate folders and can have the same name – if not, one of them would end up with a name like "swat-235"); but, it gets a little more complicated. If I want to be able to move or rename a post, I have to make sure that I won't overwrite another page with the same name. It would be an unlikely coincidence for me to move a post into a folder with an existing post already using the same filename, but it's better to work this out now than worry about it later. The main goal of this overhaul is to hopefully never have to tinker with onebee's underlying code again – so the sturdier I can make it, the more casually I can use these admin tools in the future. I won't have to give a second thought to filenames, because I can trust that the system is keeping track for me.
I'm delighted to report that the filename issue has been completely resolved – after looking at it from all angles – and now I'll be able to move and rename posts willy-nilly with no fear of losing anything. It was just under a year ago that I stayed up all through the night to get onebee online, then scurried off in the pre-dawn light to help Arksie move into a new apartment. Since I'm helping another friend move tomorrow, I think now would be a good time to sign off in the hopes of not repeating the same sleepless ordeal. (Although I was at the top of my moving game that day – maybe there's a lesson there.)
"AC" — Sun, 4/24/05 5:57pm
Looks sensational. I just hope you'll let me take a peek under the hood when you're done.