An Introduction To

Drupal
What? Who?
             This is an overview of Drupal and some
             common use cases. It‘s mainly
             int...
About Me
           • Tobias Ratschiller
           • Working the Internets since almost
             15 years.
          ...
About Me
For example, Denmark.net
• 424,000 nodes
  („pages“).
• High traffic.
• Business directory, jobs,
  events, forum...
Drupal 101 – What is Drupal?
              Drupal allows you to easily publish and
              manage a wide variety of ...
Drupal 101 – What is Drupal?
                                                          • Open Source project
             ...
Drupal 101 – Open Source
                 • Drupal is released under
                   the GPL, version 2.
              ...
Drupal 101 – Community
• Large community - Drupal is
  easy to get started with.
• Drupal.org/forum for
  support, finding...
Agenda – Drupal in Real Life

                   •   Setup
                   •   Create a page
                   •   Cre...
Drupal in Real Life - Setup
Setting up a Drupal website
(Unix/Linux):
1. Download from drupal.org to
   your server.
2. Cr...
Drupal in Real Life - Setup

Setting up a Drupal website
(Windows):
One-click install through the Acquia
Drupal Installer
...
Drupal in Real Life - Setup
                Drupal 5.x           Drupal 6.x            Drupal 7
Status          Outdated  ...
Real Life - Create a Page


1.   /node/add/page
2.   Enter title.
3.   Enter menu name.
4.   Enter body.
5.   Submit!
Real Life - Create a Page
Real Life - Create a Blog

1. Make sure the „blog“ module is
   enabled (in Administer -> Site
   Building -> Modules).
2....
Real Life - Create a Blog
Real Life - Create a Poll

1. Make sure the „poll“
   module is enabled (in
   Administer -> Site Building
   -> Modules)....
Real Life - Create a Poll
Real Life – Change Layout


• Layouts/styles are called
  „themes“ in Drupal.
• To change, go to Administer
  -> Site Buil...
Real Life – Reorder Site Elements
Drupal themes define site elements,
for example a sidebar or the footer.
These elements ...
Real Life – Change Layout
               Before
Real Life – Change Layout
               After
Real Life – Change Layout
Where to find themes?
• Drupal.org
• Themegarden.org
How to install themes?
1. Download and extr...
Real Life – Change Layout


• Layouts/styles are called
  „themes“ in Drupal.
• To change, go to Administer
  -> Site Buil...
Real Life – Reorder Site Elements
Real Life – Reorder Site Elements
Real Life – Install Modules

                       Modules extend Drupal‘s
                       functionality.
        ...
Agenda – How To

                  •   Prevent spam
                  •   Resize photos
                  •   Add a forum
...
How To – Prevent Spam?
• Mollom by Acquia/Dries – an all-in-one solution to combat
  spam. Three subscriptions: free, 30 E...
How To – Prevent Spam?
Spam module
• Checks comments (and optionally other content).
• Shows potential spam on Administer ...
How To – Prevent Spam?
CAPTCHA module
• Different flavors of captchas: text, image, quiz.
• Captcha can be shown on user s...
How To – Prevent Spam?
Comment notification
• Administrators should get notified when a new comment is
  posted.
• Drupal ...
How To – Resize Photos?
Imagecache module
• Automatic actions for uploaded images, for example resizing
  or watermarking....
How To – Add a Forum?

             Forum module
             • Make sure the module is enabled.
             • Go to
    ...
How To – Add a Forum?
How To – Add a Forum?
Advanced Forum
module
• More advanced
  like a real forum.
• Typical forum
  homepage, avatars
  in ...
How To – Add a Job Board?
• There really is no good out of the box job
  board for Drupal:
   – Be prepared for some custo...
How To – Add a Job Board?
How To – Add an Event Calendar?
Calendar module
• Very flexible module to create any
  calendar-based view you would ever
...
How To – Add an Event Calendar?
How To – Add a Photo Gallery?
Image and Image_Gallery modules
• Creates thumbnails to be
  shown on gallery.
• Easy to set...
How To – Add a Photo Gallery?
How To – Add a Newsletter?
SimpleNews module
• HTML and plain text newsletters.
• Users can subscribe and
  unsubscribe.
•...
Agenda – Running Drupal

                 •   Backups
                 •   Updates
                 •   Monitoring
       ...
Running Drupal - Backups
    Backup and Migrate module
    • Backup DB and files to server, FTP, Amazon S3 or
      email....
Running Drupal – Updates
Updating Drupal
• Minor versions (eg 6.10 to 6.11):
   – Manual process to download new version
 ...
Running Drupal – Updates
Update modules
• The update module checks for newer versions
  of Drupal and installed modules.
•...
Running Drupal – Monitoring
• The Acquia Network comes with rudimentary
  monitoring (heartbeat and email notification).
•...
Running Drupal – Deployment
                            Typically, small setups
                            use a local de...
Running Drupal – Deployment
The problem is the
database:
• Content from live has to
  be brought to staging/dev.
• One str...
Running Drupal – Security
Most security problems come from the
system, custom code or contributed
modules, not from Drupal...
Running Drupal – Performance

     Drupal, by default, is resource intensive.
     • Many database queries.
     • The mor...
Agenda – Grown Up Drupal

                 •   Editing
                 •   Multilanguage
                 •   On Site SEO...
Grown Up Drupal - Editing
Wysiwyg module
• Adds visual text editors to text area fields.
• You can chose from different ed...
Grown Up Drupal - Editing
Grown Up Drupal – Multilanguage
                Drupal 6.x + i18n module +
                Translation Management module
 ...
Grown Up Drupal – On Site SEO


• Pathauto module: Creates path like /this-is-a-test.html instead
  of /node/14.
• Global ...
Grown Up Drupal - Workflows
Roles and permissions
• Users can have roles, such as
  „author“ or „editor.“
• Roles have per...
Grown Up Drupal - Workflows
Workflow module
• Defines editorial processes, for
  example:
   – Author writes article as dr...
Grown Up Drupal - Workflows
Grown Up Drupal – Access Control
Nodeaccess and menuaccess modules
• Restrict access to node types and menus for specific ...
Grown Up Drupal - Extending
Really, Drupal is a framework.
Writing modules and using Drupal as
database, user management a...
Thank You


            Contact:
            tobias@senzalimiti.com
            www.senzalimiti.com
Upcoming SlideShare
Loading in...5
×

An Introduction to Drupal

6,665

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
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,665
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
212
Comments
0
Likes
4
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, Denmark.net • 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. http://www.flickr.com/photos/35034362831@N01/2660877655
  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. • Drupal.org/forum for support, finding developers and designers. • Elance, Freelancer.com 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 drupal.org 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 (http://acquia.com/downloads). 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? • Drupal.org • Themegarden.org 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 Drupal.org. 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: http://drupal.org/node/797042
  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 http://drupal.org/upgrade • 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 http://drupal.org/writing-secure- 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 Drupal.org.
  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, Freelancer.com. • Publish a bounty on Drupal.org.
  63. 63. Thank You Contact: tobias@senzalimiti.com www.senzalimiti.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×