SlideShare a Scribd company logo
Synapse India Reviews on Drupal 
Intro 
An overview of the architecture, features and 
basic site-building workflow of the CMS.
What is Drupal? 
• Open Source software written in php. 
• A CMS or content-management system. 
• A sophisticated web application building tool.
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? 
• 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 over 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 other 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 Druup 
• 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? 
• 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 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.
Modules 
• 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
Themes 
• 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 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
Nodes 
• 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) 
• 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 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.
Blocks 
• 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 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 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.
Users 
• 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 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 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’ 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 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 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 Site Information 
• 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 and Time 
• 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 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 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 user 
• Go to Administer > User Management > Users 
• Click ‘Add user’ 
• Choose options. 
• Click ‘Create New Account’
Recipe: 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 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 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 multiple roles 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: Altering Permissions 
• 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 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 About Page 
• 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 Site (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
Recipe: Halp! The site is messed up 
• If the login disappears and you can’t login, go to 
www.yourdomain.com/user or 
www.yourdomain.com/index.php?q=user 
• If clean URLs is not working, substitute the first forward slash 
(‘/’) after the domain/host with ‘/index.php?q=‘ without the 
quotes. 
• If all else fails, call Chris or Alex to build a GUI interface in 
Visual Basic to track down the perpetrator in realtime.
Installing 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 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.
Modules Used on Almost every Drupal Site
Most Useful Contributed Modules 
Administration 
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 Modules for SEO 
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
Most Useful Contributed Modules (OLD) 
Administration 
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 Mollum / Spam Captcha 
WYSIWYG API FCKEditor IMCE 
Actions Triggers Notify Scheduler 
Date Chaos Tools + 
Delegator 
Panels 
Addthis / Diggthis/ 
Sharethis 
Guestbook Simplenews GoogAnalytics 
Advanced: Advanced: Apache 
Solr Search (we 
cannot support yet) 
Advanced: Open 
Calais –RDF metadata 
WS 
Advanced: Devel 
(danger) 
Advanced: 
PHPmailer / 
SMTP Auth
A warning about using Free and Low 
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 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.

More Related Content

What's hot (20)

PPTX
Drupal For Dummies
Koen Delvaux
 
PPTX
Drupal Skils Lab 302Labs
Ahmad Mohamad Zain
 
PPTX
72d5drupal
Mahesh Sherkar
 
PPTX
10 Steps Not To Forget After Installing Drupal
Cory Gilliam
 
PPTX
One Drupal to rule them all - Drupalcamp London
hernanibf
 
PPT
Intro to drupal
hernanibf
 
PPTX
Getting Started with Drupal
Rachel Vacek
 
ODP
Drupal - Blocks vs Context vs Panels
David Burns
 
PDF
My Site is slow - Drupal Camp London 2013
hernanibf
 
PPTX
Drupal architectures for flexible content - Drupalcon Barcelona
hernanibf
 
PPT
Drupal overview-training
Sam Davis
 
PPT
Introduction to drupal
mayank.grd
 
PDF
Aegir Cpanel for Drupal Sites
Damjan Cvetan
 
KEY
jQuery for Drupal
jhamiltoorion
 
PDF
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Anson Han
 
PDF
My site is slow
hernanibf
 
PPT
The things we found in your website
hernanibf
 
PPTX
Webiny CMS Starter Guide
Webiny
 
PPTX
Drupal_cubet seminar
Cubet Techno Labs
 
PDF
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Jer Clarke
 
Drupal For Dummies
Koen Delvaux
 
Drupal Skils Lab 302Labs
Ahmad Mohamad Zain
 
72d5drupal
Mahesh Sherkar
 
10 Steps Not To Forget After Installing Drupal
Cory Gilliam
 
One Drupal to rule them all - Drupalcamp London
hernanibf
 
Intro to drupal
hernanibf
 
Getting Started with Drupal
Rachel Vacek
 
Drupal - Blocks vs Context vs Panels
David Burns
 
My Site is slow - Drupal Camp London 2013
hernanibf
 
Drupal architectures for flexible content - Drupalcon Barcelona
hernanibf
 
Drupal overview-training
Sam Davis
 
Introduction to drupal
mayank.grd
 
Aegir Cpanel for Drupal Sites
Damjan Cvetan
 
jQuery for Drupal
jhamiltoorion
 
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Anson Han
 
My site is slow
hernanibf
 
The things we found in your website
hernanibf
 
Webiny CMS Starter Guide
Webiny
 
Drupal_cubet seminar
Cubet Techno Labs
 
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Jer Clarke
 

Similar to Synapse india reviews on drupal intro (20)

PPTX
Drupal introduction
Jin Castor
 
PPT
An Introduction to Drupal
Compare Infobase Limited
 
PPT
Drupal presentation
Clément Hallet
 
PPT
Drupal101
Rachel Vacek
 
PPT
Synapseindia drupal intro 0
saritasingh19866
 
ODP
Drupal 7x Installation - Introduction to Drupal Concepts
Micky Metts
 
ODP
Drupal 6x Installation
Micky Metts
 
PPTX
Lazy Coder Camp Edition 1
phpfactory
 
PDF
Introduction To Drupal
Lauren Roth
 
PPT
Getting Started with Drupal
Rachel Vacek
 
PPT
CMS 101 Drupal
ggfergu
 
PPT
JIIT PORTAL based on Drupal
Prashant Saini
 
PPTX
drupal theme developer in hyderabad
php2ranjan
 
PPT
Drupal - Introduction to Drupal and Web Content Management
Vibrant Technologies & Computers
 
PPTX
Basic Introduction to Drupal
Murtaza Alvi
 
PDF
Introduction to Drupal Basics
Juha Niemi
 
PPT
Drupal - Introduction to Drupal Menu and Theme Management
Vibrant Technologies & Computers
 
ODP
Drupal Training #1
Kyle Mathews
 
PDF
Drupal for Developers
넥스트이온 (Nextaeon)
 
PDF
Drupal kickstart-workshop
Ted Husted
 
Drupal introduction
Jin Castor
 
An Introduction to Drupal
Compare Infobase Limited
 
Drupal presentation
Clément Hallet
 
Drupal101
Rachel Vacek
 
Synapseindia drupal intro 0
saritasingh19866
 
Drupal 7x Installation - Introduction to Drupal Concepts
Micky Metts
 
Drupal 6x Installation
Micky Metts
 
Lazy Coder Camp Edition 1
phpfactory
 
Introduction To Drupal
Lauren Roth
 
Getting Started with Drupal
Rachel Vacek
 
CMS 101 Drupal
ggfergu
 
JIIT PORTAL based on Drupal
Prashant Saini
 
drupal theme developer in hyderabad
php2ranjan
 
Drupal - Introduction to Drupal and Web Content Management
Vibrant Technologies & Computers
 
Basic Introduction to Drupal
Murtaza Alvi
 
Introduction to Drupal Basics
Juha Niemi
 
Drupal - Introduction to Drupal Menu and Theme Management
Vibrant Technologies & Computers
 
Drupal Training #1
Kyle Mathews
 
Drupal for Developers
넥스트이온 (Nextaeon)
 
Drupal kickstart-workshop
Ted Husted
 
Ad

More from Tarunsingh198 (7)

PPT
Synapseindia android app programming
Tarunsingh198
 
PPT
Synapseindia android apps introduction hello world
Tarunsingh198
 
ODP
Synapse india reviews on mobile devices
Tarunsingh198
 
PPT
Synapse india reviews on drupal development
Tarunsingh198
 
PPT
Synapse india reviews on drupal 7 entities (stanford)
Tarunsingh198
 
ODP
Synapseindia reviews.odp.
Tarunsingh198
 
ODP
Synapseindia reviews.odp.
Tarunsingh198
 
Synapseindia android app programming
Tarunsingh198
 
Synapseindia android apps introduction hello world
Tarunsingh198
 
Synapse india reviews on mobile devices
Tarunsingh198
 
Synapse india reviews on drupal development
Tarunsingh198
 
Synapse india reviews on drupal 7 entities (stanford)
Tarunsingh198
 
Synapseindia reviews.odp.
Tarunsingh198
 
Synapseindia reviews.odp.
Tarunsingh198
 
Ad

Recently uploaded (20)

PDF
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PDF
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PDF
SSHS-2025-PKLP_Quarter-1-Dr.-Kerby-Alvarez.pdf
AishahSangcopan1
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PPTX
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
PPTX
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PPTX
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
PPTX
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PDF
LAW OF CONTRACT ( 5 YEAR LLB & UNITARY LLB)- MODULE-3 - LEARN THROUGH PICTURE
APARNA T SHAIL KUMAR
 
PDF
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
PPTX
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PDF
The-Ever-Evolving-World-of-Science (1).pdf/7TH CLASS CURIOSITY /1ST CHAPTER/B...
Sandeep Swamy
 
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
SSHS-2025-PKLP_Quarter-1-Dr.-Kerby-Alvarez.pdf
AishahSangcopan1
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
LAW OF CONTRACT ( 5 YEAR LLB & UNITARY LLB)- MODULE-3 - LEARN THROUGH PICTURE
APARNA T SHAIL KUMAR
 
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
The-Ever-Evolving-World-of-Science (1).pdf/7TH CLASS CURIOSITY /1ST CHAPTER/B...
Sandeep Swamy
 

Synapse india reviews on drupal intro

  • 1. Synapse India Reviews on Drupal Intro An overview of the architecture, features and basic site-building workflow of the CMS.
  • 2. What is Drupal? • Open Source software written in php. • A CMS or content-management system. • A sophisticated web application building tool.
  • 3. 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…
  • 4. 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.
  • 5. Why use Drupal over 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.
  • 6. Why use Drupal over Joomla? (or other 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.
  • 7. Downsides to the Druup • 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.
  • 8. 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.
  • 9. Drupal 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.
  • 10. Modules • 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
  • 11. Themes • 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.
  • 12. Drupal 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
  • 13. Nodes • 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.
  • 14. 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.
  • 15. Layout 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.
  • 16. Blocks • 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.
  • 17. Additional 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.
  • 18. Admin 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.
  • 19. Users • 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.
  • 20. Anonymous 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.
  • 21. Authenticated 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
  • 22. Root ‘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.
  • 23. Managing 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.
  • 24. Managing 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.
  • 25. Recipe: Change Site Information • 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’
  • 26. Recipe: Change Date and Time • 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’
  • 27. Recipe: 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’
  • 28. Clean 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.
  • 29. Recipe: Add a user • Go to Administer > User Management > Users • Click ‘Add user’ • Choose options. • Click ‘Create New Account’
  • 30. Recipe: 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’
  • 31. Recipe: 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.
  • 32. Recipe: 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.
  • 33. Recipe: Assign multiple roles 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’
  • 34. Recipe: Altering Permissions • 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’
  • 35. Recipe: 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.
  • 36. Recipe: Create About Page • 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.
  • 37. Recipe : Change Site (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
  • 38. Recipe: Halp! The site is messed up • If the login disappears and you can’t login, go to www.yourdomain.com/user or www.yourdomain.com/index.php?q=user • If clean URLs is not working, substitute the first forward slash (‘/’) after the domain/host with ‘/index.php?q=‘ without the quotes. • If all else fails, call Chris or Alex to build a GUI interface in Visual Basic to track down the perpetrator in realtime.
  • 39. Installing 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’
  • 40. Using 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.
  • 41. Modules Used on Almost every Drupal Site
  • 42. Most Useful Contributed Modules Administration 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 Modules for SEO 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. Most Useful Contributed Modules (OLD) Administration 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 Mollum / Spam Captcha WYSIWYG API FCKEditor IMCE Actions Triggers Notify Scheduler Date Chaos Tools + Delegator Panels Addthis / Diggthis/ Sharethis Guestbook Simplenews GoogAnalytics Advanced: Advanced: Apache Solr Search (we cannot support yet) Advanced: Open Calais –RDF metadata WS Advanced: Devel (danger) Advanced: PHPmailer / SMTP Auth
  • 45. A warning about using Free and Low 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
  • 46. Most 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.