34
Drupal: an overvie w Matt Weaver Web Librarian Westlake Porter Public Library facebook.com/mattweaver @mattrweaver

Drupal: an Overview

Embed Size (px)

DESCRIPTION

I provided an overview of Drupal for a U of Illinois lib school web design class last summer. Nothing flashy.

Citation preview

Page 1: Drupal: an Overview

Drupal:an overview

Matt WeaverWeb LibrarianWestlake Porter Public Libraryfacebook.com/mattweaver@mattrweaver

Page 2: Drupal: an Overview

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

Page 3: Drupal: an Overview

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/bef

ore/overview

Page 4: Drupal: an 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

Page 5: Drupal: an Overview

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

Page 6: Drupal: an Overview

Themes

•The layout of the site•CSS•Template files: php

Custom templates for node types, front page, user login…

•Core and contributed

Page 7: Drupal: an Overview

Nodes = content types

•Default types: Page – “policies” Story – announcements

•Custom: Content Construction Kit (CCK)

•Import modules•node_save method

Page 8: Drupal: an Overview

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.

Page 9: Drupal: an Overview

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

Page 10: Drupal: an Overview

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

Page 11: Drupal: an Overview

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

Page 12: Drupal: an Overview

Obstacles

•Getting more complex:▫Lines between data structures getting

blurred/overridden/emended

•Can be overkill for a small site▫Sometimes Wordpress is better

Page 13: Drupal: an Overview

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

Page 14: Drupal: an Overview

Essential Modules•Content Construction Kit (CCK)

▫Custom node type: eresource

Default node “body”

taxonomy

Attached image/image field

Link fields

Node Title

Page 15: Drupal: an Overview

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

Page 16: Drupal: an Overview

Essential Modules: Panels

•Panels: templates for pages/nodes

•Override theme restrictions

• Incorporate blocks, nodes, views

•Can restrict access to specific panels

Page 17: Drupal: an Overview

A Panel DissectedCustom content just in this panel.

Rotating image

Slideshow(Views)

Block: used on other

pages

Tabbed block (quicktabs module) that displays views

Block ofFeed data

(aggregatorModule)Another

Quicktabsblock

Node content(page)

Page 18: Drupal: an Overview

Drupal at WPPLMain site and three subsites

Page 19: Drupal: an Overview

Drupal at WPPL

Page 20: Drupal: an Overview

Drupal at WPPL

Page 21: Drupal: an Overview

Drupal at WPPL

Page 22: Drupal: an Overview

IntranetOnline 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

Drupal at WPPL

Page 23: Drupal: an Overview

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.

Page 24: Drupal: an Overview

XHTML & CSS

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

•Node content▫Text editors offer some control, depending

on the user.

Page 25: Drupal: an Overview

Other uses

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

Page 26: Drupal: an Overview

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

Page 27: Drupal: an Overview

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=taxonomy/term/<?php print $path_pieces[2]; ?>/moviecatexport" onMouseOver="ImageOnly1.src='/sites/www.westlakelibrary.org.movielists/modules/moviecat/images/new_download_hover.png'"…

A real drupal snippet, trapped in the wild.

Page 28: Drupal: an Overview

Development guidelines•Never do development on a production

server

Test site:(all development work from experimental

to production quality)

Production server:

This setup is good

Page 29: Drupal: an Overview

Test site(crash test dummy)

Production server

This setup is better

Staging Server:Stores backup of production site:

Minor tweaks

Development guidelines

Page 30: Drupal: an Overview

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

Page 31: Drupal: an Overview

To learn more

Page 32: Drupal: an Overview

To learn more

ALA Library Technology Report:Drupal in Libraries

Using DrupalExcellent General

Text for Webmasters

Great book on theming

Page 33: Drupal: an Overview

Get Help

•Drupal4Lib – Listserv : essential

Friendly, knowledgeable, helpful participants Responsive

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

Page 34: Drupal: an Overview

Get Help

•Drupal.com/community▫Module/theme issues ▫Forums

• Groups.drupal.org – can be local, regional; or can be topic-specific