Upload
matt-weaver
View
1.590
Download
0
Tags:
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
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