An Introduction to Drupal


Published on

Are you looking at Drupal as your new CMS?

This presentation gives an overview of Drupal and some common use cases.

Targeted at IT managers looking to chose a new CMS or who just want to get more familiar with Drupal.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

An Introduction to Drupal

  1. 1. An Introduction To Drupal
  2. 2. What? Who? This is an overview of Drupal and some common use cases. It‘s mainly intended for • IT managers or consultants tasked to choose a new CMS. • Editorial and technical staff getting acquainted with Drupal. • Anyone looking for a summary of Drupal. The origin of this presentation is a consulting engagement at the European Institute for Gender Equality, an EU organization based in Vilnius, Lithuania.
  3. 3. About Me • Tobias Ratschiller • Working the Internets since almost 15 years. • Wrote Web App Development with PHP in 2000, initial versions of phpMyAdmin, phpAds (openX), using Drupal since 2005. • Now owner of a small company, runing many sites on Drupal, 2.5million uniques per month.
  4. 4. About Me For example, • 424,000 nodes („pages“). • High traffic. • Business directory, jobs, events, forums, weather, hotels, blog.
  5. 5. Drupal 101 – What is Drupal? Drupal allows you to easily publish and manage a wide variety of content on a website. Hundreds of thousands of people and organizations are using Drupal to power an endless variety of web sites, including • Community web portals. • Intranet applications. • Personal web sites or blogs. • E-commerce applications.
  6. 6. Drupal 101 – What is Drupal? • Open Source project created by Dries Buytaert in 2000. • Supported by a community of over 400,000. • Commercial support available via Dries‘ company Acquia and others.
  7. 7. Drupal 101 – Open Source • Drupal is released under the GPL, version 2. • You can download, reuse, modify, and distribute it. • If you distribute derivative work (modules, themes, etc), the same terms have to be applied.
  8. 8. Drupal 101 – Community • Large community - Drupal is easy to get started with. • for support, finding developers and designers. • Elance, have many Drupal-skilled professionals. • Contribute yourself - modules, themes, bounties, sponsorships.
  9. 9. Agenda – Drupal in Real Life • Setup • Create a page • Create a blog • Change layout • Install modules
  10. 10. Drupal in Real Life - Setup Setting up a Drupal website (Unix/Linux): 1. Download from to your server. 2. Create DB. 3. cp sites/default/default.settings.php sites/default/settings.php 4. chmod 666 sites/default/settings.php 5. Go to the home of your website and finish the install script.
  11. 11. Drupal in Real Life - Setup Setting up a Drupal website (Windows): One-click install through the Acquia Drupal Installer ( Includes all components (Apache, PHP, MySQL, phpMyAdmin) to get up and running with a single installation.
  12. 12. Drupal in Real Life - Setup Drupal 5.x Drupal 6.x Drupal 7 Status Outdated Current Coming late 2010 Support Legacy support (bug Supported (bug Not supported for fixes) fixes, small feature production enhancements) Recommended For legacy Choose this for new Choose for sites applications sites going online going online 2011 2010 Major versions (5, 6, 7) are released every 12-24 months. When choosing Drupal, you should plan a major update to your site every 24 months at least.
  13. 13. Real Life - Create a Page 1. /node/add/page 2. Enter title. 3. Enter menu name. 4. Enter body. 5. Submit!
  14. 14. Real Life - Create a Page
  15. 15. Real Life - Create a Blog 1. Make sure the „blog“ module is enabled (in Administer -> Site Building -> Modules). 2. /node/add/blog 3. Enter title and body as before – no menu entry necessary. 4. Blog posts are published to the front page by default.
  16. 16. Real Life - Create a Blog
  17. 17. Real Life - Create a Poll 1. Make sure the „poll“ module is enabled (in Administer -> Site Building -> Modules). 2. /node/add/poll 3. Enter title and choices. 4. Poll is published to frontpage by default.
  18. 18. Real Life - Create a Poll
  19. 19. Real Life – Change Layout • Layouts/styles are called „themes“ in Drupal. • To change, go to Administer -> Site Building -> Themes. • Chose any theme there as enabled and default.
  20. 20. Real Life – Reorder Site Elements Drupal themes define site elements, for example a sidebar or the footer. These elements are known as „blocks“. Modules expose snippets that can be shown in blocks. For example, the „blog“ module has a block showing the latest blog entries. Go to Administer -> Site Building -> Blocks to set up blocks.
  21. 21. Real Life – Change Layout Before
  22. 22. Real Life – Change Layout After
  23. 23. Real Life – Change Layout Where to find themes? • • How to install themes? 1. Download and extract to sites/all/themes. 2. Enable via Administer -> Site Building -> Themes.
  24. 24. Real Life – Change Layout • Layouts/styles are called „themes“ in Drupal. • To change, go to Administer -> Site Building -> Themes. • Chose any theme there as enabled and default.
  25. 25. Real Life – Reorder Site Elements
  26. 26. Real Life – Reorder Site Elements
  27. 27. Real Life – Install Modules Modules extend Drupal‘s functionality. Over 2,000 modules can be downloaded from Place into site/all/modules, enable in Administer -> Site Building -> Modules.
  28. 28. Agenda – How To • Prevent spam • Resize photos • Add a forum • Add a job board • Add an event calendar • Add a photo gallery • Add a newsletter
  29. 29. How To – Prevent Spam? • Mollom by Acquia/Dries – an all-in-one solution to combat spam. Three subscriptions: free, 30 Euro/month/site, 3,600 Euro/year/site • Or roll your own: „spam“ module image captcha comment notification
  30. 30. How To – Prevent Spam? Spam module • Checks comments (and optionally other content). • Shows potential spam on Administer -> Content management - > Spam.
  31. 31. How To – Prevent Spam? CAPTCHA module • Different flavors of captchas: text, image, quiz. • Captcha can be shown on user signup, login, comments, etc.
  32. 32. How To – Prevent Spam? Comment notification • Administrators should get notified when a new comment is posted. • Drupal 6.x can do this with triggers and actions. 1. Enabled trigger module. 2. Create a new action „Send e-mail.“ 3. Associate with trigger „New comment notification.“
  33. 33. How To – Resize Photos? Imagecache module • Automatic actions for uploaded images, for example resizing or watermarking. • Perfect for standardizing sizes for embedded photos.
  34. 34. How To – Add a Forum? Forum module • Make sure the module is enabled. • Go to admin/content/forum/add/container, enter name. • Go to admin/content/forum/add/forum, enter name.
  35. 35. How To – Add a Forum?
  36. 36. How To – Add a Forum? Advanced Forum module • More advanced like a real forum. • Typical forum homepage, avatars in posts, private messages, etc. • All-in-one install. • But: Alpha
  37. 37. How To – Add a Job Board? • There really is no good out of the box job board for Drupal: – Be prepared for some custom dev. – Or choose a third party board. • Try the job_posting or job_search modules. – Jobs can have expiration, location, categories, multiple employers. – Users can apply and send their resumes as attachments.
  38. 38. How To – Add a Job Board?
  39. 39. How To – Add an Event Calendar? Calendar module • Very flexible module to create any calendar-based view you would ever want. • Based on Views. Views are Drupal‘s way to create complex pages. It‘s like a query builder. • To install the module,follow the quick and easy 31-step procedure:
  40. 40. How To – Add an Event Calendar?
  41. 41. How To – Add a Photo Gallery? Image and Image_Gallery modules • Creates thumbnails to be shown on gallery. • Easy to set up: install module, create album.
  42. 42. How To – Add a Photo Gallery?
  43. 43. How To – Add a Newsletter? SimpleNews module • HTML and plain text newsletters. • Users can subscribe and unsubscribe. • Web archive available.
  44. 44. Agenda – Running Drupal • Backups • Updates • Monitoring • Deployment • Security • Performance
  45. 45. Running Drupal - Backups Backup and Migrate module • Backup DB and files to server, FTP, Amazon S3 or email. • Create automated schedules. • Great for small, non-critical sites with no uptime or performance guarantees.
  46. 46. Running Drupal – Updates Updating Drupal • Minor versions (eg 6.10 to 6.11): – Manual process to download new version and copy it over. – See • Every 12-24 months: major upgrade.
  47. 47. Running Drupal – Updates Update modules • The update module checks for newer versions of Drupal and installed modules. • To update a module: 1. Download new version. 2. Remove old module code, copy updated. 3. Run /update.php.
  48. 48. Running Drupal – Monitoring • The Acquia Network comes with rudimentary monitoring (heartbeat and email notification). • Alternatively install own monitoring or subscribe to pingdom etc. • Keep an eye on /admin/reports/dblog.
  49. 49. Running Drupal – Deployment Typically, small setups use a local development environment and a live server. For larger setups, a typical scenario is • Version control (SVN etc) • Live server • Staging server • Dev server or local dev servers
  50. 50. Running Drupal – Deployment The problem is the database: • Content from live has to be brought to staging/dev. • One strategy is daily import of parts of the live DB (eg import nodes, but don‘t import live user data, sessions, billing data). There is no out-of-the-box solution.
  51. 51. Running Drupal – Security Most security problems come from the system, custom code or contributed modules, not from Drupal core. • Keep Drupal up to date, pay special attention to security updates. • Have good system administration processes. • When writing code, follow code
  52. 52. Running Drupal – Performance Drupal, by default, is resource intensive. • Many database queries. • The more modules, the slower. • Easy to write sloppy code. But: Drupal performance is largely a solved problem. • Use a PHP cache. enable Agressive Caching, Block Cache, custom cache. • Lots of anonymous traffic? Consider the Boost module. • Split DB/webserver. Examples available on
  53. 53. Agenda – Grown Up Drupal • Editing • Multilanguage • On Site SEO • Workflows • Acces control • Extending
  54. 54. Grown Up Drupal - Editing Wysiwyg module • Adds visual text editors to text area fields. • You can chose from different editors. • TinyMCE is probably most common.
  55. 55. Grown Up Drupal - Editing
  56. 56. Grown Up Drupal – Multilanguage Drupal 6.x + i18n module + Translation Management module provide everything that is needed for multilingual websites: • Out of the box translations for the system. • Web interface to add translations. • Central overview of content that needs to be translated.
  57. 57. Grown Up Drupal – On Site SEO • Pathauto module: Creates path like /this-is-a-test.html instead of /node/14. • Global Redirect module: Makes sure content is only available at one location (for example, /node/14 redirects to /this-is-a- test.html) • Path Redirect module: Redirects old paths to new paths. For example, when you change the title of the node, /this-is-a- test.html redirects to /this-is-the-new-title.html .
  58. 58. Grown Up Drupal - Workflows Roles and permissions • Users can have roles, such as „author“ or „editor.“ • Roles have permissions, such as „create page content.“ • All functionality that is not explicitely allowed is hidden.
  59. 59. Grown Up Drupal - Workflows Workflow module • Defines editorial processes, for example: – Author writes article as draft. – Editor is notified via email. – Editor approves the article, publishes. • Flexible, for example define an action to reject a draft and notify author.
  60. 60. Grown Up Drupal - Workflows
  61. 61. Grown Up Drupal – Access Control Nodeaccess and menuaccess modules • Restrict access to node types and menus for specific user roles. • For example, to provide an extranet: – Only users of role „partners“ can see the „Extranet“ menu entry and access nodes of type „ExtranetPage“.
  62. 62. Grown Up Drupal - Extending Really, Drupal is a framework. Writing modules and using Drupal as database, user management and permission layer is often easier than writing a web app using another framework, even if the app is not a classic example for a CMS. Need a custom module? • Write your own. • Elance, • Publish a bounty on
  63. 63. Thank You Contact: