An Introduction to Drupal
An overview of the architecture, features and basic site-building workflow of the CMS.
By Vipulika Sharma
What is Drupal?
• Open Source software written in php.
• A CMS or content-management system.
• A sophisticated web application building tool.
System Requirements
WebServer:
•Apache: Drupal will work on Apache 1.3 or Apache 2.x hosted on UNIX/Linux, OS X or Windows.
•Microsoft IIS: Drupal core will work using IIS 5, IIS 6, or IIS 7.Database:
•MySQL: Drupal 6 supports MySQL 4.1 or higher. Recommended by drupal.org
PHP:
•Recommended: PHP 5.2.x
Drupal Structure
• Drupal is a database-driven (‘dynamic’) application. It requires a database.
• Drupal has a core filesystem whose functionality can be extended using modules and themes.
• Although Drupal offers a sophisticated programming interface for developers, no programming skills are required for basic website installation and administration
Modules
• Packages of files in a directory that you upload into drupal’s module space (/sites/all/modules)
• Add functionality to drupal
• ‘Core’ Modules come shipped with drupal
• ‘Contributed’ Modules are downloads from http://drupal.org/project/Modules
Themes
• Packages of files in a directory that you upload into drupal’s theme space (/sites/all/themes)
• Themes adjust the site layout and style. Like ‘skinning’ your media player.
• ‘Contributed’ Themes are downloads from http://drupal.org/project/Themes
Nodes
• A node is the primary form of content in a drupal site. At a minimum it is a title and a body, and can be ‘specialized’.
• A ‘page’ and ‘story’ for example are node types that have a specific node settings.
• A node type is a blueprint for creating instances of content of a particular type.
Nodes (cont)
• Not everything in Drupal is a node.
• This is important!!
• Ex: A user is not a node. A taxonomy is not a node. An account is not a node.
• Knowing this is important for evaluation of what can and cannot be easily done through the UI, without additional programming.
Blocks
• Blocks are added by modules.
• Blocks can contain views, menus, nodes (in special circumstances), and panels.
• Blocks can be moved around through the UI
• Blocks can be styled individually.
Change Site Information
• In Administer > Site Configuration > Site Information:
• Change the information to suit your site following the help text.
• Don’t change the ‘Default front page’ just yet.
• Click ‘Save configuration’
Change Date and Time
• In Administer > Site Configuration > Date and Time:
• Change the timezone to the correct time for India/New Delhi
• Change the time formats
• Click ‘Save Configuration’
Clean Urls
Clean URLs remove the ?q= from the location bar in your web browser.
• In Administer > Site Configuration > Clean Urls:
• Tick ‘Enabled’
• Click ‘Save Configuration’
Add a user
• Go to Administer > User Management > Users
• Click ‘Add user’
• Choose options.
• Click ‘Create New Account’
Add a user
• A user can also add themselves by registering, if the root user has allowed this option.
• Go to Administer > User Management > User Settings
• Tick ‘Visitors can create accounts and no administrator approval is required’
• Click ‘Save Configuration’
Add Roles
• You will note that ‘anonymous’ and ‘authenticated’ users are there by default, undeletable.
• Type in the box below the roles in the ‘Name’ column. Click ‘add role’. That’s it.
Edit / Delete role
• Click ‘edit’ next to the role name.
• Here you can change the name or delete the role.
• Warning: If you click ‘delete role’, there is NO confirmation. This can be bad.
Assign multiple roles to User
• In Administer > User Management > Users:
• Click the ‘edit’ link under operations for a user
• Under Roles, Tick an additional role you created.
• You will notice ‘authenticated user’ is locked.
• Scroll to the bottom and click ‘Save’
Most Useful Contributed Modules
Administrationmenu
CCK Views String Overrides Backup and Migrate
SEO Checklist SEO Compliance Checker
Pathauto Path Redirect Global Redirect
Search404 Meta Tags Global GEOurl Html Purifier Page Title
Menu Attributes New XML Sitemap Site Map Taxonomy Manager Token
Auto Assign Role (+patch)
Ubercart Date Mollum / Spam Captcha
WYSIWYG API FCKEditor IMCE Chaos Tools +Delegator
Panels
Actions Triggers Notify Scheduler
Addthis / Diggthis/Sharethis
Guestbook Simplenews GoogAnalytics