What is Drupal

Document Sample
What is Drupal Powered By Docstoc
					What is Drupal?
               Joe Bondra
Digital Union, Learning Technology, Office of the CIO
What do these websites have in common?

The answer? Gosh… They’re all running on…   …Drupal!
Drupal is a Content Management System (CMS)

“Drupal is a web-based content management system. Text and pointers
to other kinds of content are stored in a database, dynamically retrieved
and composed, and presented to a user in response to a request sent via
a web-browser.”
                 from About the Drupal Project: Features, Mission, and Principles
Drupal is also thought of as a
Content Management Framework (CMF)

Drupal ‘s module-based design tends to make it more extensible and
customizable than the average Content Management System.

With different ranges of skill, you can turn Drupal into
what you need it to be by:
   Assembling existing modules

   Creating new modules that add functionality to existing modules

   Creating new modules from scratch that add completely new
…where did it come from?
It began as a message board-like web application created by
Dries Buytaert and several friends at the University of Antwerp, Belgium
around 1998-1999

The software grew and was eventually released as open-source under
around 2001

Interview with Dries Buytaert at
Drupal is open-source and licensed under the GNU
Public License (GPL)
       …meaning, of course, it’s free to use, modify,
       and distribute, etc.

Drupal has a large, global, active community of
developers behind it
What do you need to have to use Drupal?
   Web Server: Apache or IIS (Apache will probably work better)

   Scripting Language: PHP

   Database: MySQL or PostgreSQL

   Some poor soul to maintain, upgrade, and possibly develop
Basic Parts of Drupal

    Drupal Core
        The essential modules required for Drupal to work, plus
        optional modules that come with Drupal “out-of-the-box”

    Contributed Modules
        Optional modules created by members of the Drupal
        community which add new functionality to Drupal

         Alter the visual appearance of Drupal
Drupal Core
       System, Node, Filter, User, Block

       Blog, Forum, Menu, Taxonomy, Poll,
       Profile, Search, Upload, Contact,
       Aggregator, Book, Trigger, etc…
   The module that essentially gets everything to
   Provides account management, role definition, and
   permissions for users

   Provides very fine-grained, incredibly customizable
  Provides the basic content functionality in Drupal

  Nodes hold basic content and can be extended to
  reference different types of content

  “node-based” architecture of Drupal lends to its
    Modifies content before it is displayed

    i.e. Language translations, HTML markup, etc…
   Enables small areas of unique content (“Blocks”) to
   be placed in different areas of a theme

   Login, Latest Posts, Recent Comments, Most Recent
   Poll, …etc.

   Blocks can be defined by modules, although simple
   blocks can be created in the admin interface
Contributed Modules
   Interested developers can apply for a CVS (Concurrent
   Versions System) account with Drupal

   If approved, a developer can maintain their project on

   Some modules are well-maintained; others are not
Commonly used (if not essential) Contributed

     CCK (Content Construction Kit)
         Dynamically create your own fields for content types

         (will actually be part of Drupal Core in Drupal 7)

         Creates a simple interface for making different
         listings of content on your site
Other useful Contributed Modules
    Wysiwyg API
         Enables you to manage a variety of open-source Wysiwyg
         editors on your site

    FileField, ImageField, and Date
          Adds file, image upload, and date fields to CCK

          Adds a reasonably decent form creator

    Organic Groups
          Allows users to define their own groups, which have
          their own theme, homepage, blog, tags, …etc.

More useful Contributed Modules
   Shibboleth Authentication


   JQuery Update

   JQuery UI
   Themes are ideally simply to alter the visual
   appearance of Drupal

   Themes define regions (places where blocks can go)

   There are, similar to modules, both core and
   contributed themes

   You can download any number of themes online or
You can also develop your own themes

The contributed Zen theme can be indispensible for
quickly creating themes
Trials, Tribulations, and Disadvantages of Drupal
    High learning curve
             (configurability breeds complexity)

    User interface can be less than intuitive
             (will bug users)

           (will bug sys admins)

    Themes aren’t as well abstracted as in other systems
            (will bug designers)

    Procedural, hook-based coding design
            (will bug programmer types)
Advantages of Drupal
   Can customize with few starting assumptions

   Huge community/Wide adoption

   Extendible for new, unforeseen purposes
…wait, what’s with the Drupal icon…?
            Dries mistakenly typoed “” instead of “”
            (dorpje is the Dutch word for “little village”)… …so eventually
            the logo needed to be a drop

            A clever designer saw that two drops together could be like an
            infinity symbol

            The “drop infinity” symbol was placed inside a drop, and it kind
            of looked like eyes… …and I guess the rest writes itself

Shared By: