SlideShare a Scribd company logo
Drupal -Introduction to Drupal
Introduction toIntroduction to
DrupalDrupal
What is Drupal?What is Drupal?
• Open Source software written in php.
• A CMS or content-management system.
• A sophisticated web application building tool.
What is a CMS?What is a CMS?
• Simply put, a CMS is a website you build using the
website itself.
• Wikipedia definition: A content management
system (CMS) such as a document management
system (DMS) is a computer application used to
manage work flow needed to collaboratively
create, edit, review, index, search, publish and
archive various kinds of digital media and
electronic text.[1]
What can Drupal be?What can Drupal be?
• blog
• Forum
• Online newspaper, Portal / Directory
• Brocure site, portfolio, flickr like photo drop
• Social community site, job post board
• Video site like youtube
• Project management site
• CRM, ERP, SCM, Wiki
• Shopping cart system
• E-learning, training site
• Dating site
• Anything you can think of…
Why use a CMS?Why use a CMS?
• It helps manage complexity.
• It provides a user interface (UI) for adding, editing
and publishing content.
• It provides a means for collaboration among many
to perform the above tasks.
Why use Drupal overWhy use Drupal over
Wordpress?Wordpress?
• Wordpress was designed only to be a blog with some easy add-ons.
• Drupal was designed to be more of a generalist: it’s for making ‘anything’ and is far more
robust.
• Wordpress could be the better choice for blogs since it is better at being a blog than Drupal.
This is something of debate.
• Wordpress is still a sound choice of CMS for SEO and security; so if wordpress satisfies a simpler
project’s requirements then by all means use it- it is easier and faster to set up than Drupal.
• Wordpress is not designed to be highly scalable to many simultaneous users, nor does it have
flexible roles, permissions, extensible content types, nor does it have plentiful well-tested, quality
add-ons. It has a few and a lot of really poor plugins.
• Caveat: Trying to force Wordpress to do something it cannot do easily with very popular plug-ins
can be worse than suffering the learning curve of Drupal.
Why use Drupal over Joomla? (or otherWhy use Drupal over Joomla? (or other
CMS)CMS)
• It has superior session handling for a CMS.
• It has superior security.
• It is a more consistent, reliable and flexible framework for development.
• It is considered better for SEO from our research.
• It uses a ‘separation of concerns’ architecture to cleanly and consistently separate structure,
function, form, and presentation in layers (ie: php from data as db/xml, layout and presentation
as html and css).
• It heavily uses ‘defaults overrides’ in code in the form of hooks and in themes in the form of
templates. This makes it extremely flexible.
• Other CMS’es do a very very bad job of at least one of the above.
Downsides to the DrupalDownsides to the Drupal
• Drupal has a steeper learning curve than wordpress
or Joomla.
• Drupal and it’s developers make no excuse for this
fact- it is a robust, flexible tool
• That said, the drupal community is constantly
addressing usability and user-experience issues
because they want the industry market share.
What is a UI?What is a UI?
• UI is a user-interface, which is a general term for the
layout of options, widgets and settings used to
configure the system or manage content.
• ‘Site-building’ activities refer to configuring settings
or managing content through the UI, such as
building navigation menus.
Drupal StructureDrupal Structure
• Drupal is a database-driven (‘dynamic’)
application. It requires a database.
• Drupal has a core filesystem whose functionality
can be extended using the UI itself, modules and
themes.
• The UI settings are stored in the database.
ModulesModules
• Packages of files in a directory that you upload into
drupal’s module space (/sites/all/modules)
• Add functionality to drupal
• ‘Core’ Modules come shipped with drupal
• ‘Contributed’ Modules are downloads from
drupal.org
ThemesThemes
• Packages of files in a directory that you upload into
drupal’s theme space (/sites/all/themes)
• Themes adjust the site layout and style. Like
‘skinning’ your media player.
• Themes can be easily changed in the UI.
Drupal DatabaseDrupal Database
Drupal’s database tracks things like :
• Site and Module settings,
• User’s information,
• Access information,
• Logging information,
• Permissions and User Roles,
• System Paths
• Content and content metadata
NodesNodes
• A node is the primary form of content in a drupal
site. At a minimum it is a title and a body, and can
be ‘specialized’.
• A ‘page’ and ‘story’ for example are node types
that have a specific node settings.
• A node type is a blueprint for creating instances of
content of a particular type.
Nodes (cont)Nodes (cont)
• Not everything in Drupal is a node.
• This is important!!
• Ex: A user is not a node. A taxonomy is not a node.
An account is not a node.
• Knowing this is important for evaluation of what can
and cannot be easily done through the UI, without
additional programming.
Layout and RegionsLayout and Regions
• A Region is an area in a layout, such as a header, footer,
content, left/right sidebar into which blocks can be placed
and arranged.
• A block is a box containing some information
• A node resides only in the content area of the layout (except
in special circumstances).
• Think of the content region as a big ‘node’ block that allows
other blocks in it but the node itself can’t move.
BlocksBlocks
• Blocks are added by modules.
• Blocks can contain views, widgets, menus, nodes (in
special circumstances), and panels.
• Blocks can be moved around through the UI
• Blocks can be styled individually.
Additional TerminologyAdditional Terminology
• Views – an interface for making customized lists of
the data contained in the drupal database.
• Panels – an interface for making customized layouts
of nodes available to the panels module.
• Widgets – a general term for interactive form
elements or graphs that are enabled by modules.
Admin MenuAdmin Menu
• The administrative menu is a part of the UI that
allows one to configure Drupal’s settings.
• The settings available depend on which modules
are installed and enabled.
• Permissions allow users to have ‘administrative’
access to module settings.
UsersUsers
• All CMSes (wordpress, Joomla, Drupal) have a user
login system; users have a username/pw.
• Drupal also supports the concepts of 1) Roles and 2)
Permissions.
• Roles are user designations to groups having the
same set of permissions.
Anonymous UserAnonymous User
• A (not-logged-in) site visitor is called a ‘guest’,
‘visitor’ or ‘anonymous user’.
• Has a user-id (uid) of 0 (zero).
• All anonymous users belong to the ‘anonymous user
role’ (a role ID of 1) and have a set of permissions
assigned to them.
Authenticated UserAuthenticated User
• A user in drupal may belong to one or more roles.
• Every registered user in Drupal belongs to at least
the ‘authenticated user’ role.
• Authenticated user role has a role ID of 2
Root ‘Admin’ UserRoot ‘Admin’ User
• The ‘root’ user or ‘root admin’ has the ability to do
anything on the site and is a special user.
• The ‘root’ user has a user-id (uid) of 1.
• The ‘root’ user does NOT have role-permissions to
set because they are effectively gods within Drupal.
Managing PermissionsManaging Permissions
• KEY concept: if you grant permission to an
authenticated user, it applies to ALL roles except
the anonymous user.
• To grant a permission to everyone on a site, you
must grant the permission to both the anonymous
user and authenticated user.
Managing PermissionsManaging Permissions
• To grant permission to only a newly created ‘dentist
role’, tick the permission on that role.
• Leave all the other roles deselected.
• If you grant to both the ‘dentist role’ AND the
‘authenticated user’ role, you would be doing it
wrong. Drupal assumes you know this.
Recipe: Change SiteRecipe: Change Site
InformationInformation
• In Administer > Site Configuration > Site Information:
• Change the information to suit your site following
the help text.
• Don’t change the ‘Default front page’ just yet.
• Click ‘Save configuration’
Recipe: Change Date andRecipe: Change Date and
TimeTime
• In Administer > Site Configuration > Date and Time:
• Change the timezone to the correct time for
America/Denver (-0600 UTC)
• Change the time formats
• Click ‘Save Configuration’
Recipe: Clean UrlsRecipe: Clean Urls
Clean URLs remove the ?q= from the location bar in
your web browser.
• In Administer > Site Configuration > Clean Urls:
• Tick ‘Enabled’
• Click ‘Save Configuration’
Clean Urls IssueClean Urls Issue
• If ‘Clean URLs’ is an unchangeable option, then there is
a misconfiguration of the drupal site hosting
environment.
• Contact your local IT support for assistance or consult
the drupal handbook for more info.
• For the purposes of this demo, it’s not important but it -is-
important to enable later.
Recipe: Add a userRecipe: Add a user
• Go to Administer > User Management > Users
• Click ‘Add user’
• Choose options.
• Click ‘Create New Account’
Recipe: Add a userRecipe: Add a user
• A user can also add themselves by registering, if the root
user has allowed this option.
• Go to Administer > User Management > User Settings
• Tick ‘Visitors can create accounts and no administrator
approval is required’
• Click ‘Save Configuration’
Recipe: Add RolesRecipe: Add Roles
• You will note that ‘anonymous’ and
‘authenticated’ users are there by default,
undeletable.
• Type in the box below the roles in the ‘Name’
column. Click ‘add role’. That’s it.
Recipe: Edit / Delete roleRecipe: Edit / Delete role
• Click ‘edit’ next to the role name.
• Here you can change the name or delete the role.
• Warning: If you click ‘delete role’, there is NO
confirmation. This can be bad.
Recipe: Assign multipleRecipe: Assign multiple
roles to Userroles to User
• In Administer > User Management > Users:
• Click the ‘edit’ link under operations for a user
• Under Roles, Tick an additional role you created.
• You will notice ‘authenticated user’ is locked.
• Scroll to the bottom and click ‘Save’
Recipe: AlteringRecipe: Altering
PermissionsPermissions
• Under Administer > User Management > Permissions: you
will see there is a permissions column and role columns.
• Scroll down to the user module section.
• Tick ‘change own username’ in the ‘authenticated user’
column.
• Tick ‘Save Permissions’
Recipe: Build MenuRecipe: Build Menu
• Under Administer > Site Building > Menus:
• Click Primary Links
• On the Primary Links ‘List Items’ page, click ‘Add Item’
• In Path, type ‘contact’. In Menu link title, type ‘Contact Form’.
• Change weight to ‘50’ (drupal 6.x; ‘10’ in drupal 5.x)
• Click Save.
• You will notice that ‘Contact Form’ appears now on the far right of your primary
links. Click it to go to the contact form.
Recipe: Create AboutRecipe: Create About
PagePage
• In the Navigation (left sidebar), click ‘Create Content’
• Click ‘Page’ under the content type listing.
• In the Title, type ‘About Us’. In the body type ‘This is my first drupal page’.
• Expand the ‘Menu settings’ fieldset.
• In the “Menu link title” type ‘About Us’.
• Change the weight to ‘49’.
• Expand the ‘URL path’ fieldset and type ‘about-us’
• Click ‘Save’
• You should now see the ‘About Us’ menu item in the Primary Link navigation. Click it to go to this newly created node.
Recipe : Change SiteRecipe : Change Site
(Admin) Email(Admin) Email
• Note: There are multiple places to change the email address for a site
‘root user’ administrator. You may have to dig around for them in admin
menu when logged in as the root user. Get login info from Salesforce.
• In site information : admin/settings/site-information
• Site-wide contact form settings : admin/build/contact (edit operation)
• Mass contact settings (if used) : admin/build/mass_contact/settings
• Mail settings (different places, ex uses mimemail) :
admin/settings/mimemail
• User register notify : admin/settings/register_notify
Installing ModulesInstalling Modules
• Download (from drupal.or) and Unpack module
‘tarballs’ (*.tar.gz) files to the folder inside.
• Upload the module folder to <drupal_root>
/sites/all/modules.
• Create the ‘modules’ and ‘themes’ directories if
they are not there.
• Go to Administer > Site Building > Modules : and tick
‘Enabled’ next to the module to enable it and click
‘Save Configuration’
Using ModulesUsing Modules
• A newly enabled module will add an administration
menu.
• Go to that module and read the help before changing
anything.
• Play around and learn it’s feature set.
• Install the ‘Advanced Help’ module to get more verbose
help with modules.
Most Useful Contributed ModulesMost Useful Contributed Modules
Administratio
n
menu
CCK Views String
Overrides
Backup and
Migrate
SEO Checklist SEO Compliance
Checker
Pathauto Path Redirect Global Redirect
Search404 Meta Tags Global GEOurl Html Purifier Page Title
Menu Attributes New XML Sitemap Site Map Taxonomy
Manager
Token
Auto Assign Role
(+patch)
Ubercart Date Mollum / Spam Captcha
WYSIWYG API FCKEditor IMCE Chaos Tools +
Delegator
Panels
Actions Triggers Notify Scheduler
Addthis /
Diggthis/
Sharethis
Guestbook Simplenews GoogAnalytics
Most Useful Contributed ModulesMost Useful Contributed Modules forfor SEOSEO
SEO Checklist SEO Compliance
Checker
Path + Pathauto Path Redirect
Global Redirect
Search404 Meta Tags Global GEOurl Html Purifier
Page Title
Menu Attributes
New XML
Sitemap
Site Map
Advanced: Open
Calais –RDF
metadata WS
A warning about using Free andA warning about using Free and
Low Cost (downloaded) ThemesLow Cost (downloaded) Themes• They are more difficult to customize than starting from scratch, but faster to use.
• Some of the markup is not seo-friendly.
• Some of the markup is over-engineered and messy; less is more.
• Free or amateur / low-cost themes can be confusing if you look at the code; this may impair
your ability to learn drupal theming.
• Some of the markup may be in tables or liquid layout and this may be hard to change for your
particular project, even if it looks nice to you.
• Best practice suggests you either find a theme design and mimic its look-and-feel or do the
traditional photoshop mock up.
• If you take someone else’s theme, you don’t know what you’re going to get and this can hinder
your ability to develop
Most Useful ThemesMost Useful Themes
Zen
(use starter kit to
subtheme)
960 grid based themes Garland
(use as admin theme)
Blarland… an evil copy
of garland. Place it in
sites/all/themes and
change the name of
garland to blarland in
folder, and file names esp
in the info file.
ThankThank You !!!You !!!
For More Information click below link:
Follow Us on:
http://vibranttechnologies.co.in/drupal-classes-in-mumbai.html

