SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Building an ML Platform with Ray and MLflow
Building an ML Platform with Ray and MLflowBuilding an ML Platform with Ray and MLflow
Building an ML Platform with Ray and MLflowDatabricks
 
Secrets of the DSpace Submission Form
Secrets of the DSpace Submission FormSecrets of the DSpace Submission Form
Secrets of the DSpace Submission FormBram Luyten
 
2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar SlidesDuraSpace
 
APACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka StreamsAPACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka StreamsKetan Gote
 
أساسيات لغة Php بالعربي
أساسيات لغة Php بالعربيأساسيات لغة Php بالعربي
أساسيات لغة Php بالعربيtahsal99
 
Prometheus-Grafana-RahulSoni1584KnolX.pptx.pdf
Prometheus-Grafana-RahulSoni1584KnolX.pptx.pdfPrometheus-Grafana-RahulSoni1584KnolX.pptx.pdf
Prometheus-Grafana-RahulSoni1584KnolX.pptx.pdfKnoldus Inc.
 
Google Dremel. Concept and Implementations.
Google Dremel. Concept and Implementations.Google Dremel. Concept and Implementations.
Google Dremel. Concept and Implementations.Vicente Orjales
 
Accelerating Data Ingestion with Databricks Autoloader
Accelerating Data Ingestion with Databricks AutoloaderAccelerating Data Ingestion with Databricks Autoloader
Accelerating Data Ingestion with Databricks AutoloaderDatabricks
 
Low level design template (1)
Low level design template (1)Low level design template (1)
Low level design template (1)anosha jamshed
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Sparkdatamantra
 
Apache web server
Apache web serverApache web server
Apache web serverSabiha M
 
Vertica 7.0 Architecture Overview
Vertica 7.0 Architecture OverviewVertica 7.0 Architecture Overview
Vertica 7.0 Architecture OverviewAndrey Karpov
 
Getting started with DSpace 7 REST API
Getting started with DSpace 7 REST APIGetting started with DSpace 7 REST API
Getting started with DSpace 7 REST API4Science
 
Object Storage 1: The Fundamentals of Objects and Object Storage
Object Storage 1: The Fundamentals of Objects and Object StorageObject Storage 1: The Fundamentals of Objects and Object Storage
Object Storage 1: The Fundamentals of Objects and Object StorageHitachi Vantara
 
MLflow with Databricks
MLflow with DatabricksMLflow with Databricks
MLflow with DatabricksLiangjun Jiang
 
Introduction to Kibana
Introduction to KibanaIntroduction to Kibana
Introduction to KibanaVineet .
 

Mais procurados (20)

Building an ML Platform with Ray and MLflow
Building an ML Platform with Ray and MLflowBuilding an ML Platform with Ray and MLflow
Building an ML Platform with Ray and MLflow
 
Secrets of the DSpace Submission Form
Secrets of the DSpace Submission FormSecrets of the DSpace Submission Form
Secrets of the DSpace Submission Form
 
2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides
 
APACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka StreamsAPACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka Streams
 
أساسيات لغة Php بالعربي
أساسيات لغة Php بالعربيأساسيات لغة Php بالعربي
أساسيات لغة Php بالعربي
 
Prometheus-Grafana-RahulSoni1584KnolX.pptx.pdf
Prometheus-Grafana-RahulSoni1584KnolX.pptx.pdfPrometheus-Grafana-RahulSoni1584KnolX.pptx.pdf
Prometheus-Grafana-RahulSoni1584KnolX.pptx.pdf
 
Kettle – Etl Tool
Kettle – Etl ToolKettle – Etl Tool
Kettle – Etl Tool
 
Google Dremel. Concept and Implementations.
Google Dremel. Concept and Implementations.Google Dremel. Concept and Implementations.
Google Dremel. Concept and Implementations.
 
Cloud Pub_Sub
Cloud Pub_SubCloud Pub_Sub
Cloud Pub_Sub
 
