This document provides an overview of the open source content management system Drupal. It describes Drupal as a flexible CMS built on PHP and modular architecture. Core features include nodes, taxonomy, views, and themes. Key terms are defined such as modules, blocks, and users/roles. The document outlines some top Drupal modules, advantages of Drupal for libraries, potential obstacles, and resources for learning more.
2. What is Drupal?
• Content management system(CMS) / content
management framework (CMF)
• Open source
• File structure written in PHP
• Supports several databases:
MySQL, postgresql the most common
• Prefers Apache (over Microsoft IIS)
• Prefers Linux
3. What is Drupal?
• “Drupal is like a Lego kit.
Skilled developers have
already made the
building blocks - in the
form of contributed
modules - that you need
to create a site that suits
your needs…”--
http://drupal.org/getting
-started/before/overview
4. Some Drupal terms
• Nodes = “content types”
stories, pages, blog entries, custom
• Comments – attached to nodes
• Blogs – every user gets one
• Blocks – containers for content
• Users
Roles
• Modules
• Themes
• Taxonomy
5. Modules
• PHP-written functions that are executed to do
something:
Create a node
Display an image
Organize taxonomy terms
Set access restrictions
et cetera
• Core and contributed
6. Themes
• The layout of the site
• CSS
• Template files: php
Custom templates for node types, front page, user
login…
• Core and contributed
8. Drupal: the deets
• Nearly 11,000 modules
• Nearly 1,200 themes
• Current supported versions are 6 & 7
Which should you choose?
Depends on our site’s needs:
▫ D7 is slick, but lots of modules haven’t been written for it
yet.
9. The Case for Drupal
• Versatile: allows for customization
• Extensible: “there’s a module for that”
• Sometimes Wordpress is not enough
• One Web Librarian can build a lot of
functionality with those Lego blocks
10. The Case for Drupal
• For Libraries: Strong library community incl.
library-related modules
▫ XC (extensible catalog)
▫ Sopac (integrates catalog to drupal website)
▫ Biblio (manage and display lists of scholarly
publications )
▫ MARC (imports MARC records to nodes)
▫ and others
11. Obstacles
• Learning curve can be steep, which can increase
development time/costs
• Nearly 11,000 modules and 1,200 themes
▫ Sometimes poorly maintained/abandoned
▫ Only as good as the developer who wrote them
• Quality of support
12. Obstacles
• Getting more complex:
▫ Lines between data structures getting
blurred/overridden/emended
• Can be overkill for a small site
▫ Sometimes Wordpress is better
14. Essential Modules
• Content Construction Kit (CCK)
▫ Custom node type: eresource
taxonomy
Node Title
Default node “body”
Link fields
Attached image/image field
15. Essential Modules
• Views module:
framework for
displaying
database data
from queries
• User interface,
not SQL
commands
• Simple to
complex
A table view of a custom content type
16. Essential Modules:
Panels
• Panels:
templates for
pages/nodes
• Override theme
restrictions
• Incorporate
blocks, nodes,
views
• Can restrict
access to
specific panels
17. A Panel Dissected
Custom Rotating
content image
just in this Slideshow(
panel. Views)
Tabbed
Block: used
block
on other
(quicktabs
pages
module)
that
displays Block of
views Feed data
(aggregator
Another Module)
Quicktabs
block
Node content
(page)
22. Drupal at WPPL
Intranet
Online forms w/ email notification:
Online Incident Report Form (CCK): automatically emails form to
director/assistant directors
Online meeting signup
Maintenance Request form
Subsite for tech support staff: knowledge management system/repository
23. Multisite
• One instance of Drupal core
• If one module is used in all sites
(CCK, Views, Panels) install it
once
• Install distinct modules for
subsite in that site directory only
• Easier to maintain, lightweight
• Lots of ways to do multisite
• Some reconfiguring of Apache,
other subsystems.
24. XHTML & CSS
• Themes
▫ Choosing/buying
▫ Rolling your own
▫ Theming hacks (views, node templates)
• Node content
▫ Text editors offer some control, depending on the
user.
25. Other uses
Opportunities to create cost savings by building
functionality provided by vendors
▫ Room reservation
▫ Course reserves
▫ libguides
26. Drupal Skills
• Get your hands dirty
• Foundation of XHTML & CSS will serve you very well
• Database stuff
▫ Basic SQL commands
▫ Understanding the Drupal database
▫ Maintenance: module updates/upgrades
▫ Errors: Can destroy your site
27. Drupal Skills
<?php
• PHP $path_pieces = explode('/',
▫ At least a little drupal_get_path_alias($_GET
▫ Use/hack existing ['q']));?><p style="text-align:
center;"><a
scripts/snippets href="/movielists/?
▫ Develop your own q=taxonomy/term/<?php print
$path_pieces[2]; ?
theme >/moviecatexport"
▫ Theming Views onMouseOver="ImageOnly1.s
▫ Errors: Can break rc='/sites/www.westlakelibrary
.org.movielists/modules/movie
your site. cat/images/new_download_h
over.png'"…
A real drupal snippet, trapped
in the wild.
28. Development guidelines
• Never do development on a production server
This setup is good
Test site: Production server:
(all development work from experimental
to production quality)
29. Development guidelines
This setup is better
Test site Production server
(crash test dummy) Staging Server:
Stores backup of production site:
Minor tweaks
30. How to play with Drupal
• Xampp: preconfigured web server environment
(free)
Apache
Mysql
PHP
Phpmyadmin (GUI for database)
For Mac, Linux and Windows
• Plenty of tutorials for installing xampp
• Drupal.org
• A good tutorial on installing Drupal 6 on
xampp:
▫ http://bit.ly/ds3Wp
34. Get Help
• Drupal.com/community
▫ Module/theme issues
▫ Forums
• Groups.drupal.org – can be local, regional; or can be
topic-specific
Hinweis der Redaktion
A CMS provides webmasters with tools for building sites. A CMF provides an advanced programming interface so developers can configure and customize their own tools