More Related Content

PPT
Drupal intro
PPT
Drupal intro
PPT
Drupal intro (1)
PPT
Synapse india reviews on drupal intro
PPT
Drupal intro-training-in-mumbai
PPTX
Online Drupal Training Syllabus
PPTX
Drupal Skils Lab 302Labs
PDF
Acquia Commons
Drupal intro
Drupal intro
Drupal intro (1)
Synapse india reviews on drupal intro
Drupal intro-training-in-mumbai
Online Drupal Training Syllabus
Drupal Skils Lab 302Labs
Acquia Commons

What's hot (20)

PPTX
One Drupal to rule them all - Drupalcamp London
PPT
Intro to drupal
PPTX
72d5drupal
PPT
Drupal
PPTX
Drupal architectures for flexible content - Drupalcon Barcelona
PPTX
10 Steps Not To Forget After Installing Drupal
PDF
My site is slow
PPT
Introduction to drupal
PDF
Aegir Cpanel for Drupal Sites
PDF
My Site is slow - Drupal Camp London 2013
PPT
The things we found in your website
KEY
Introduction to Drupal
PDF
Deployer - Deployment tool for PHP
PDF
Joomla! ACL - Joomla!Day Germany
ODP
Drupal 7x Installation - Introduction to Drupal Concepts
PDF
Oxford DrupalCamp 2012 - The things we found in your website
ODP
Drupal Webinar
PDF
Drupal 7
PDF
2-5-14 “DSpace User Interface Innovation” Presentation Slides
One Drupal to rule them all - Drupalcamp London
Intro to drupal
72d5drupal
Drupal
Drupal architectures for flexible content - Drupalcon Barcelona
10 Steps Not To Forget After Installing Drupal
My site is slow
Introduction to drupal
Aegir Cpanel for Drupal Sites
My Site is slow - Drupal Camp London 2013
The things we found in your website
Introduction to Drupal
Deployer - Deployment tool for PHP
Joomla! ACL - Joomla!Day Germany
Drupal 7x Installation - Introduction to Drupal Concepts
Oxford DrupalCamp 2012 - The things we found in your website
Drupal Webinar
Drupal 7
2-5-14 “DSpace User Interface Innovation” Presentation Slides
Ad

