Vous êtes sur la page 1sur 34

Drupal: an overview

Matt Weaver Web Librarian Westlake Porter Public Library facebook.com/mattweaver @mattrweaver

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

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

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

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

Themes
The layout of the site CSS Template files: php
Custom templates for node types, front page, user login

Core and contributed

Nodes = content types


Default types:
Page policies Story announcements

Custom:
Content Construction Kit (CCK)

Import modules node_save method

Drupal: the deets


Nearly 11,000 modules

Nearly 1,200 themes


Current supported versions are 6 & 7
Which should you choose?
Depends on our sites needs:
D7 is slick, but lots of modules havent been written for it yet.

The Case for Drupal


Versatile: allows for customization Extensible: theres a module for that Sometimes Wordpress is not enough One Web Librarian can build a lot of functionality with those Lego blocks

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

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

Obstacles
Getting more complex:
Lines between data structures getting blurred/overridden/emended

Can be overkill for a small site


Sometimes Wordpress is better

The Drupal Development stack:


The further down you go, the more damage errors can do to your site.

Essential Modules
Content Construction Kit (CCK)
Custom node type: eresource
taxonomy Node Title Default node body

Link fields

Attached image/image field

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

Essential Modules: Panels


Panels: templates for pages/nodes Override theme restrictions Incorporate blocks, nodes, views Can restrict access to specific panels

A Panel Dissected
Custom content just in this panel. Tabbed block (quicktabs module) that displays views Another Quicktabs block Node content (page)

Rotating image Slideshow (Views)

Block: used on other pages Block of Feed data (aggregator Module)

Drupal at WPPL
Main site and three subsites

Drupal at WPPL

Drupal at WPPL

Drupal at WPPL

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

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.

XHTML & CSS


Themes
Choosing/buying Rolling your own Theming hacks (views, node templates)

Node content
Text editors offer some control, depending on the user.

Other uses
Opportunities to create cost savings by building functionality provided by vendors
Room reservation Course reserves libguides

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

Drupal Skills
PHP
At least a little Use/hack existing scripts/snippets Develop your own theme Theming Views Errors: Can break your site.
<?php $path_pieces = explode('/', drupal_get_path_alias($_GET ['q']));?><p style="text-align: center;"><a href="/movielists/?q=taxonom y/term/<?php print $path_pieces[2]; ?>/moviecatexport" onMouseOver="ImageOnly1.s rc='/sites/www.westlakelibrary. org.movielists/modules/movie cat/images/new_download_h over.png'"
A real drupal snippet, trapped in the wild.

Development guidelines
Never do development on a production server

This setup is good

Test site: (all development work from experimental to production quality)

Production server:

Development guidelines
This setup is better

Test site (crash test dummy)

Production server Staging Server: Stores backup of production site: Minor tweaks

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

To learn more

To learn more

ALA Library Technology Report: Drupal in Libraries

Using Drupal Excellent General Text for Webmasters

Great book on theming

Get Help
Drupal4Lib Listserv : essential
Friendly, knowledgeable, helpful participants Responsive

Drupalove.com Lullabot.com incl. podcast Gotdrupal.com Yadadrop.com/drupal-video

Get Help
Drupal.com/community
Module/theme issues Forums Groups.drupal.org can be local, regional; or can be topic-specific

Vous aimerez peut-être aussi