I'm just starting to learn Drupal, and I am really liking it.
What are the most common pitfalls for a beginner? How can they be avoided?
I'm just starting to learn Drupal, and I am really liking it.
What are the most common pitfalls for a beginner? How can they be avoided?
You could - a lot of people started with the Garland theme that comes with Drupal and got stuck because it has logic in the middle (big no-no in a theme) and renamed its parts confusingly. Zen is documented.
Here's a podcast at Lullabot about it: http://www.lullabot.com/audiocast/podcast-74-drupal-design-round-table
First of all you should be clear with yourself on what you are trying to learn:
Of course the boundaries of each of those areas are not sharp, but the patterns that you will follow to learn about drupal will be quite different. Here's my opinion:
General pitfall (applies to all areas)
The single most recurrent mistake beginners do is to be in a hurry. In a world of books with titles like "learn to master C++ in 24 hours or less" people approaches drupal believing that they can get away with a couple of days of playing around with somebody's else code. If they do not understand at first sight how things work in Drupal they switch to rant mode and begin to post on blogs and forums on how much drupal is stupidly complicated.
So: be prepared to invest time and energy to embrace the high level of complexity (which is something different than complication) of Drupal. Be prepared to actually study how things work rather than skim over help requests on forums and mailing lists. If you are still not convinced. Here it comes some good reading.
If you are learning about theming
If you are learning about building sites
If you are learning about writing your own modules
My opinion about possible tools for learning to code well in drupal
Hope this helps to get you going, and best luck with your learning! :)
One common pitfall is not to do enough research on the different modules available for each task or function that you are trying to accomplish. It is very easy to install a module in Drupal and start working with it without fully understanding the nuances of that module. It might seem as though the module is working as expected. However, halfway though your project you might find that that a particular module has a limitation or issue that cannot be overcome without major custom code. Another module might have been just as appropriate for the project but also met your additional requirement. A good example of this is deciding how to setup your user permissions. There are many modules that help enhance Drupal's out of the box permissions system but each one works differently and has a specific feature set. Do you need special login screens for different users, workflow requirements, etc? Also included in this is a proper evaluation of whether you should use a module that does not quite meet your needs or write your own instead. Without fully understanding the limitations of the module as related to your specific requirements you could go down a path where you would spend a lot of time trying to fit the module into your needs instead of just quickly building one from scratch that exactly matches your requirements.
For Drupal beginners, and "especially" if, like me, one has a firm grasp of MVC or MVP concepts, I would recommend buying or borrowing "Pro Drupal 7 Development", Third Edition.
As for pitfalls:
I hope that helps.