Drupal Ruminations

I’ve been tinkering with Drupal 5.1 in one capacity or another for the last 2 or 3 months, but by and large it’s been from an on-and-off, complete-newbie perspective; install some modules, click around, add some lorem ipsum content, and wonder if you did it right.

I have spent some time learning about module development, but not knowing enough about the “right” way to do things, even the successes I’ve had there feel like a bit of a question mark.

One thing that has helped fill in some of those knowledge gaps are Lullabot’s podcasts, specifically Deprecated! and Top 40 Projects.

The biggest problems with open source projects that have been around for a long time are that

  • Documentation is, shall we say, “lacking.”

and/or

  • Whatever documentation there is applies to older versions of the software.

Drupal is better than a lot of projects in both regards, but whenever a platform has widespread adoption there’s always the problem of best practices. If a stable way of doing something gets enough of a foothold, you find a lot of resources that guide you in that direction.

In a great many cases, what used to be the best (or only) way to do something in Drupal can now be accomplished using CCK and Views. Probably the best example of that as described in the Deprecated! podcast is the Event module. Calendaring is a deep, sticky mess of a problem and I’m grateful not to have invested any misguided time learning the older, more inflexible way of doing it.

Overall, I find Drupal very intriguing. Everyone has gotten religion about MVC in the last couple of years, probably because of Ruby on Rails. It’s a very sensible way of building a solution, but it does have some limitations when it comes to mingling different aspects of a system’s data model, business logic, or UI… you can do those things, but a lot of times the hoops you have to jump through result in kruft and complexity. In contrast, Drupal’s system of hooks allows you to develop modules in such a way that they remain completely separate from the core while integrating very deeply with just about any aspect of the core system or other modules. It feels like a smart way of doing things that takes advantage of the way PHP works.

People like to slag on PHP for not being a “real” language as compared to Java/Python/Ruby/whatever, but they always seem to miss the point that PHP was written for doing stuff on the web, and has evolved to meet the needs of people who do stuff on the web… using a built-in PHP function like

echo("Hello, World!")

to send content to the browser may not give you the same manly feeling that

resp = HTTPResponse;
writer = resp.getWriter();
writer.println("Hello, World!");

does, but it sure feels like it makes a lot more sense. Drupal feels like it makes sense in that same way.

Syndicate content

Twitter

  • Score! http://t.co/KVDyULXM 4 years 41 weeks ago
  • @ComcastBill Thanks. 4 years 41 weeks ago
  • @wstites Thanks. @comcast is making it awfully hard for me to give them more money. 4 years 41 weeks ago
  • @comcastbill(have called 4 or 5 numbers so far. Am told I don't qualify as existing customer, no way to track who it was who called me.) 4 years 41 weeks ago
  • @ComcastBill I received a call with a bundle offer yesterday, but I lost the rep's contact info. I get the runaround calling the main #. 4 years 41 weeks ago

Older

Contact

Andy Chase
(978) 297-6402
andychase [at] gmail.com
GPG/PGP Public Key