Viewers also liked (11)

PPT
Drupal - Introduction to Drupal and Web Content Management
PPT
Drupal - Introduction to Drupal Menu and Theme Management
PPT
Drupal - Introduction to Drupal Creating Modules
PPT
Drupal - Introduction to Building Library Web Site Using Drupal
PPT
Drupal - Introduction to User Management in Drupal
PPT
ROBOTICS - Introduction to Robotics
PPT
Linux - Introductions to Linux Operating System
PPT
ROBOTICS - Introduction to Robotics Microcontroller
PPT
Drupal - Introduction to Drupal Template Design
PPT
ROBOTIC - Introduction to Robotics
PPT
Robotics - introduction to Robotics
Drupal - Introduction to Drupal and Web Content Management
Drupal - Introduction to Drupal Menu and Theme Management
Drupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to User Management in Drupal
ROBOTICS - Introduction to Robotics
Linux - Introductions to Linux Operating System
ROBOTICS - Introduction to Robotics Microcontroller
Drupal - Introduction to Drupal Template Design
ROBOTIC - Introduction to Robotics
Robotics - introduction to Robotics
Ad

Similar to Drupal -Introduction to Drupal (20)

PPTX
Drupal introduction
PPT
An Introduction to Drupal
PPT
Drupal presentation
PPTX
Lazy Coder Camp Edition 1
PDF
Drupal for Developers
PPT
Synapseindia drupal intro 0
ODP
Drupal 6x Installation
PDF
Drupal kickstart-workshop
PPTX
Drupaljdnndkdkckmfkfkkffmfkkfkfk_Part1.pptx
PDF
Introduction To Drupal
PPT
Drupal101
ODP
Drupal Training #1
PPT
Beginner's guide to drupal
PPT
JIIT PORTAL based on Drupal
PPT
CMS 101 Drupal
PPTX
Basic Introduction to Drupal
PPTX
An Introduction to Drupal & How to Use It by Sanket Jain
PPTX
Intro to Drupal Slides - DrupalCampSC 2014
PDF
Drupal 8 Basic Training - DrupalEurope 2018 - Maarten De Block
PDF
What is Drupal? And Why is it Useful? Webinar
Drupal introduction
An Introduction to Drupal
Drupal presentation
Lazy Coder Camp Edition 1
Drupal for Developers
Synapseindia drupal intro 0
Drupal 6x Installation
Drupal kickstart-workshop
Drupaljdnndkdkckmfkfkkffmfkkfkfk_Part1.pptx
Introduction To Drupal
Drupal101
Drupal Training #1
Beginner's guide to drupal
JIIT PORTAL based on Drupal
CMS 101 Drupal
Basic Introduction to Drupal
An Introduction to Drupal & How to Use It by Sanket Jain
Intro to Drupal Slides - DrupalCampSC 2014
Drupal 8 Basic Training - DrupalEurope 2018 - Maarten De Block
What is Drupal? And Why is it Useful? Webinar

