SlideShare a Scribd company logo
An Introduction To

Drupal
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.
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.
About Me
For example, Denmark.net
• 424,000 nodes
  („pages“).
• High traffic.
• Business directory, jobs,
  events, forums, weather,
  hotels, blog.
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.
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
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.
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.
Agenda – Drupal in Real Life

                   •   Setup
                   •   Create a page
                   •   Create a blog
                   •   Change layout
                   •   Install modules
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.
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.
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.
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. /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.
Real Life - Create a Blog
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.
Real Life - Create a Poll
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.
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.
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 extract to
   sites/all/themes.
2. Enable via Administer ->
   Site Building -> Themes.
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.
Real Life – Reorder Site Elements
Real Life – Reorder Site Elements
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.
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
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
How To – Prevent Spam?
Spam module
• Checks comments (and optionally other content).
• Shows potential spam on Administer -> Content management -
  > Spam.
How To – Prevent Spam?
CAPTCHA module
• Different flavors of captchas: text, image, quiz.
• Captcha can be shown on user signup, login, comments, etc.
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.“
How To – Resize Photos?
Imagecache module
• Automatic actions for uploaded images, for example resizing
  or watermarking.
• Perfect for standardizing sizes for embedded photos.
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.
How To – Add a Forum?
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
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.
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
  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
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 up: install
  module, create album.
How To – Add a Photo Gallery?
How To – Add a Newsletter?
SimpleNews module
• HTML and plain text newsletters.
• Users can subscribe and
  unsubscribe.
• Web archive available.
Agenda – Running Drupal

                 •   Backups
                 •   Updates
                 •   Monitoring
                 •   Deployment
                 •   Security
                 •   Performance
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.
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.
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.
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.
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
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.
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
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.
Agenda – Grown Up Drupal

                 •   Editing
                 •   Multilanguage
                 •   On Site SEO
                 •   Workflows
                 •   Acces control
                 •   Extending
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.
Grown Up Drupal - Editing
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.
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 .
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.
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.
Grown Up Drupal - Workflows
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“.
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.
Thank You


            Contact:
            tobias@senzalimiti.com
            www.senzalimiti.com

More Related Content

ODP
Beginners Guide to Drupal
KEY
Introduction to Drupal
PDF
What is Drupal? An Introduction to Drupal 8
PDF
Introduction to Drupal Basics
PPTX
What Is Docker? | What Is Docker And How It Works? | Docker Tutorial For Begi...
PPTX
Why Drupal CMS?
PPT
Backups And Recovery
Beginners Guide to Drupal
Introduction to Drupal
What is Drupal? An Introduction to Drupal 8
Introduction to Drupal Basics
What Is Docker? | What Is Docker And How It Works? | Docker Tutorial For Begi...
Why Drupal CMS?
Backups And Recovery

What's hot (20)

PDF
Oracle to Postgres Migration - part 1
PPTX
01 azure well architected framework
PDF
Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8
PDF
Kubernetes Monitoring & Best Practices
PPSX
PPTX
Vanrish Mulesoft Integration architect ppt
PPTX
Disaster Recovery Planning for MySQL & MariaDB
PPTX
Docker Security Overview
PDF
Backup and recovery in oracle
ODP
Introduction to Version Control
PPTX
Oracle architecture ppt
PDF
Oracle 12c Multi Process Multi Threaded
ODP
Liquibase & Flyway @ Baltic DevOps
PDF
Kubernetes Deployment Strategies
PDF
오픈스택 커뮤니티 소개 및 기술 동향
PDF
nexus helm 설치, docker/helm repo 설정과 예제
PPTX
What is DevOps? What is DevOps CoE?
PDF
Kubernetes University, Cap sur l’orchestration Docker
PPTX
Introduction to CI/CD
PPTX
Oracle sql high performance tuning
Oracle to Postgres Migration - part 1
01 azure well architected framework
Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8
Kubernetes Monitoring & Best Practices
Vanrish Mulesoft Integration architect ppt
Disaster Recovery Planning for MySQL & MariaDB
Docker Security Overview
Backup and recovery in oracle
Introduction to Version Control
Oracle architecture ppt
Oracle 12c Multi Process Multi Threaded
Liquibase & Flyway @ Baltic DevOps
Kubernetes Deployment Strategies
오픈스택 커뮤니티 소개 및 기술 동향
nexus helm 설치, docker/helm repo 설정과 예제
What is DevOps? What is DevOps CoE?
Kubernetes University, Cap sur l’orchestration Docker
Introduction to CI/CD
Oracle sql high performance tuning
Ad

Viewers also liked (20)

