New to Drupal, but you're an experienced coder? Drop the API, and step away from the command line.
In one of our most popular webinars of 2011 about developing with Drupal, developer Camilla Jensen (naxoc) admitted that- even with her experience with J2EE and PHP development, much of her work on a typical Drupal project starts with *research*.
During the morning tea break at our last DrupalCon training in London, a student confided that he expected we'd have started with more "coding". In fact, our "Making the Switch" course started with quests to research various scenarios, and a discussion of the best solutions to the scenarios. As a side note, these scenarios come from our client RFPs, and represent the typical kinds of client requests you might come across. [Plug: we're teaching another "Making the switch" course for developers in DrupalCon Denver this year.]
However, this student said he expected we'd be working mostly in the command line- to show exactly where he could intercept and modify functionality. He gave the following example of a site he was developing in Drupal 6:
"I used the Staff List module, and it makes a list of staff... yet it displays the username for each person. Problem is, sometimes these are not that appropriate for a professional setting. I wanted to modify the Staff List module so I could add first names and last names to it.. I followed it through and it looked like the only place I could fix it was in the node module... but I knew that didn't sound right."
He asked had I heard of the staff list module, and well, I had to admit - no, I didn't know it. I was actually surprised it existed.
I pulled back for a second and told him about "Content profile". This is a solution to leverage the generic nodes and fields system in Drupal 6. It creates a separate record, a "profile" associated with a user account. To that, you can add fields... and before I finished the sentence, he said, "Oh" and he realized he could add "firstname" and "lastname" fields. And... of course, select these fields with Views, and show the professional staff list you want. [I should note, with Drupal 7, you can now add fields to users without Content profile, but you can get similar functionality with Profile2 to separate user profiles from accounts.]
Later, we did delve into Module development so he could have figured out where to alter that contributed module. More importantly he knew when to do code, and when to configure.
Best practices in Drupal development depend on a developer knowing the existing systems within Drupal, and leveraging them. Most of what you want to do can be done with the abstract tools such as fields, taxonomy, views; so that you can spend your time coding and developing the really tricky stuff for your own client's unique needs. Contributed modules may even be a basis for your own custom code, but it's also important to understand the main sub-systems of Drupal so you can evaluate the modules.
That's why site building skills are crucial for experienced developers who are new to Drupal. For many projects the Drupal offers sustainability in the fact that systems like fields or views allow non-coders to maintain and alter configuration. Thus allowing others on the team to understand how a site or service has been assembled.
There are a number of great learning resources out there, but we do hope you'll join our network of experienced partners for Drupal 7 in a Day and Site Building course this winter. We can also make a custom training package for you, contact us.
Drupal 7 in a Day
- Kawasaki, Gennai3, on Jan 19
- Mohali, Srijan, on Jan 20 - Jan 21
- Manalapan, Blink Reaction, on Jan 21
- Washington, Fig Leaf, on Jan 23
- San Diego, Doug Vann, on Jan 26
- Leuven, dataflow, on Jan 27
- Dallas, Tom McCracken, LevelTen, on Feb 1
- New Albany, Buckeye Interactive, on Feb 3
- Portland, OpenSourcery, on Feb 5
- New York, Blink Reaction, on Feb 8
- Washington, Fig Leaf, on Feb 13
- Paris, Linalis, on Feb 21
- Portland, OpenSourcery, on Feb 24
- Burlington, Acquia, on Feb 24
- Chicago, Duo Consulting Instructor Susan Rust, on Mar 1
- Portland, OpenSourcery, on Mar 2
- Chicago, Duo Consulting, on Mar 2
- New York, Blink Reaction, on Mar 7
- Genève, Linalis, on Mar 13
- Washington, Fig Leaf, on Mar 19
- San Francisco, OpenSourcery, on Mar 31
Learn Site building in Drupal 7
- Genève, Linalis, Jan 18 - Jan 19
- Washington, Fig Leaf, Jan 24 - Jan 25
- New Albany, Buckeye Interactive, Jan 26 - Jan 27
- Leuven, dataflow, Feb 2 - Feb 3
- Dallas, Tom McCracken, LevelTen, Feb 2 - Feb 3
- Portland, OpenSourcery, Feb 6 - Feb 7
- New York, BlinkReaction, Feb 9 - Feb 10
- Washington, Fig Leaf, Feb 14 - Feb 15
- Paris, Linalis, Feb 22 - Feb 23
- Chicago, Duo Consulting, Feb 23 - Feb 24
- Portland, OpenSourcery, Mar 3 - Mar 4
- Portland, OpenSourcery, Mar 5 - Mar 6
- New York, Blink Reaction, Mar 8 - Mar 9
- Genève, Linalis, Mar 14 - Mar 15
- Washington, Fig Leaf, Mar 20 - Mar 21