Drupal 8 Wins: Avoiding the Dead Hook Blues, Part 1 - In August 2013, I spoke with Larry Garfield and Kris Vanderwater in a 90+ minute live Hangout on Air about the origins, details, and implications of the big architectural changes coming in Drupal 8. Today's video and audio podcasts are the first set of "curated" excerpts from that long conversation. We cover Larry and Kris's Drupal backgrounds, early Drupal memories, compare Drupal 4 to Drupal 7 and 8, some pragmatic reasons to choose Drupal, and how to get your head around the Symfony2 framework.
"Thank You" == Community
When Larry found something in Drupal 4.6 that needed fixing, like "good open source citizens" do, he submitted his very first Drupal core patch. He explains, "This is something Drupal does very well. The initial patch got committed ... I still remember Dries, when he committed the patch ... This is something he almost always does: He says thank you. You know 'Committed this patch to Head. Thanks.' and I'm just some random newbie with Drupal and here's the project lead saying thank you to me. It sounds corny, but I still remember; that felt awesome. Just the extra little 'thank you' there ... That was like 'Okay, it was a good call for me to hang around with these people'."
Drupal Then Till Now
Comparing Drupal 4.x to Drupal 7 and 8, Larry explains, "Drupal 8 certainly has a huge number of changes, but that's hardly new for Drupal. If you looked at Drupal 4.6 compared to 7, you would barely recognise it. It still has hooks and it still has things called 'nodes', but that's about as much as you can say that's consistent between the two.
Kris adds, "I was showing Ryan Szrama some of the things we've done in Drupal 8 and he made a comment: 'The difference between Drupal 7 and Drupal 8 is greater than the difference between Drupal 4.7 and Drupal 7.' I totally agree with that. That's really something. Drupal 7 is still a PHP-4-style system. Hooks are really an answer to not having objects ... to a certain degree."
The Journey out of Fear and into Excitement
I asked Kris to talk about how he got from self-inflicted FUD about Symfony and Drupal 8 to being excited about it. "As one of the initiative owners for Drupal 8, I had been doing a lot of work on it, without having to wrap my head around what work had gone into "Whiskey" [the Drupal 8 'WSCCI' the Web Services and Context Core initiative, led by Larry]. But every time I touched it, there were a million moving pieces. It was intimidating and it gave me a big fear factor. This was FUD [fear, uncertainty, doubt], but it was all within me. I gave Larry an awful hard time about a lot of this stuff ... Things did change drastically, so I needed to get in and work through it."
"Fabien Potencier – who wrote a huge portion of Symfony – has a 12-part series walking through a pretty good number of the components that we ended up using within Drupal." Following this, Kris, "I took some of the things that we had introduced into Drupal 8 and I pulled them out of Drupal and dropped them into a repository with some Symfony components and started trying to compose it all together into a cohesive whole to help me understand what it was that was sitting inside of Drupal ... I've made it through most of Symfony's raw components and the results for me were really exciting because once I understood all this stuff that sat there, I didn't have to guess at a lot of the words that were coming out of Larry's mouth anymore. And that was really beneficial." :-D
Kris goes into some more detail about some specific technical benefits, and comes to this conclusion: Basing Drupal on Symfony components like the routing system "is kind of the best of both worlds. You can leverage Drupal's tools that are sitting there ... It excites me for people who have already built something in Symfony and they like stuff that Drupal does and want to start leveraging it. So how do we mix it together? Well, the WSCCI initiative made that totally possible. Huge kudos to the WSCCI initiative. I think they've really succeeded massively in a lot of ways that most people don't understand yet.