Need some help with your project? Contact me

6 tips for new Drupal developers

Being a Drupal developer can be very fun. But if you are going to be one, there are a number of things you should take into account. Aside, of course, from knowing how to actually develop stuff in Drupal. So I thought I’d share with you some things I learned along the way. If you have any other advice for novices in the world of Drupal, feel free to comment on this article.

Learn very well the backoffice of Drupal

I think this is pretty obvious. One of the most important things before doing any developing work in Drupal is to first know your way around the admin. That is, to be able to configure a core website and to be familiar with the more popular contrib modules (such as Views, Panels etc).

With the risk of sounding a bit absurd, you cannot start writing Drupal modules if you don’t know how to install and enable one, right? But don’t worry, it’s fun to play around and there are a lot of great resources out there to help you.

Learn PHP (for Drupal)

Drupal is built in PHP. This means you cannot develop any module or proper theme without knowing PHP. The good news, however, is that it’s awesome to learn and most of the time you’ll have fun with it. I myself learned PHP along the way from various online sources and in a self-teaching kind of way.

First of all, I advise you to get familiar both with functional and object oriented PHP. Initially, you won’t deal too much with objects in Drupal, but you will see later the benefit of knowing how this style of programming works. Second of all, you must familiarise yourself with PHP also from a Drupal perspective. It’s important to know the system of hooks, preprocess functions, etc that are typical to this type of application. And here the drupal.org API reference page will be your best friend - bookmark it to your forehead.

Get familiar with the standards - coding, security, commenting

There are three main standards I’d say you need to get familiar with as soon as you start developing in Drupal. First of all, you need to write secure code. It’s important that your module does not open the site up to XSS or SQL injection vulnerabilities (among others). Second of all, you need to write quality code that is consistent with the Drupal framework. This is important for cleanliness and the good functioning of the project. Third of all, you need to comment your code so that other developers can easily read and understand what you are trying to achieve.

Join the community

The Drupal community is very rich in terms of skilled and friendly developers and Drupal enthusiasts. You should learn who they are and try to engage with them - trust me, you’ll have so much to learn.

The Drupal community has many virtual representations. For instance, there is the Drupal Planet blog aggregator where many Drupal related blogs are included - a great resource for keeping up to date with blog posts on the subject. The IRC chat, the Drupal stackexchange and the drupal.org forum (plus individual issue queues) are the places you go with problems you encounter. Then there are plenty of events, local groups, cons, camps and what have you that are great places to network and meet face to face with fellow Drupalers.

Tutorialize yourself

As you know, the process of (self-)learning online revolves around reading a bunch of tutorials, watching videos, scouring various forum topics etc. Well, it’s no different for learning Drupal. There are many websites out there that offer great written and video content, both for free and against payment. I do not want to mention any names because it would not be fair to those I do not include. If you follow me on Twitter you’ll get a lot of resources like that.

Use social media to stay informed

I don’t need to tell you about the importance of using social media for promoting your company or product. But what some people don’t understand is that social media is also great for keeping informed about stuff. I am active on Twitter (and a bit on Google+) and I have to tell you, it’s a goldmine for staying up to date with the world of Drupal. So I definitely recommend it.

You can obviously follow the #drupal hashtag on Twitter or even the @Drupal account, join the expanding Drupal community on Google+ or like the Drupal page on Facebook. And remember what I said about the community people - many of them are also active on social media.

Conclusion

Above you have some of the more common things you need to look out for if you are interested in getting more involved with Drupal and you are a beginner. You who already has some experience on the matter, have anything else to add?

Comments

Hi,

thanks for writing this article. I would really appreciate you linking to the Drupal Twitter account at http://www.twitter.com/Drupal within your article to help new users connect.

Many thanks,

Paul (@pdjohnson)

Thanks for the comment.

I included the link.

D

imo the single most important thing new developers should do is understand drupal development. Seems almost too obvious to state, but you'd be surprised.

All too often I see new developers 1) trying to do things with drupal the way they've always done them or 2) forcing drupal to bend to what they want to do. Both result in frustration, delays, an unhappy client, and more often than not: https://drupal.org/comment/7777119#comment-7777119 which ends up being a black eye for all drupal developers.

Developing for drupal is no different than using any other framework-- learn the framework first. Learn the api and the 'proper' ways to develop-- then you'll be in a position to know 1) if a bypass is needed and 2) how to best implement a bypass with the least bad side effect.

Goog point! :)

I would like to add: learn javascript/jquery, html, html5, ...

I'm a drupal intermediate,I hesitate often to still learn drupal, it appear very complicated to master it, and its not improve coding skills.
I think real to move to WordPress.
correct me if i'm wrong

Wordpress and Drupal both have their place. WordPress is great for smaller 'mom and pop' type sites containing that have very similar layouts and content from page to page. Wordpress content is very 'page like' where you have one place (the page or post) that handles 90% of the content on the site. Wordpress is great for getting a good looking site up in hours/days and is ideal for small to medium sized businesses/websites. Code is written in PhP and the WordPress CODEX is preaty easy to follow. Smashing WordPress is also a great book for anyone looking to learn how templates and plugins are made.

Drupal is WordPress's much bigger brother. They share a lot of similarities such as themes, plugins (called modules) and also is coded in PhP. However, Drupal breaks its content into 'fields' and is much much more customizable. It takes a lot more planning and forethought to do a Drupal site correctly, however - once you have that planning down - you can really make some very complex and enterprise level sites.

The site that I am working on now is a 'medium' sized eCommerce site, we have well over 600 fields (specs) for our products and have numerious different ways to display them. We have a blog, Solr based search, product comparison charts, and a large documentation library that is matched up to the products that they talk about. We have well over 10,000 pages on the site and it will continue to grow. There would be simply no-way to get that much complexity into our site if we used WordPress. They are just two different platforms that are kinda of built for two different types of websites.

Then there is Joomla - which is kind of in the middle of Drupal and WordPress - :-)

Overall, I didn't think the learning curve from WordPress to Drupal was all that bad. I had been doing WordPress sites for years, and just got into Drupal myself - still learning - but I have found a lot of similarities.

Ryan

Thank you so much Ryan, even if my comment is not clear you have understood me.
In my comment I meant that the learning curve of drupal is very high (fearful), I used and learned drupal about 1 year, and I'm so good in sitebuilding, but I'm not yet able to build 'good looking site', So I thought to use a cms more easy(learning theming and plugin dev) than drupal like wordpress.
Otherwise I liked this in your comment :
"Wordpress is great for getting a good looking site up in hours/days and is ideal for small to medium sized businesses/websites".
" It takes a lot more planning and forethought to do a Drupal site correctly, however - once you have that planning down - you can really make some very complex and enterprise level sites."

Well written article, I learned a few things, I'll have to learn more PHP.

Thank you!

Hello Daniel,

Thanks for sharing your experience with us. I really enjoyed reading all the Drupal tips in this article, it creates an great opportunity for others to learn from your experience. Good job.

Add new comment

You can post comments in Markdown and basic HTML tags.
For code blocks, wrap your code within '~~~'. For example:
~~~
$var = 'my variable';
~~~