Welcome
We're going to talk about Drupal
We're going to keep it pretty basic
You should leave with enough curiosity to experiment
on your own
This is not a Drupal vs. Wordpress smackdown, but
we will be making some comparisons
Sean Fitzpatrick | sean@lishost.org
Introductions
Who am I?
What is LISHost?
What do we do?
Sean Fitzpatrick | sean@lishost.org
Scope of the workshop
We're going to try to cover the basics
I am assuming most of you are beginners
If you are a total beginner, I apologize for going
fast and using technical terms
If you are not a total beginner, I apologize for
going slow and using basic terms
Sean Fitzpatrick | sean@lishost.org
What is Drupal?
And why is it awesome for library sites?
Open source content management framework
“Allows you to create and maintain many different
types of websites without needing to know any coding
languages” – http://drupal.org/node/258
No prescribed configurations, but many features
common to library sites are easily available in Drupal
Sean Fitzpatrick | sean@lishost.org
Why Drupal?
Lots of stuff available for typical library sites:
News Feeds
Calendar
Taxonomies
Image handling (such as galleries)
Search
Comments and other social functionality
Sean Fitzpatrick | sean@lishost.org
Drupal 6 or Drupal 7?
It's a shame I even put this slide in here. Just use
Drupal 7.
Sean Fitzpatrick | sean@lishost.org
Core, Contrib, and Theme
These three components are the basis of an open
framework for building beautiful bespoke
websites.
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, whether that is a news site, an online store, a social
network, blog, wiki, or something else altogether.
From http://drupal.org/getting-started/before/overview
Sean Fitzpatrick | sean@lishost.org
Drupal core
Talks to the database (so you don't have to)
Provides some basic functionality for organizing
content
Builds content into web pages
Gives some basic options for a front end (theme)
(i.e, Drupal core gives you a basic, dynamic website)
Sean Fitzpatrick | sean@lishost.org
Contributed modules
Thousands of modules extend Drupal's core
This makes anything possible. (“There's a module for
that...”)
Modules have already done all the “heavy lifting”
And all this comes with benefits and challenges
Sean Fitzpatrick | sean@lishost.org
Theme
Theme layer presents content and markup to the browser
Rendered with PHP
And HTML, JS, CSS, etc
Drupal offers lots of template files and overrides
Sean Fitzpatrick | sean@lishost.org
Good and Bad
Ultimate flexibility
Future extendability
Scalability
vs
Learning Curve
Staff time
Sean Fitzpatrick | sean@lishost.org
Learning curve?
I believe the “learning curve” inexperienced
people associate with Drupal pertains to site
building and back-end development. This is
irrelevant for day-to-day content managers.
Sean Fitzpatrick | sean@lishost.org
Technology stack
Web Server: Apache or Microsoft IIS
PHP: 5.2 or higher
Database Server: MySQL - 5.0 or higher, PostgreSQL
- 8.3 or higher, or SQLite (Microsoft SQL Server and
Oracle are supported by an additional module)
Sean Fitzpatrick | sean@lishost.org
Personnel and skill sets
Project manager
Information designer
Copywriters (don't tell me you're going to migrate...)
Web designer
Developer – could be two – front- and back-end
IT/Systems guy
Sean Fitzpatrick | sean@lishost.org
Let's stop for some questions
Sean Fitzpatrick | sean@lishost.org
Installation
From scratch...
provision server
Install apache, mysql, php, some other packages
Installing Drush is a good idea for command line people
Download Drupal
Set directory permissions
Create a database
Run the installation script
Sean Fitzpatrick | sean@lishost.org
Post install: Dream big, code little
Installing Drupal is pretty trivial. Then the real work
starts.
By selecting great contributed modules and learning
how to implement them, you can achieve amazing
functionality without any programming.
Similarly, some themes offer a lot of robust
configuration options for creating beautiful sites
without writing any code.
Sean Fitzpatrick | sean@lishost.org
Content types and Views
Content types are extended with custom fields.
Fields store data in the database. Lots of data types
are available, such as dates, files, location
coordinates, and so forth.
The Views module (contrib) is a tool set for building
complex queries with a graphical UI (no coding).
Sean Fitzpatrick | sean@lishost.org
API and theme libraries
You can go a long way without programming, but big,
complex sites need custom development.
Drupal offers a rich API for extending functionality.
Similarly, base themes and theme functions allow for
implementing any kind of front-end design.
Sean Fitzpatrick | sean@lishost.org
Buzzword compliance
HTML5, CSS3
Mobile-first
Responsive design
SASS/Compass
Etc.
(I pretty much only follow buzzwords from the front-end dev world)
Sean Fitzpatrick | sean@lishost.org
Third-party content
Drupal has some amazing tools for integrating third-
party content (try the Feeds module)
RSS, XML, CSV, SQL
Evanced
ILS
???
Sean Fitzpatrick | sean@lishost.org
Users and Workflows
Custom user roles/permissions by module (no pre-
defined roles to limit flexibility)
Simple publishing and editing for small institutions.
Ability to create complex workflows to scale up for
large institutions. (Check out the Rules module.)
Sean Fitzpatrick | sean@lishost.org
Security
Yes, sites get hacked.
Keep modules up-to-date (especially security
updates).
Keep other stuff up-to-date.
Be careful about permissions.
Keep track of users, logs, spam, etc.
Sean Fitzpatrick | sean@lishost.org
Scalability
Oh yeah, some big library sites too.
Sean Fitzpatrick | sean@lishost.org