Finally! After much anguish over whether or not I had a proper design, I finally just sat down, stopped worrying, and put some code in place. It’s a first pass, but it’s finished. I guess part of the downside of doing database administration for a living is that I have difficulty letting loose a schema that I know isn’t quite right; for example, the present db relationships allow for scenarios that aren’t handled well. But I’ve been on the
failure is cheap mantra at work lately, so I should practice what I preach. This iteration is good enough to use, and implementing it has already started more creative juices flowing. Always good!
So now, my reading list is classic db-backended, rather than being a through-the-web edited page of dynamic HTML. (which actually had to be kept in sync on two pages…the readinglist and the home page. Ick.)
That’s just the start, as I’ll be storing and managing many other types of media in the same tables; podcasts, movies, and Myth-recorded shows, etc. It should help me stay more up to date with my ratings, encourage me to write reviews (and allow others to comment on them), and eventually allow a collaborative recommendation/filtering sorta thingie. Very Web 2.0…w00t.
I had to whack the formatting on the readinglist page a bit, unfortunately, but that’s temporary. A nice one-page monthly hierarchy will take a bit more data wrangling that I was up for today. But that’s all in the view…the db has the right data now. Joy!
UPDATE: as always, if you’re interested, the source is in my repository. Code is here, templates here. (Present revision is 176, in case I’ve moved forward.) Comments are welcome!