One of our team members is an intern who has recently started learning how to work with Drupal while having no previous experience with the framework. His remarks really underscore some of the advantages and pain points that come with starting out in the Drupal community.

My first task was to get access to and start reviewing all of the beginner guides that are available. There was also a lot of documentation for both getting started with using Drupal both as a general user and information about programming and development. and also went more thoroughly into PHP and how the core Drupal systems worked at a deeper level, but that started to get a little over my head.

Next, once I had a general idea of what I was going to be working with, I needed to actually set up a Drupal installation to play with. Set up was a very simple, seeing as with Hostgator (or other hosting providers) you just click a button and get a fresh drupal installation. I ended up manually installing as to get the most recent version, but either way it was pretty straight forward.

Once I had a fresh Drupal website installed, I tried to just get a feel for how the content management interfaces worked. I was surprised to see how easy it was to add and manage content. Little things like the navigation bar at the top of the page made Drupal seem very easy to use and simple to understand. The open source community is awesome and Drupal’s module-based system is great.

My first experience in theming for Drupal was where I began to run into challenges. The way the system works is different from everything I had learned. It was complex and didn't make sense until I spent enough time to just read up and learn the methodologies behind the theming layer. So as a beginner I was definitely confused for a while, however once I figured out how Drupal expected me to interact with its system I was able to progress fairly quickly.

I started by stripping the Bartik core theme and working almost from scratch and used the block system and CSS to style the front page content block. I also styled my own navigation bar using the template system. My goal was to create a simple “blog” where whatever content that I posted would just be published to the front page.

Since the default drupal install did this automatically, there wasn't much coding involved. I used jQuery to animate my menu, which was animated to appear from outside the border of the page. When the menu button was clicked the entire body of the page translated 300px to the right, exposing the menu. When clicked again, it reverted back.

This was done in a custom Javascript file that I linked to my theme with the .info file. One thing I found peculiar was that I couldn't automatically use the standard jQuery $ selector when writing the code, I had to use the selector $Jquery, which is apparently a Drupal requirement. After that, I created a footer and styled the content, was able to make some embedded videos responsive, and styled the core forum module for users.

Overall, as an absolute beginner to Drupal it was felt quite daunting when I first started to get into actual theming, but that could be expected with anything that you dive straight into with literally no experience. But ultimately, I believe that's probably the best way to start: get in there, mess up, break stuff, and learn because if you never start you're never going to get anywhere.

So there you go, a fresh perspective of what the experience of starting out with Drupal can be like. To help others making a similar journey, we've provided a list of helpful guides and articles below: