Via Planet PHP I stumbled across this article decrying Singletons. It's not a new argument, really, but one of the comments pointed me toward a Google Tech Talk video entitled "Global State and Singletons". To be honest I don't agree with everything said in either the article or the video, but both are spot on about the problems of global state, something I've lamented before in relation to testing.
That is especially relevant now, as we consider the question of Handlers in Drupal. Why? Because the most controvercial part so far, the environment variable, is designed to address exactly this problem, a problem that is currently prevalent throughout all of Drupal.
Permit me to explain.
Unless you've been living under a rock for the last six month, you should have already heard about Drupal 7's new-and-shiny database layer, DBTNG. That was only the beginning, though! Much has happened since then to the database, and there's much yet to do. That's where you come in...
Some time ago, I posted an RFC for pluggable "system handlers". It generated a fair bit of feedback, nearly all of it positive. That was followed up with a presentation in Szeged, which generated even more positive feedback.
So what's happened since then? Well, a fair bit. There's working code, but there are still some key gotchas to sort out. That gives us a couple of options for how to proceed, for which I would like feedback, particularly from core developers and maintainers. (Dries, webchick, this means you! :-) )
This site has been running Drupal 5 for over a year now, even though Drupal 6 has been available since February. I kept meaning to update it, but never got around to it. Of course, then along came Acquia and a pressing need to try out the new kid on the block (for purely professional reasons, of course). So, armed with proper backup tools and a fast Internet connection, I set about to sacrifice my blog on the alter of experimentation. Onwards!
I need to not have spare time. When I have spare time, I do crazy things. Not crazy things like your mother told you not to do, but things like write modules on a lark.
Like I said, dangerous. But, useful. In this case, it was a conversation over on Ryan Szrama's blog that kinda got out of hand and gave me another idea for a module, which I am happy to announce is now available for download.
Weird things happen when I travel. Like, I spend several hours sitting around in airports with nothing to do but write documentation. I am therefore pleased to announce the immediate availability of both upgrade docs and usage docs for the DBTNG system.
With the Drupal.org redesign process well under way and moving along at high speed, it's become apparent that some of the details of the "Why" of it all were never quite established. To be honest, I didn't understand the full scope of what "Drupal.org redesign" meant either until recently.
Oh, travel. I don't mind air travel, in general, but there are always road bumps.
OK, I admit it. I'm not the most active Cubs fan around. I wouldn't say I'm a fair weather fan (the Cubs don't have fair weather that often) but I don't follow the team that closely. Perhaps I should start doing so, because I think this may be our year.
No, it's not because this is the 100th anniversary of when the Cubs last won the World Series. It's because the Databases: TNG patch for Drupal 7 has finally landed.
And there has been much rejoicing.
Earlier tonight, I was commenting on a friend's blog. He was asking about web game programming, and the challenges of Flash vs. Java. For whatever reason, the first thing that came to mind was OpenLaszlo, which some fellow Drupal colleagues have been very big on lately, so I left a quick note to that effect despite, to be honest, not knowing much about the subject.
Wait, colleagues? It took me a moment to realize that I had indeed just written "colleagues", because I've never actually worked with the people in question.