Introduction to DRUPAL by yyy55749


									By Ankit &Mohit
             What is Drupal?
Drupal is an open-source platform and content
management system for building dynamic web sites
offering a broad range of features and services including
•user administration,
• publishing workflow,
•discussion capabilities,
•news aggregation,
• metadata functionalities

 using controlled vocabularies and XML publishing for
content sharing purposes.
           What is Drupal?
What is Open-Source?
• Open Source means that whoever writes a piece of
computer code makes it available for anybody else to
see it, modify it, or use it.
•Community Based Support
    •help find and fix bugs
    •answer questions on forums / blogs
    •provide documentation
    •code extension modules

•GPL (GNU [GNU Not Unix] Public License) is the
most common open-source license standard
          What is Drupal?
What is Content Management?
  •Web pages are often easily created with static
  (non-changing) content, but it is usually very
  difficult to make regular changes to a page.

   •Content Management is the process of easily
   changing what a user sees at a web page.
What is needed to run Drupal?
•A web server capable of executing PHP scripts
   •recommended: Apache
   •Recommend using the latest stable release
•A PHP supported database server
   •recommended: mySQL
             Drupal Is Cool
•Centralized management
   Templates and modules
•Content creation, editing, and maintenance can be
done without technical Web knowledge

•Changes in styles, layout can be done across the site
without content maintainers involvement
               …More Cool
•Information management
•Navigation structures generated for you
•Easy to add Web2.0 features
          …Even More Cool
•Authentication, roles
•Customization based on default designs, templates,
    -Intercepts, overrides, and subthemes
        General System Info
•Current Version: Drupal 5.1 (Drupal 7 to be released
•Programming Language: PHP 4 and 5
Data Storage: MySQL or PostgresSQL (support for
other databases, Oracle, MSSQL, DB2, etc).
•Operating System: Linux, FreeBSD, MS Windows
Web server: Apache, IIS
•Recommendation: WAMP (Window, Apache,
MySQL, PHP/Python) for security purposes, ease of
installation, and robustness.
      Drupal Features: Quick list
 Content Management                Other Web Features
  System                              Friendly URL and Permalinks
   Content Publishing /               (node/nid)‫‏‬
    Threaded Commenting               Page caching
   Blogging Platform                 Integrated search
   Forums                             functionality
   Version Control (Diff module      Page Hits / Statistics
    shows revision in friendly      Prominent Drupal Sites
    format)‫‏‬                          
 Polls                               
 News aggregation / RSS              

 Blocks / Navigation               See also
 Modules / Themes
     Steps to Accessible Design
1.    Install
2.    Update
3.    Select theme
4.    Add modules
5.    Build blocks
Drupal Installation / Site Setup
 •Setup a database container to hold the tables
 •Create the necessary user credentials in database
 •Run the setup program (run database script which
 create the necessary tables in DB)‫‏‬
 •Apache (setup domain, root)‫‏‬
 •In Drupal config file (which matches domain name
 path), point to database instance
 •Setup working directory (web server permissions)‫‏‬
 •Setup CRON job (periodic script), which performs
 various actions, like indexing for search.
                 2. Update
•Updates are essential
•Each time the administrator logs in Drupal will
display messages of needed updates
•Do them promptly
•Themes involve HTML templates, CSS files, and a
template.php file for custom theme code and theme
function overrides
•HTML templates use PHP snippets for inserting
variables and control structures
•Zen theme is a great starting theme for creating
custom designs
           3. Select Theme
•Tables or tableless?
   •Tableless layouts best, especially if fluid
       Controllable with CSS
       Reading order can be independent of layout
       Fluid sizing allows scaling by user as needed
   •Table layout not so good
       Imposes reading sequence
       Presentation only somewhat controllable
       with CSS
   •Nested tables bad
       Navigation nightmare
•Many theme design philosophies
  How do I change a theme
The desired theme must be downloaded to
the server
  •Existing documentation explaining this step in
Administration > Site Configuration >
  •Select desired theme in default theme
  dropdown box
     •Sets the default theme seen by most users, although
     users can change the theme to what they want by
     editing their accounts
Managing Themes
           4. Add Modules
•Hundreds of modules are available
•Offer a wide range of functionality
    Editors, games, feeds, tools
•Most are standards compliant
    Problem: Inconsistent implementations among
•Frequently updated
 How do I Develop and Use a
•Modules are used to add menus to Drupal
Examples of available modules are: stories, blogs,
polls, images, etc
•Creating modules in Drupal is simple:
    •It is simply a text file, including PHP code, in
    the directory that ends in .module
    •Allows the use of any text editor
•Modules can easily integrate with Drupal core or
other modules by using the Drupal API
Managing Modules
 How to Use a Node Module
 Nodes are the individual pieces of content which
make up the entire Drupal community—like
individual page in website

 Node Modules differ from regular modules in that
they contain a _node hook.

 What is a _node hook?:
  A Special PHP function that is defined in a

 What the _node hook does for the module:
  Tells Drupal what type node the module defines.
             5. Build Blocks
•Blocks contain the code fragments for the different
areas of your layout
•Blocks are placed in page regions
•Must be well-formed and strictly compliant to fit in
    Structured, semantic markup very desirable to
    get CSS to work
•How you add things like “Skip to Content”
              Drupal Basics
1.   Block
2.   User, Roles, Permissions
3.   Taxonomy
4.   URL aliases
5.   Menus and Navigations
•Blocks allow the placement of secondary content in
various regions on the page
•Out-of-the-box Drupal allows 5 regions (left
column, right column, header, footer and content)
•Modules can provide blocks with specific
•Custom blocks can be created
   Users, Roles, Permissions
•First user created is the website administrator, and
this user has complete control over the system.
•Other users can be created by administrator or by
online registration (with or without admin approval)‫‏‬
•Roles: anonymous, authenticated, and custom
•Users can belong to one or more roles
•Permissions within system are role based
•Therefore, once users are created in the system and
assigned a role, they have permission to various
parts of the framework, including content creation.
•Taxonomy is a method of categorizing your content
in a flexible way
•Taxonomy is usually the most confusing aspect of
Drupal for the uninitiated
•Category groups are defined as “Vocabularies”
•Categories themselves are defined as “Terms”
                URL Aliases
•Makes Drupal sites easily SEO friendly
•URLs typically have variables embedded in them
that are required by PHP to process the page request
•URL alias mask these url variables with any URL of
your choice
•The PathAuto module allows logical rules to be
used in automatically creating path alias’ for content
      Menus and Navigation
•Drupal allows the creation of unlimited menu
groups, each with it’s own hierarchy
•Menu items can be tied directly to a content page or
be unattached
•Menu system is tied to permissions, so menu items
will only appear for users with permission to view
that page

To top