Its been almost 2 weeks since my last semester ended and I intended to take some time off to relax and read “Smashing CSS” by Eric Meyer. That only took me 2 days and I had started to play around with the idea of rebuilding the website of the non-profit that I intern at with cleaner, more standards compliant code and implementing php includes to centralize the common areas such as the header, navigation, and footer for easy modifications and redesigns when I came across the Drupal 7 content management system. Even though I’ve read that this framework is complex and has a learning “cliff,” I decided that this was a valuable skill to acquire and that it would help the people at the non-profit that I intern at who don’t know very much about web design and sometimes struggle with content updates on their website. So, in case anybody would like to follow along and avoid the sometimes frustrating lack of straightforward online tutorials on implementing a local testing server and setting up drupal I will provide the most winning tutorials that I have found throughout the past week and a half.
In order to download and install MAMP, a free local testing server software, and implement it so the url will read http://mysite.com instead of something ugly like http://localhost:8080/mysite.com I found a simple and straightforward tutorial at
Although there was a problem modifying the hosts file so I did a search and found this tutorial that showed me how to do that through the terminal:
Next, I needed to set up a MySQL database in MAMP, change the default username and password, and than download Drupal on it:
I had read that there were certain contributed modules that are considered must-have and that it was necessary to increase memory limit for PHP in MAMP for them, so I did that with this tutorial:
After several months of trying to figure out my own path to becoming competent in Drupal from the position of learning how to customize with a precision knife and paining over learning pre/process functions, template overrides, theme hook suggestions etc with only a very basic idea of how to configure, I now realize that it is nearly impossible to learn how to theme in drupal without first learning how to configure the various content types using core and contributed modules. Its amazing how much can be done with configuration without getting into the code and besides, its just best practice in my opinion to configure rather than code when the option is available. Johan Falk of NodeOne has made the most comprehensive drupal video tutorials available for free. I recommend watching the following screencasts in order:
You should be well into your own Drupal project at this point because the use cases of the following tutorials are very particular and use several modules in conjunction with each other, which is all very hard to wrap your head around on a purely theoretical level.
Johan has compiled many of his screencasts into the Four Weeks of Drupal series, which more specifically includes a chapter on theming in Drupal. If you followed the order of my tutorial advice you should have already started your own drupal-based website. You should start theming only after you’ve configured a primary page or two such as a home page or interior pages that are going to be unique from the rest of the pages.
Other great modules that are supposed to revolutionize and make it a lot easier to theme without getting your hands dirty with code are the Display Suite, Fieldgroup, and Beans modules however Tim Cosgrove’s BadCamp presentation on these only served to confuse me and I haven’t found any tutorials on the Fieldgroup or Beans modules. I did find a tutorial on Display Suite by swentieman
I haven’t read Johan Falk’s book, “Drupal 7: The Essentials,” but judging from his video tutorials and what I’ve seen in other books, its probably one of the best books for beginning Drupal and I feel totally confident in recommending it. If you buy only one book however, it definitely has to be “The Definitive Guide to Drupal 7“.