drupal

Beginners guide to Drupal

Hi all ! This weekend I’ve attended the Drupal  Camp 2011 on Lisbon. Having used Apache Cocoon in the past, I was rather curious about what Drupal is and what we can do with it. On this post I will show you how to install it and where you should begin playing with it.

What is it ?

Drupal can be described as extremely versatile CMS(Content Managment System) and CMF(Content Managment Framework) . Want a blog, a comments system and a forum all implemented over the same technological base ? With Drupal , you can ! Want an extensive e-commerce platform ? With Drupal , you can ! Want to go to the moon and come back ?Well…you get the picture. 🙂

In the picture bellow you can see Drupal layers. Hopefully this will help you understand how it works.

The drupal flow
The drupal flow

As you can see Drupal consists of 5 layers : DATA, MODULUES, BLOCKS, USER PERMISSIONS and TEMPLATES.

Our DATA layer, contains a collection of NODES which are our base to everything.

The next layer contains something you’ll learn to love, called MODULES.  MODULES are functional plugins that are either part of the Drupal core (they ship with Drupal) or they are contributed items that have been created by members of the Drupal community.

Our next layer, BLOCKS, provides the output from a module or can be created to display whatever we want, and then can be placed in various spots in our template (theme) layout.

The USER PERMISSIONS layer is where settings are configured to determine what different kinds of users are allow to do and see. Permissions are defined for various roles, and in turn, users are assigned to these roles in order to grant them the defined permissions.

The first layer  is the site TEMPLATE a.k.a the “THEME”  . This is made up predominantly of XHTML and CSS, with some PHP variables intermixed, so Drupal-generated content can go in the appropriate spots. Also included with each THEME is a set of functions that can be used to override standard functions in the modules in order to provide complete control over how the modules generate their markup at output time.

This directional flow from bottom to top controls how Drupal works. Is some new functionality you want not showing up? Perhaps you uploaded the module into the system but have not activated it yet, and this is making everything downstream non-functional .

How to install it ?

As on other startup posts like the Android post or  the Facebook post, I did it on the least time possible. In fact it took me less than one hour to figure out what I should download and how to install it . Here are the steps I took .

Step 1 – Downloading the right stuff

As on other open source projects, the problem is where to begin! There are so many releases and ways to install that we can got lost really quickly ! For this tutorial, I’ll assume two things :

  • You’ll install Drupal on windows 7
  • You’ll have a local install only

If you like xampp, you can follow the tutorial here and go with it. Or you can choose your server components and database separately and then have the “trouble” of glue it all together. I’ve chosen Acquia release because it seemed ready to go out-the-box.Acquia release already  comes bundled with Apache Server and a mysql database.

Step 2 – Install steps

  1. Welcome screen
  2. If you want to be able to easily recover your password, install the XMail server. Otherwise just skip this.
  3. An overview and a licence agreement are presented next, so go ahead read it and click NEXT  NEXT !!. Install paths are required now. I’ll go with defaults for my user .
  4. Port settings . Again choose defaults.
  5. Username and password . Note them somewhere !!!Drupal step 5
  6. Last step before beginning installing a review screen is presented. I recommend you copy paste this info to your notepad. And now… GO !
  7. At some point of your installation your firewall will complaint that both mysql and apache server are requesting some ports to be opened. As this install will be for learning purposes only, I’ve chosen to only allow open ports on private networks.
  8. Congratulations, we’re done !!
  9. The Acquia dev desktop welcome screen
  10. Our site !!Drupal welcome page

Easy wasn’t it ?

What’s next ?

After all these install steps,  we can start by logging in with our admin user. The following bar is now presented above our welcome screen :

Drupal context bar It’s very annoying to be reading the “Get a 30 day free trial…” message or the ” Subscription not available” message all the time so feel free to shutdown Acquia modules.To get rid of it,  just go the “Configurations” menu and look for the Acquia module. Unselect the second tick and press save options. The first tick should now be available.Unselect it, and press again save options. That’s it !

I’m not going to detail here how to use every Drupal module.  Try playing around a bit instead, namely, try to add content to your homesite.

Conclusion

Besides all the available modules, we can add hundreds yes you read well, HUNDREDS of new functionalities just by visiting the Drupal modules site. Don’t forget that we’ve downloaded version 7.0 so you must look for modules that are compatible with it.

Hope you enjoyed reading this post as much as I enjoyed writing it. Feel free to leave some suggestions !

References

DOCS

Drupal Camp Lisbon 2011

Drupal Overview

Drupal install documentation for beginners

THEMES

Drupal gardens themes

Drupal Fusion Themes

Drupal Adaptative themes

RECOMENDED EXTENSIONS

Path auto – The Pathauto module automatically generates path aliases for various kinds of content (nodes, categories, users) without requiring the user to manually specify the path alias.

Page title – This module gives you granular control over the page title. You can specify patterns for how the title should be structured and, on content creation pages, specify the page title separately to the content’s title .

Global redirect – Guarantees that if you change your site url paths, the old links will redirect to new ones.

Similar – A module that displays a block with the most similar nodes to the currently viewed one, based on the title and body fields. Related pages show as a list in a block.

Nodewords – This project allows you to add meta tags to Drupal pages, both manually and automatically based on various settings. Paying attention to meta tags, such as keywords, description and canonical URL, may help obtain better search engine positioning.

Auto nodetitle -This  is a small and efficient module that allows hiding of the content title field in the form. To prevent empty content title fields one can configure it to generate the title by a given pattern.

Nofollow list – Allows a blacklist of sites that will have a rel=”nofollow” attribute added to their link tags whenever used on your site. Originally the only page in the blacklist was Wikipedia, though it now allows an admin controlled blacklist and whitelist.

SEO Guide – A beginners guide to SEO