Accelerating Data Ingestion with Databricks Autoloader
Accelerating Data Ingestion with Databricks AutoloaderAccelerating Data Ingestion with Databricks Autoloader
Accelerating Data Ingestion with Databricks Autoloader
 
Low level design template (1)
Low level design template (1)Low level design template (1)
Low level design template (1)
 
Google Firebase presentation - English
Google Firebase presentation - EnglishGoogle Firebase presentation - English
Google Firebase presentation - English
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Apache web server
Apache web serverApache web server
Apache web server
 
Vertica 7.0 Architecture Overview
Vertica 7.0 Architecture OverviewVertica 7.0 Architecture Overview
Vertica 7.0 Architecture Overview
 
Getting started with DSpace 7 REST API
Getting started with DSpace 7 REST APIGetting started with DSpace 7 REST API
Getting started with DSpace 7 REST API
 
Object Storage 1: The Fundamentals of Objects and Object Storage
Object Storage 1: The Fundamentals of Objects and Object StorageObject Storage 1: The Fundamentals of Objects and Object Storage
Object Storage 1: The Fundamentals of Objects and Object Storage
 
Apache Solr
Apache SolrApache Solr
Apache Solr
 
MLflow with Databricks
MLflow with DatabricksMLflow with Databricks
MLflow with Databricks
 
Introduction to Kibana
Introduction to KibanaIntroduction to Kibana
Introduction to Kibana
 

Destaque

Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal BasicsJuha Niemi
 
Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginnerseverlearner
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupalsdmaxey
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsMicky Metts
 
Drupal for Marketers
Drupal for MarketersDrupal for Marketers
Drupal for MarketersAcquia
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Acquia
 
Drupal Essentials: Comment Management in Drupal 7
Drupal Essentials: Comment Management in Drupal 7Drupal Essentials: Comment Management in Drupal 7
Drupal Essentials: Comment Management in Drupal 7Acquia
 
Advantages of using drupal 8
Advantages of using drupal 8Advantages of using drupal 8
Advantages of using drupal 8NeilWilson2015
 
The Big Reverse of the Web
The Big Reverse of the WebThe Big Reverse of the Web
The Big Reverse of the WebAcquia
 
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Built for Integration: Why Drupal 8 Should Be the Glue to Your StackBuilt for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Built for Integration: Why Drupal 8 Should Be the Glue to Your StackAcquia
 
Drupal 7 Features - Introduction - Basics
Drupal 7 Features - Introduction - BasicsDrupal 7 Features - Introduction - Basics
Drupal 7 Features - Introduction - BasicsDhinakaran Mani
 
Drupal Commerce - DrupalCamp Helsinki 2014
Drupal Commerce - DrupalCamp Helsinki 2014Drupal Commerce - DrupalCamp Helsinki 2014
Drupal Commerce - DrupalCamp Helsinki 2014ToffeBjorkskog
 
Drupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickDrupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickAmazee Labs
 
Publishing your data smyth
Publishing your data smythPublishing your data smyth
Publishing your data smythTERN Australia
 

Destaque (20)

Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal Basics
 
Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginners
 
Drupal end.ppt
Drupal end.pptDrupal end.ppt
Drupal end.ppt
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
Drupal 7
Drupal 7Drupal 7
Drupal 7
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
 
Drupal for Marketers
Drupal for MarketersDrupal for Marketers
Drupal for Marketers
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Drupal an introduction
Drupal an introductionDrupal an introduction
Drupal an introduction
 
Drupal Introduction
Drupal IntroductionDrupal Introduction
Drupal Introduction
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
 
Drupal Essentials: Comment Management in Drupal 7
Drupal Essentials: Comment Management in Drupal 7Drupal Essentials: Comment Management in Drupal 7
Drupal Essentials: Comment Management in Drupal 7
 
Advantages of using drupal 8
Advantages of using drupal 8Advantages of using drupal 8
Advantages of using drupal 8
 
The Big Reverse of the Web
The Big Reverse of the WebThe Big Reverse of the Web
The Big Reverse of the Web
 
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Built for Integration: Why Drupal 8 Should Be the Glue to Your StackBuilt for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
 