PDF
Introduction to Drupal for Absolute Beginners
PPTX
Drupal end.ppt
PDF
Drupal 7
ODP
Drupal 7x Installation - Introduction to Drupal Concepts
PDF
Drupal for Marketers
PDF
Introduction To Drupal
PDF
Drupal an introduction
PPTX
Drupal Introduction
PPTX
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
PDF
Drupal Essentials: Comment Management in Drupal 7
PPTX
Advantages of using drupal 8
PDF
The Big Reverse of the Web
PPTX
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
PPTX
Drupal 7 Features - Introduction - Basics
PDF
Drupal Commerce - DrupalCamp Helsinki 2014
KEY
Drupal 7 Einblick und Ausblick
PPTX
Drupal Commerce
PPTX
Publishing your data smyth
PPTX
Paulo Faustino "Books publishing business and the strategical management"
PDF
Jupiter Banks -- Profit from your Content
Introduction to Drupal for Absolute Beginners
Drupal end.ppt
Drupal 7
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal for Marketers
Introduction To Drupal
Drupal an introduction
Drupal Introduction
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Drupal Essentials: Comment Management in Drupal 7
Advantages of using drupal 8
The Big Reverse of the Web
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Drupal 7 Features - Introduction - Basics
Drupal Commerce - DrupalCamp Helsinki 2014
Drupal 7 Einblick und Ausblick
Drupal Commerce
Publishing your data smyth
Paulo Faustino "Books publishing business and the strategical management"
Jupiter Banks -- Profit from your Content
Ad

Similar to An Introduction to Drupal (20)

PDF
Drupal in-depth
PPTX
Lazy Coder Camp Edition 1
PPTX
Promet.manila2011.selling drupal.
PDF
PPTX
72d5drupal
PDF
Drupal Roadmap 2010
PDF
Introduction to Drupal
PDF
Apcug 2011 07-17-intro_to_drupal_jeff_schuler
ODP
Drupal Webinar
KEY
Drupal in 30 Minutes
PDF
Showcasing drupal
PDF
Future Scope of Drupal as a Technology in 2020 and Beyond
PDF
Fastest Way to DRUPAL
PPTX
Drupal Overview For Techies
PPTX
Drupal Skils Lab 302Labs
PDF
PPT
Drupal for rlace
PDF
Drupal refcard
PDF
Introduction to drupal
PDF
October 2014 - USG Rock Eagle - Drupal 101
Drupal in-depth
Lazy Coder Camp Edition 1
Promet.manila2011.selling drupal.
72d5drupal
Drupal Roadmap 2010
Introduction to Drupal
Apcug 2011 07-17-intro_to_drupal_jeff_schuler
Drupal Webinar
Drupal in 30 Minutes
Showcasing drupal
Future Scope of Drupal as a Technology in 2020 and Beyond
Fastest Way to DRUPAL
Drupal Overview For Techies
Drupal Skils Lab 302Labs
Drupal for rlace
Drupal refcard
Introduction to drupal
October 2014 - USG Rock Eagle - Drupal 101

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Big Data Technologies - Introduction.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation theory and applications.pdf
PDF
Electronic commerce courselecture one. Pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
cuic standard and advanced reporting.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Review of recent advances in non-invasive hemoglobin estimation
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Big Data Technologies - Introduction.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
NewMind AI Monthly Chronicles - July 2025
Machine learning based COVID-19 study performance prediction
Building Integrated photovoltaic BIPV_UPV.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation theory and applications.pdf
Electronic commerce courselecture one. Pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
cuic standard and advanced reporting.pdf

An Introduction to Drupal

  • 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. 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. About Me For example, Denmark.net • 424,000 nodes („pages“). • High traffic. • Business directory, jobs, events, forums, weather, hotels, blog.
  • 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. 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. 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. 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. Agenda – Drupal in Real Life • Setup • Create a page • Create a blog • Change layout • Install modules
  • 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. 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. 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. Real Life - Create a Page 1. /node/add/page 2. Enter title. 3. Enter menu name. 4. Enter body. 5. Submit!
  • 14. Real Life - Create a Page
  • 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. Real Life - Create a Blog
  • 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. Real Life - Create a Poll
  • 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. 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. Real Life – Change Layout Before
  • 22. Real Life – Change Layout After
  • 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. 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. Real Life – Reorder Site Elements
  • 26. Real Life – Reorder Site Elements
  • 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. 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. 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. How To – Prevent Spam? Spam module • Checks comments (and optionally other content). • Shows potential spam on Administer -> Content management - > Spam.
  • 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. 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. How To – Resize Photos? Imagecache module • Automatic actions for uploaded images, for example resizing or watermarking. • Perfect for standardizing sizes for embedded photos.
  • 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. How To – Add a Forum?
  • 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. 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. How To – Add a Job Board?
  • 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. How To – Add an Event Calendar?
  • 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. How To – Add a Photo Gallery?
  • 43. How To – Add a Newsletter? SimpleNews module • HTML and plain text newsletters. • Users can subscribe and unsubscribe. • Web archive available.
  • 44. Agenda – Running Drupal • Backups • Updates • Monitoring • Deployment • Security • Performance
  • 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. 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. 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. 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. 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. 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. 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. 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. Agenda – Grown Up Drupal • Editing • Multilanguage • On Site SEO • Workflows • Acces control • Extending
  • 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. Grown Up Drupal - Editing
  • 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. 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. 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. 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. Grown Up Drupal - Workflows
  • 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. 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. Thank You Contact: tobias@senzalimiti.com www.senzalimiti.com