Drupal: an Overview

Post on 13-May-2015

1.592 views 0 download

Tags:

description

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

Transcript of Drupal: an Overview

Drupal:an overview

Matt WeaverWeb LibrarianWestlake Porter Public Libraryfacebook.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/bef

ore/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 site’s needs:▫D7 is slick, but lots of modules haven’t been

written for it yet.

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

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 DrupalDevelopmentstack:The further down you go, the more damage errors can do to your site.

Essential Modules•Content Construction Kit (CCK)

▫Custom node type: eresource

Default node “body”

taxonomy

Attached image/image field

Link fields

Node Title

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 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)

Drupal at WPPLMain site and three subsites

Drupal at WPPL

Drupal at WPPL

Drupal at WPPL

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

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=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.

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

Test site(crash test dummy)

Production server

This setup is better

Staging Server:Stores backup of production site:

Minor tweaks

Development guidelines

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 DrupalExcellent 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