More from Vibrant Technologies & Computers (20)

PPT
Buisness analyst business analysis overview ppt 5
PPT
SQL Introduction to displaying data from multiple tables
PPT
SQL- Introduction to MySQL
PPT
SQL- Introduction to SQL database
PPT
ITIL - introduction to ITIL
PPT
Salesforce - Introduction to Security & Access
PPT
Data ware housing- Introduction to olap .
PPT
Data ware housing - Introduction to data ware housing process.
PPT
Data ware housing- Introduction to data ware housing
PPT
Salesforce - classification of cloud computing
PPT
Salesforce - cloud computing fundamental
PPT
SQL- Introduction to PL/SQL
PPT
SQL- Introduction to advanced sql concepts
PPT
SQL Inteoduction to SQL manipulating of data
PPT
SQL- Introduction to SQL Set Operations
PPT
Sas - Introduction to designing the data mart
PPT
Sas - Introduction to working under change management
PPT
SAS - overview of SAS
PPT
Teradata - Architecture of Teradata
PPT
Teradata - Restoring Data
Buisness analyst business analysis overview ppt 5
SQL Introduction to displaying data from multiple tables
SQL- Introduction to MySQL
SQL- Introduction to SQL database
ITIL - introduction to ITIL
Salesforce - Introduction to Security & Access
Data ware housing- Introduction to olap .
Data ware housing - Introduction to data ware housing process.
Data ware housing- Introduction to data ware housing
Salesforce - classification of cloud computing
Salesforce - cloud computing fundamental
SQL- Introduction to PL/SQL
SQL- Introduction to advanced sql concepts
SQL Inteoduction to SQL manipulating of data
SQL- Introduction to SQL Set Operations
Sas - Introduction to designing the data mart
Sas - Introduction to working under change management
SAS - overview of SAS
Teradata - Architecture of Teradata
Teradata - Restoring Data

