Hacker News new | ask | show | jobs
by halefx 4834 days ago
As a full-time web developer who works almost exclusively in Drupal, I'm sure that I'm more than a little biased, but I love it. I have a pretty varied background, and a lot of different experience, but Drupal is consistently the tool that I prefer these days for most of my projects.

I often hear that the learning curve for Drupal is high (and it certainly seemed that way to me five years ago when there weren't as many resources), but I can explain the major concepts and architecture of Drupal 7 to almost anyone willing to learn in about 10 minutes.

The biggest problem that I've encountered when working on Drupal sites is actually just bad/lazy developers. These people aren't really "Drupal Developers". They came from Joomla or .Net and jumped into Drupal projects without ever considering that they should find out what makes Drupal different. They won't be contributing anything back to the community, and it's unlikely that they'll develop anything that's reusable from one project to another. There is an abundance of information out there right now (even just on Drupal.org) for someone who wants to learn how to work with Drupal properly, but it seems like a lot of people would rather just complain that it doesn't behave exactly like whatever else it is that they're used to than actually try to learn about it.

For the record, a good place to start would be the Drupal documentation[1]. Drupal Answers[2] is pretty good, too. If you ever want to learn about a specific contributed module, try searching Youtube.

1: https://drupal.org/getting-started/before/overview

2: http://drupal.stackexchange.com/questions?sort=votes

1 comments

Drupal Core is basic enough that you can wrap your head around it in 10 minutes, but Core isn't going to give you a very useful site. So, you need to start adding in modules, often with their own incompatibilities and APIs (ctools). And then things start falling apart.

The code to create a node is simple. The code to create a node with a term reference, two field collections, and images copied from the filesystem is considerably more complicated, poorly documented, and prone to throwing weird errors.

The module system is actually what I was talking about. You don't need to understand every single contributed module to understand how the whole system works. I'd like to see your example of how/where Drupal "falls apart" when adding contributed modules.

If you're writing a module when you don't understand how modules work, you're gonna have a bad time. The Examples for Developers[1] module probably would have helped out. The Field example creates a custom field. The Node example create a custom node type. Or you could have just created the node type using the Field UI (and if you need it in code, export the configuration using Features[2]).

1: https://drupal.org/project/examples

2: https://drupal.org/project/features