Click here to load reader
Upload
joshua-simmons
View
3.522
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Drupal in 1 Hour
What, wherefore, and how.
#WIMPDrupal
Joshua Simmons, Co-founder of WIMP and CEO of Bluebird Interactive, Inc.
Drupalista since 2008. Follow me @joshsimmons
Definitions: What is Drupal?
• Content management framework
• Open-source
• Non-profit
• 3rd most popular CMS
• Pronounced "droo-puhl" (it's Dutch)
• Berkeley is ground zero
• Built in PHP
• SQL-friendly
• Nginx or IIS? No problem.*
Drupal: A march of the stars.
What is it good for?
• Communities
• Media organizations
• Advanced e-commerce
• Multi-site
• Applications
• Systems integrationWhen might it be overkill?
• Brochure websites
• Blogs
Key Concepts:
Entities, content types, and fields
• EntitiesUsers, nodes, taxonomy terms, products
• NodesPage, blog entry, event, page of a book or wiki
• Fieldso Core elemental fieldsText, textarea, dropdown, checkbox/radios, file
o Contributed fieldsNode, user, and taxonomy references; URLs; media;
locations; dates; and phone numbers
Key Concepts:
Themes
• Base themesZen, Omega, AdaptiveTheme, Zentropy
• Off the shelfCorolla, Sky, TouchPro, Danland,
Acquia Marina, Acquia Prosper
• Customizing themeso admin UI is full of goodies
color palettes
responsive breakpoints
o themename.info
o html.tpl.php, page.tpl.php, node--typle.tpl.php, block--block--#.tpl.php
• Organized into regionso blocks
Diagram of theme rendering process.
Key Concepts:
Blocks, regions, and views
• Blockso Types
Packaged with modules
Generated by views, menus
Custom blocks by you
o Placement and Visibility
Select a region
Pages by URL matching
Select user role(s)
• Views moduleis a gift from the gods
Slices'n'dices entities every way
imaginable: blog, calendar, gallery,
map, shopping cart, and beyond.
Diagram of basic page and the theme files
it's composed of.
Key Concepts:
Views, again.
• Not like MVC
• Pages, blocks, feedso Slideshows, calendars
o Lists, grids, and tables
o JSON?
• Overrides at every levelo Both GUI and PHP
o Fields, rows, containers, etc.
• Context sensitiveo Can accept arguments
Key Concepts:
Modules
• CoreBlog, Forum, Locale, Book, Comment, Contact, Color, Search, OpenID,
Clean URLs, RDF (great for SEO), Update Manager, Toolbar, Dashboard
• ContributedViews, Media, Metatags, Date, Feeds, Organic Groups,
References, Rules, Scheduler, Panels, XML sitemap, WYSIWYG, Google
Analytics, Schema.org, Boost, Backup and Migrate, Block Revisions,
Logintoboggan, Konami Code, Pathauto, Facebook Connect, Twitter,
MailChimp, Google Apps, Disqus
Where do pages come from?
Entities like nodes,
users, and taxonomy
terms, mostly. They
have pages auto-
generated for them.
Views and panels
can create pages,
too.
Anatomy:
Codeless Blog w/ Gallery
• base theme & theme
• modulesViews, Blog, Views Slideshow,
Views Slideshow Galleria, Date, WYSIWYG,
Entity, File Entity, Print, Token, Media, XML
sitemap
• content types & fieldsBasic
Page, Blog Entry, Gallery Image
• viewsBlog Listing, Monthly Blog Archive,
Gallery?
Anatomy:
WIMP website
• AdaptiveTheme & WIMP subtheme
• content types & fieldsBasic Page, Book Page,
Blog Entry, Events, Job Listings, Webform
• viewsevent listing page, upcoming event block, job
listing*, member listing
• modules and custom moduleProfile2,
Webforms, Commerce & Commerce Stripe, Subscription,
Scheduler, Field Collection, Rules, Feeds, Getlocations,
Disqus, Google Analytics, Twitter Pull, Meetup Event
Importer*, Autocomplete Deluxe, MailChimp, Media,
References, References Dialog, Schema.org, Superfish,
Views, WYSIWYG (with CKEditor)
Before Building a Site
• What content types and fields?
• How will the data get in? (Forms)
• How will the data get out? (Views)
• Who may create/view/delete data?
(Permissions)
• What additional functionality? (Modules)
• How can we make it pretty? (Theming)
Intro to Drupal 7 Architecture, pg 31
Key Concepts:
Distributions
Commerce Kickstart - e-commerce
Drupal Commons - community
OpenAtrium - intranet & team portal
Spark - Drupal 8 UX experiment in D7
COD - conferences
OpenAid - collaborative aid deployment tool
OpenOutreach - nonprofits & grassroots orgs
OpenDeals - Drupal, Groupon-style
OpenPublish - for newspapers & media
OpenPublic - for government
One Page CV - do I really need to explain?
Videola - IPTV platform (think: Hulu or Lynda)
It's Not All Rainbows & Unicorns
PRO
• each new version is rethought
• open-source
• security
• multi-user
• multi-site
• internationalization
• persistent references
• portable
• content first approach
• command line admina favorite
of database designers,
command line ninjas, security
nuts, integration specialists,
and people who love Legos
CON
• familiar, yet different
• learning curve
• learning curve... every version
• less out-of-the-box-y
• power hungry
• can easily pwn shared hosts
• lots o' files -- encumbers source
controlfrustrates front-end
coders, developers that dislike
PHP, MVC practitioners,
shared web hosting packages,
and minimalists
Resources
• Sonoma County Drupal User Group (&
SF)Monthly on the Tuesday before WIMP at
6pmwww.meetup.com/socodrupal &
www.facebook.com/groups/socodrupal
• 2012 BADCamp in Berkeley, November 1-
4many DrupalCamps, DrupalCons, and Drupal User Groups available
• Drupal.orgonline wiki, code repository, groups, and IRC channels
• Lullabotwww.lullabot.com
• Case studieswww.drupal.org/case-studies
• Acquia and Drupal GardensReally need a convincing argument? Drupal has a wiki page for that:
Elevator Pitches @ www.drupal.org/node/220314
Resources: Drupalistas in WIMP
• Bill Dornbush
• Dale Geist
• Debbie Smith
• Linda Philips Blue
• Scott Hildebrand
• Nick Topolos
• ... and yours truly ;-)
Drupal in 4 Hours
Joshua Simmons, Co-founder of WIMP and CEO of Bluebird Interactive.
Drupalista since 2008. Follow me @joshsimmons
Dive into Drupal and build something!
This Friday at 2pm! Bring a laptop.
Check out my blog, Skepti.ca!
Extra Resources
San Francisco Drupal Users Group
http://www.meetup.com/SFDUG-San-Francisco-Drupal-Users-group/
Theme Hook Reference (File Names)
http://drupal.org/node/1089656
Form API Reference
http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7
Sampe Data Architecture (Content Types, Fields, and Taxonomies)
http://u.gob.lu/RWleqQ
Theme Rendering Process Diagram
http://john.albin.net/drupal/arrays-of-doom
Grok Drupal 7 Theming (Page Template File Diagram)
http://pingv.com/blog/grok-drupal-7-theming-update
Intro to Drupal 7 Architecture
http://www.ent.iastate.edu/it/Intro_to_Drupal_7_Architecture.pdf
BOOKS
PHP for Drupal Designers
Using Drupal
Extra Resources
How-To: Build a Slideshow with Views Slideshow (in this example, testimonials)
http://www.ostraining.com/blog/drupal/views-slideshow-in-drupal-7/
WSJ Article about NYSE's Use of Drupal
http://blogs.wsj.com/cio/2012/05/28/nyse-relies-on-open-source-for-growth/
Drupal System Requirements
http://drupal.org/requirements