Recently uploaded (20)

PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
KodekX | Application Modernization Development
PDF
Chapter 2 Digital Image Fundamentals.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
Teaching material agriculture food technology
PDF
Sensors and Actuators in IoT Systems using pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PPTX
Big Data Technologies - Introduction.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
KodekX | Application Modernization Development
Chapter 2 Digital Image Fundamentals.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Teaching material agriculture food technology
Sensors and Actuators in IoT Systems using pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Understanding_Digital_Forensics_Presentation.pptx
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Big Data Technologies - Introduction.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
madgavkar20181017ppt McKinsey Presentation.pdf
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift

Drupal -Introduction to Drupal

  • 3. What is Drupal?What is Drupal? • Open Source software written in php. • A CMS or content-management system. • A sophisticated web application building tool.
  • 4. What is a CMS?What is a CMS? • Simply put, a CMS is a website you build using the website itself. • Wikipedia definition: A content management system (CMS) such as a document management system (DMS) is a computer application used to manage work flow needed to collaboratively create, edit, review, index, search, publish and archive various kinds of digital media and electronic text.[1]
  • 5. What can Drupal be?What can Drupal be? • blog • Forum • Online newspaper, Portal / Directory • Brocure site, portfolio, flickr like photo drop • Social community site, job post board • Video site like youtube • Project management site • CRM, ERP, SCM, Wiki • Shopping cart system • E-learning, training site • Dating site • Anything you can think of…
  • 6. Why use a CMS?Why use a CMS? • It helps manage complexity. • It provides a user interface (UI) for adding, editing and publishing content. • It provides a means for collaboration among many to perform the above tasks.
  • 7. Why use Drupal overWhy use Drupal over Wordpress?Wordpress? • Wordpress was designed only to be a blog with some easy add-ons. • Drupal was designed to be more of a generalist: it’s for making ‘anything’ and is far more robust. • Wordpress could be the better choice for blogs since it is better at being a blog than Drupal. This is something of debate. • Wordpress is still a sound choice of CMS for SEO and security; so if wordpress satisfies a simpler project’s requirements then by all means use it- it is easier and faster to set up than Drupal. • Wordpress is not designed to be highly scalable to many simultaneous users, nor does it have flexible roles, permissions, extensible content types, nor does it have plentiful well-tested, quality add-ons. It has a few and a lot of really poor plugins. • Caveat: Trying to force Wordpress to do something it cannot do easily with very popular plug-ins can be worse than suffering the learning curve of Drupal.
  • 8. Why use Drupal over Joomla? (or otherWhy use Drupal over Joomla? (or other CMS)CMS) • It has superior session handling for a CMS. • It has superior security. • It is a more consistent, reliable and flexible framework for development. • It is considered better for SEO from our research. • It uses a ‘separation of concerns’ architecture to cleanly and consistently separate structure, function, form, and presentation in layers (ie: php from data as db/xml, layout and presentation as html and css). • It heavily uses ‘defaults overrides’ in code in the form of hooks and in themes in the form of templates. This makes it extremely flexible. • Other CMS’es do a very very bad job of at least one of the above.
  • 9. Downsides to the DrupalDownsides to the Drupal • Drupal has a steeper learning curve than wordpress or Joomla. • Drupal and it’s developers make no excuse for this fact- it is a robust, flexible tool • That said, the drupal community is constantly addressing usability and user-experience issues because they want the industry market share.
  • 10. What is a UI?What is a UI? • UI is a user-interface, which is a general term for the layout of options, widgets and settings used to configure the system or manage content. • ‘Site-building’ activities refer to configuring settings or managing content through the UI, such as building navigation menus.
  • 11. Drupal StructureDrupal Structure • Drupal is a database-driven (‘dynamic’) application. It requires a database. • Drupal has a core filesystem whose functionality can be extended using the UI itself, modules and themes. • The UI settings are stored in the database.
  • 12. ModulesModules • Packages of files in a directory that you upload into drupal’s module space (/sites/all/modules) • Add functionality to drupal • ‘Core’ Modules come shipped with drupal • ‘Contributed’ Modules are downloads from drupal.org
  • 13. ThemesThemes • Packages of files in a directory that you upload into drupal’s theme space (/sites/all/themes) • Themes adjust the site layout and style. Like ‘skinning’ your media player. • Themes can be easily changed in the UI.
  • 14. Drupal DatabaseDrupal Database Drupal’s database tracks things like : • Site and Module settings, • User’s information, • Access information, • Logging information, • Permissions and User Roles, • System Paths • Content and content metadata
  • 15. NodesNodes • A node is the primary form of content in a drupal site. At a minimum it is a title and a body, and can be ‘specialized’. • A ‘page’ and ‘story’ for example are node types that have a specific node settings. • A node type is a blueprint for creating instances of content of a particular type.
  • 16. Nodes (cont)Nodes (cont) • Not everything in Drupal is a node. • This is important!! • Ex: A user is not a node. A taxonomy is not a node. An account is not a node. • Knowing this is important for evaluation of what can and cannot be easily done through the UI, without additional programming.
  • 17. Layout and RegionsLayout and Regions • A Region is an area in a layout, such as a header, footer, content, left/right sidebar into which blocks can be placed and arranged. • A block is a box containing some information • A node resides only in the content area of the layout (except in special circumstances). • Think of the content region as a big ‘node’ block that allows other blocks in it but the node itself can’t move.
  • 18. BlocksBlocks • Blocks are added by modules. • Blocks can contain views, widgets, menus, nodes (in special circumstances), and panels. • Blocks can be moved around through the UI • Blocks can be styled individually.
  • 19. Additional TerminologyAdditional Terminology • Views – an interface for making customized lists of the data contained in the drupal database. • Panels – an interface for making customized layouts of nodes available to the panels module. • Widgets – a general term for interactive form elements or graphs that are enabled by modules.
  • 20. Admin MenuAdmin Menu • The administrative menu is a part of the UI that allows one to configure Drupal’s settings. • The settings available depend on which modules are installed and enabled. • Permissions allow users to have ‘administrative’ access to module settings.
  • 21. UsersUsers • All CMSes (wordpress, Joomla, Drupal) have a user login system; users have a username/pw. • Drupal also supports the concepts of 1) Roles and 2) Permissions. • Roles are user designations to groups having the same set of permissions.
  • 22. Anonymous UserAnonymous User • A (not-logged-in) site visitor is called a ‘guest’, ‘visitor’ or ‘anonymous user’. • Has a user-id (uid) of 0 (zero). • All anonymous users belong to the ‘anonymous user role’ (a role ID of 1) and have a set of permissions assigned to them.
  • 23. Authenticated UserAuthenticated User • A user in drupal may belong to one or more roles. • Every registered user in Drupal belongs to at least the ‘authenticated user’ role. • Authenticated user role has a role ID of 2
  • 24. Root ‘Admin’ UserRoot ‘Admin’ User • The ‘root’ user or ‘root admin’ has the ability to do anything on the site and is a special user. • The ‘root’ user has a user-id (uid) of 1. • The ‘root’ user does NOT have role-permissions to set because they are effectively gods within Drupal.
  • 25. Managing PermissionsManaging Permissions • KEY concept: if you grant permission to an authenticated user, it applies to ALL roles except the anonymous user. • To grant a permission to everyone on a site, you must grant the permission to both the anonymous user and authenticated user.
  • 26. Managing PermissionsManaging Permissions • To grant permission to only a newly created ‘dentist role’, tick the permission on that role. • Leave all the other roles deselected. • If you grant to both the ‘dentist role’ AND the ‘authenticated user’ role, you would be doing it wrong. Drupal assumes you know this.
  • 27. Recipe: Change SiteRecipe: Change Site InformationInformation • In Administer > Site Configuration > Site Information: • Change the information to suit your site following the help text. • Don’t change the ‘Default front page’ just yet. • Click ‘Save configuration’
  • 28. Recipe: Change Date andRecipe: Change Date and TimeTime • In Administer > Site Configuration > Date and Time: • Change the timezone to the correct time for America/Denver (-0600 UTC) • Change the time formats • Click ‘Save Configuration’
  • 29. Recipe: Clean UrlsRecipe: Clean Urls Clean URLs remove the ?q= from the location bar in your web browser. • In Administer > Site Configuration > Clean Urls: • Tick ‘Enabled’ • Click ‘Save Configuration’
  • 30. Clean Urls IssueClean Urls Issue • If ‘Clean URLs’ is an unchangeable option, then there is a misconfiguration of the drupal site hosting environment. • Contact your local IT support for assistance or consult the drupal handbook for more info. • For the purposes of this demo, it’s not important but it -is- important to enable later.
  • 31. Recipe: Add a userRecipe: Add a user • Go to Administer > User Management > Users • Click ‘Add user’ • Choose options. • Click ‘Create New Account’
  • 32. Recipe: Add a userRecipe: Add a user • A user can also add themselves by registering, if the root user has allowed this option. • Go to Administer > User Management > User Settings • Tick ‘Visitors can create accounts and no administrator approval is required’ • Click ‘Save Configuration’
  • 33. Recipe: Add RolesRecipe: Add Roles • You will note that ‘anonymous’ and ‘authenticated’ users are there by default, undeletable. • Type in the box below the roles in the ‘Name’ column. Click ‘add role’. That’s it.
  • 34. Recipe: Edit / Delete roleRecipe: Edit / Delete role • Click ‘edit’ next to the role name. • Here you can change the name or delete the role. • Warning: If you click ‘delete role’, there is NO confirmation. This can be bad.
  • 35. Recipe: Assign multipleRecipe: Assign multiple roles to Userroles to User • In Administer > User Management > Users: • Click the ‘edit’ link under operations for a user • Under Roles, Tick an additional role you created. • You will notice ‘authenticated user’ is locked. • Scroll to the bottom and click ‘Save’
  • 36. Recipe: AlteringRecipe: Altering PermissionsPermissions • Under Administer > User Management > Permissions: you will see there is a permissions column and role columns. • Scroll down to the user module section. • Tick ‘change own username’ in the ‘authenticated user’ column. • Tick ‘Save Permissions’
  • 37. Recipe: Build MenuRecipe: Build Menu • Under Administer > Site Building > Menus: • Click Primary Links • On the Primary Links ‘List Items’ page, click ‘Add Item’ • In Path, type ‘contact’. In Menu link title, type ‘Contact Form’. • Change weight to ‘50’ (drupal 6.x; ‘10’ in drupal 5.x) • Click Save. • You will notice that ‘Contact Form’ appears now on the far right of your primary links. Click it to go to the contact form.
  • 38. Recipe: Create AboutRecipe: Create About PagePage • In the Navigation (left sidebar), click ‘Create Content’ • Click ‘Page’ under the content type listing. • In the Title, type ‘About Us’. In the body type ‘This is my first drupal page’. • Expand the ‘Menu settings’ fieldset. • In the “Menu link title” type ‘About Us’. • Change the weight to ‘49’. • Expand the ‘URL path’ fieldset and type ‘about-us’ • Click ‘Save’ • You should now see the ‘About Us’ menu item in the Primary Link navigation. Click it to go to this newly created node.
  • 39. Recipe : Change SiteRecipe : Change Site (Admin) Email(Admin) Email • Note: There are multiple places to change the email address for a site ‘root user’ administrator. You may have to dig around for them in admin menu when logged in as the root user. Get login info from Salesforce. • In site information : admin/settings/site-information • Site-wide contact form settings : admin/build/contact (edit operation) • Mass contact settings (if used) : admin/build/mass_contact/settings • Mail settings (different places, ex uses mimemail) : admin/settings/mimemail • User register notify : admin/settings/register_notify
  • 40. Installing ModulesInstalling Modules • Download (from drupal.or) and Unpack module ‘tarballs’ (*.tar.gz) files to the folder inside. • Upload the module folder to <drupal_root> /sites/all/modules. • Create the ‘modules’ and ‘themes’ directories if they are not there. • Go to Administer > Site Building > Modules : and tick ‘Enabled’ next to the module to enable it and click ‘Save Configuration’
  • 41. Using ModulesUsing Modules • A newly enabled module will add an administration menu. • Go to that module and read the help before changing anything. • Play around and learn it’s feature set. • Install the ‘Advanced Help’ module to get more verbose help with modules.
  • 42. Most Useful Contributed ModulesMost Useful Contributed Modules Administratio n menu CCK Views String Overrides Backup and Migrate SEO Checklist SEO Compliance Checker Pathauto Path Redirect Global Redirect Search404 Meta Tags Global GEOurl Html Purifier Page Title Menu Attributes New XML Sitemap Site Map Taxonomy Manager Token Auto Assign Role (+patch) Ubercart Date Mollum / Spam Captcha WYSIWYG API FCKEditor IMCE Chaos Tools + Delegator Panels Actions Triggers Notify Scheduler Addthis / Diggthis/ Sharethis Guestbook Simplenews GoogAnalytics
  • 43. Most Useful Contributed ModulesMost Useful Contributed Modules forfor SEOSEO SEO Checklist SEO Compliance Checker Path + Pathauto Path Redirect Global Redirect Search404 Meta Tags Global GEOurl Html Purifier Page Title Menu Attributes New XML Sitemap Site Map Advanced: Open Calais –RDF metadata WS
  • 44. A warning about using Free andA warning about using Free and Low Cost (downloaded) ThemesLow Cost (downloaded) Themes• They are more difficult to customize than starting from scratch, but faster to use. • Some of the markup is not seo-friendly. • Some of the markup is over-engineered and messy; less is more. • Free or amateur / low-cost themes can be confusing if you look at the code; this may impair your ability to learn drupal theming. • Some of the markup may be in tables or liquid layout and this may be hard to change for your particular project, even if it looks nice to you. • Best practice suggests you either find a theme design and mimic its look-and-feel or do the traditional photoshop mock up. • If you take someone else’s theme, you don’t know what you’re going to get and this can hinder your ability to develop
  • 45. Most Useful ThemesMost Useful Themes Zen (use starter kit to subtheme) 960 grid based themes Garland (use as admin theme) Blarland… an evil copy of garland. Place it in sites/all/themes and change the name of garland to blarland in folder, and file names esp in the info file.
  • 46. ThankThank You !!!You !!! For More Information click below link: Follow Us on: http://vibranttechnologies.co.in/drupal-classes-in-mumbai.html