Professional Documents
Culture Documents
What is Drupal?
Open Source software written in php.
What is a CMS?
Simply put, a CMS is a website you build using
the website itself.
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]
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
Drupal was designed to be more of a generalist: its 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 projects 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.
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 CMSes do a very very bad job of at least one of the above.
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 drupals module space (/sites/all/modules)
Add functionality to drupal
Core Modules come shipped with drupal
Themes
Packages of files in a directory that you upload
into drupals theme space (/sites/all/themes)
Themes adjust the site layout and style. Like
skinning your media player.
Drupal Database
Drupals database tracks things like :
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.
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.
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 Drupals settings.
The settings available depend on which
modules are installed and enabled.
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.
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
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.
In the Title, type About Us. In the body type This is my first drupal page.
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.
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.
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 its feature set.
Install the Advanced Help module to get more
verbose help with modules.
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
Site Map
Taxonomy Manager
Token
Ubercart
Date
Mollum / Spam
Captcha
WYSIWYG API
FCKEditor
IMCE
Chaos Tools +
Delegator
Panels
Actions
Triggers
Notify
Scheduler
Guestbook
Simplenews
Addthis / Diggthis/
Sharethis
GoogAnalytics
SEO Checklist
SEO Compliance
Checker
Path + Pathauto
Path Redirect
Global Redirect
Search404
Meta Tags
Global GEOurl
Html Purifier
Page Title
Site Map
Advanced: Open
Calais RDF
metadata WS
Menu Attributes
CCK
Views
String Overrides
SEO Checklist
SEO Compliance
Checker
Pathauto
Path Redirect
Global Redirect
Search404
Meta Tags
Global GEOurl
Html Purifier
Page Title
Menu Attributes
Site Map
Taxonomy Manager
Token
Ubercart
Mollum / Spam
Captcha
WYSIWYG API
FCKEditor
IMCE
Actions
Triggers
Notify
Date
Addthis / Diggthis/
Sharethis
Advanced:
Advanced: Apache
Solr Search (we
cannot support yet)
Scheduler
Chaos Tools +
Delegator
Panels
Guestbook
Simplenews
GoogAnalytics
Advanced: Open
Calais RDF metadata
WS
Advanced: Devel
(danger)
Advanced: PHPmailer
/
SMTP Auth
They are more difficult to customize than starting from scratch, but faster to use.
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 elses theme, you dont know what youre going to get and this can
hinder your ability to develop
Garland
(use as admin theme)