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

What's hot (20)

PPTX
Mongo DB Presentation
Jaya Naresh Kovela
 
PPTX
Introduction to ajax
Pihu Goel
 
PPTX
Basic Wordpress PPT
mayur akabari
 
PPTX
MongoDB
nikhil2807
 
PPT
Introduction to MongoDB
Ravi Teja
 
PPTX
Mongo db intro.pptx
JWORKS powered by Ordina
 
PPTX
Sharding Methods for MongoDB
MongoDB
 
PDF
Introduction to Wordpress
Sandy Ratliff
 
PDF
What is Drupal? An Introduction to Drupal 8
Suzanne Dergacheva
 
PPTX
Laravel overview
Obinna Akunne
 
PPTX
Introduction to Node.js
Vikash Singh
 
PDF
What is REST API? REST API Concepts and Examples | Edureka
Edureka!
 
PDF
A Thorough Comparison of Delta Lake, Iceberg and Hudi
Databricks
 
PDF
Complete MVC on NodeJS
Hüseyin BABAL
 
PPTX
Angular js PPT
Imtiyaz Ahmad Khan
 
PPTX
Web application framework
Pankaj Chand
 
PPTX
An Introduction To NoSQL & MongoDB
Lee Theobald
 
PPTX
Coding standards for java
maheshm1206
 
PPTX
Web Development
Lena Petsenchuk
 
PPT
Php Presentation
Manish Bothra
 
Mongo DB Presentation
Jaya Naresh Kovela
 
Introduction to ajax
Pihu Goel
 
Basic Wordpress PPT
mayur akabari
 
MongoDB
nikhil2807
 
Introduction to MongoDB
Ravi Teja
 
Mongo db intro.pptx
JWORKS powered by Ordina
 
Sharding Methods for MongoDB
MongoDB
 
Introduction to Wordpress
Sandy Ratliff
 
What is Drupal? An Introduction to Drupal 8
Suzanne Dergacheva
 
Laravel overview
Obinna Akunne
 
Introduction to Node.js
Vikash Singh
 
What is REST API? REST API Concepts and Examples | Edureka
Edureka!
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
Databricks
 
Complete MVC on NodeJS
Hüseyin BABAL
 
Angular js PPT
Imtiyaz Ahmad Khan
 
Web application framework
Pankaj Chand
 
An Introduction To NoSQL & MongoDB
Lee Theobald
 
Coding standards for java
maheshm1206
 
Web Development
Lena Petsenchuk
 
Php Presentation
Manish Bothra
 

Viewers also liked (20)

PDF
Introduction to Drupal for Absolute Beginners
everlearner
 
PPTX
Drupal end.ppt
anupamasingh87
 
PDF
Drupal 7
guest31ca73
 
ODP
Drupal 7x Installation - Introduction to Drupal Concepts
Micky Metts
 
PDF
Drupal for Marketers
Acquia
 
PDF
Introduction To Drupal
Lauren Roth
 
PDF
Drupal an introduction
Pradeep Kumar Singh
 
PPTX
Drupal Introduction
Chris Tankersley
 
PPTX
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Acquia
 
PDF
Drupal Essentials: Comment Management in Drupal 7
Acquia
 
PPTX
Advantages of using drupal 8
NeilWilson2015
 
PDF
The Big Reverse of the Web
Acquia
 
PPTX
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Acquia
 
PPTX
Drupal 7 Features - Introduction - Basics
Dhinakaran Mani
 
PDF
Drupal Commerce - DrupalCamp Helsinki 2014
ToffeBjorkskog
 
KEY
Drupal 7 Einblick und Ausblick
Amazee Labs
 
PPTX
Drupal Commerce
Duo Consulting
 
PPTX
Publishing your data smyth
TERN Australia
 
PPTX
Paulo Faustino "Books publishing business and the strategical management"
Faculty of Media Communications
 
Introduction to Drupal for Absolute Beginners
everlearner
 
Drupal end.ppt
anupamasingh87
 
Drupal 7
guest31ca73
 
Drupal 7x Installation - Introduction to Drupal Concepts
Micky Metts
 
Drupal for Marketers
Acquia
 
Introduction To Drupal
Lauren Roth
 
Drupal an introduction
Pradeep Kumar Singh
 
Drupal Introduction
Chris Tankersley
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Acquia
 
Drupal Essentials: Comment Management in Drupal 7
Acquia
 
Advantages of using drupal 8
NeilWilson2015
 
The Big Reverse of the Web
Acquia
 
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Acquia
 
Drupal 7 Features - Introduction - Basics
Dhinakaran Mani
 
Drupal Commerce - DrupalCamp Helsinki 2014
ToffeBjorkskog
 
Drupal 7 Einblick und Ausblick
Amazee Labs
 
Drupal Commerce
Duo Consulting
 
Publishing your data smyth
TERN Australia
 
Paulo Faustino "Books publishing business and the strategical management"
Faculty of Media Communications
 
Ad

Similar to An Introduction to Drupal (20)

PDF
Drupal in-depth
Kathryn Carruthers
 
PPTX
Lazy Coder Camp Edition 1
phpfactory
 
PPTX
Promet.manila2011.selling drupal.
Promet Source
 
PDF
Drupal 101
Snake Hill Web Agency
 
PPTX
72d5drupal
Mahesh Sherkar
 
PDF
Drupal Roadmap 2010
kathyhh
 
PDF
Introduction to Drupal
Tom Deryckere
 
PDF
Apcug 2011 07-17-intro_to_drupal_jeff_schuler
hewie
 
ODP
Drupal Webinar
Maxwell Pearl
 
KEY
Drupal in 30 Minutes
Robert Carr
 
PDF
Showcasing drupal
Opevel
 
PDF
Future Scope of Drupal as a Technology in 2020 and Beyond
Katy Slemon
 
PDF
Fastest Way to DRUPAL
Brahm
 
PPTX
Drupal Overview For Techies
Robert Carr
 
PPTX
Drupal Skils Lab 302Labs
Ahmad Mohamad Zain
 
PDF
Drupal
Abhishek Nagar
 
PPT
Drupal for rlace
Mikael Jacobsen
 
PDF
Drupal refcard
PrinceGuru MS
 
PDF
Introduction to drupal
Pedro Cambra
 
PDF
October 2014 - USG Rock Eagle - Drupal 101
Eric Sembrat
 
Drupal in-depth
Kathryn Carruthers
 
Lazy Coder Camp Edition 1
phpfactory
 
Promet.manila2011.selling drupal.
Promet Source
 
72d5drupal
Mahesh Sherkar
 
Drupal Roadmap 2010
kathyhh
 
Introduction to Drupal
Tom Deryckere
 
Apcug 2011 07-17-intro_to_drupal_jeff_schuler
hewie
 
Drupal Webinar
Maxwell Pearl
 
Drupal in 30 Minutes
Robert Carr
 
Showcasing drupal
Opevel
 
Future Scope of Drupal as a Technology in 2020 and Beyond
Katy Slemon
 
Fastest Way to DRUPAL
Brahm
 
Drupal Overview For Techies
Robert Carr
 
Drupal Skils Lab 302Labs
Ahmad Mohamad Zain
 
Drupal for rlace
Mikael Jacobsen
 
Drupal refcard
PrinceGuru MS
 
Introduction to drupal
Pedro Cambra
 
October 2014 - USG Rock Eagle - Drupal 101
Eric Sembrat
 
Ad

Recently uploaded (20)

PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Digital Circuits, important subject in CS
contactparinay1
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 

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: [email protected] www.senzalimiti.com