Drupal 7 Features - Introduction - Basics
Drupal 7 Features - Introduction - BasicsDrupal 7 Features - Introduction - Basics
Drupal 7 Features - Introduction - Basics
 
Drupal Commerce - DrupalCamp Helsinki 2014
Drupal Commerce - DrupalCamp Helsinki 2014Drupal Commerce - DrupalCamp Helsinki 2014
Drupal Commerce - DrupalCamp Helsinki 2014
 
Drupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickDrupal 7 Einblick und Ausblick
Drupal 7 Einblick und Ausblick
 
Drupal Commerce
Drupal CommerceDrupal Commerce
Drupal Commerce
 
Publishing your data smyth
Publishing your data smythPublishing your data smyth
Publishing your data smyth
 

Semelhante a An Introduction to Drupal

Absolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalAbsolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalRod Martin
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal IntroDrupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal IntroDrupalMumbai
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalRod Martin
 
Get Up and Running Quickly with Drupal Distributions
Get Up and Running Quickly with Drupal DistributionsGet Up and Running Quickly with Drupal Distributions
Get Up and Running Quickly with Drupal DistributionsMelissa Piper
 
Fastest Way to DRUPAL
Fastest Way to DRUPALFastest Way to DRUPAL
Fastest Way to DRUPALBrahm
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to DrupalTom Deryckere
 
Brief Intro to Drupal
Brief Intro to DrupalBrief Intro to Drupal
Brief Intro to DrupalJohnnie Fox
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Acquia
 
Drupal Conference
Drupal ConferenceDrupal Conference
Drupal ConferenceChanHan Hy
 
Drupal article first_site_04
Drupal article first_site_04Drupal article first_site_04
Drupal article first_site_04pepenar
 
Drupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime CollegeDrupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime Collegeguest08bc36
 
Drupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime CollegeDrupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime CollegeGeshan Manandhar
 
Four Open Source Drupal Applications for Higher Education
Four Open Source Drupal Applications for Higher EducationFour Open Source Drupal Applications for Higher Education
Four Open Source Drupal Applications for Higher EducationAcquia
 

Semelhante a An Introduction to Drupal (20)

Absolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalAbsolute Beginners Guide to Drupal
Absolute Beginners Guide to Drupal
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal IntroDrupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to Drupal
 
Get Up and Running Quickly with Drupal Distributions
Get Up and Running Quickly with Drupal DistributionsGet Up and Running Quickly with Drupal Distributions
Get Up and Running Quickly with Drupal Distributions
 
Fastest Way to DRUPAL
Fastest Way to DRUPALFastest Way to DRUPAL
Fastest Way to DRUPAL
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
Drupal -Introduction to Drupal
Drupal -Introduction to DrupalDrupal -Introduction to Drupal
Drupal -Introduction to Drupal
 
Brief Intro to Drupal
Brief Intro to DrupalBrief Intro to Drupal
Brief Intro to Drupal
 
Drupal Skils Lab 302Labs
Drupal Skils Lab 302Labs Drupal Skils Lab 302Labs
Drupal Skils Lab 302Labs
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
 
Drupal Conference
Drupal ConferenceDrupal Conference
Drupal Conference
 
Drupal intro (1)
Drupal intro (1)Drupal intro (1)
Drupal intro (1)
 
Drupal intro
Drupal introDrupal intro
Drupal intro
 
Sample Absolute beginners guide
Sample Absolute beginners guideSample Absolute beginners guide
Sample Absolute beginners guide
 
Drupal introduction
Drupal introductionDrupal introduction
Drupal introduction
 
Drupal article first_site_04
Drupal article first_site_04Drupal article first_site_04
Drupal article first_site_04
 
Drupal intro
Drupal introDrupal intro
Drupal intro
 
Drupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime CollegeDrupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime College
 
Drupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime CollegeDrupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime College
 
Four Open Source Drupal Applications for Higher Education
Four Open Source Drupal Applications for Higher EducationFour Open Source Drupal Applications for Higher Education
Four Open Source Drupal Applications for Higher Education
 

Último

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Último (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

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