THE POWER OF THE DARK SIDE
Lessons learned from doing Drupal and WordPress at the same time.
@xmatt | [email protected]
Who am I?
• Matt Johnson, co-founder, Alley Interactive
• Worked with Drupal since 2007
• Worked with WordPress since 2011
• Retired from Internet flamewars in 1999
THE GOOD OL’ DAYS
• 1996: My first website (middle school
• 2006: My first Drupal site
• 2007: First NY Observer Drupal site
• 2008-10: Major Drupal adoption in media,
higher ed and enterprise: NBCU, Viacom,
Zagat, Sony BMG, Economist, UC Berkeley, …
• 2003: WordPress forked from b2
• Thought of as “blog software” until about
• Became popular with journos, bloggers,
and smaller sites
• Editorial backend won hearts and minds
• 2010: Alley founded, still servicing NY
Observer Drupal site
• 2011: Alley now servicing lots of other
Drupal sites; NY Observer asks Alley to
move its site to WordPress
You mean that blogging
A DRUPALER’S VIEW OF WORDPRESS
Ok…so I can’t just use hook_form_alter to
mess around with this? Nodes are called posts?
Modules are called plugins?
Getting Used to WordPress
• Admin and front-end pages are two completely
• No central registry of site URLs.
• Most templates expect the context of a “loop”
over one or more “posts”, all managed in globals.
• Creating new DB tables not kosher; no custom
entities except by repurposing posts, users, terms.
Losing Your Toys
• No forms API.
• No fields (in core, anyway).
• No (simple) way to respond to specific
• There are custom content types (“post
types”), but there’s no UI for them.
Giving In to the Dark Side
• WP’s greatest selling point is its editing
tools (which, remember, a lot of your
editorial folks already know and love)
• Its other major selling point is its media
BUT BACK TO DRUPAL
Does Drupal Have Problems?
• You probably already know what they are.
• So let’s talk about what using WordPress
made us miss about Drupal, and when we
tend to recommend Drupal.
Sites With Complex Data
• CCK for D5 released in 2006 (when WP
first introduced user roles)
• CCK complete household name by D6
• Core in D7 (programmable with Features
• Use case = whatever you can think of.
(BTW: We Built CCK for WordPress)
Sites With Custom Form Workflows
• Drupal forms API: with us since D5, and
we all know and love it.
• In WP, form data has to be passed back
and forth with $_POST and $_GET.
• In Drupal, validation and sanitization built-
in, in WP you’re on your own.
WP Lessons for Drupal Sites
• Avoid defining fields, content types, views,
etc. in your database. Do it in code.
• Drupal entities are great, but consider if
repurposing a node, user, or term will do.
WHERE ARE WE NOW?
Is there a Drupal vs. WP clash?
Drupal folks say…
• WordPress is a kids’ toy
• WordPress is just for
• The backend is built for
tiny sites only
WordPress folks say…
• Drupal is a byzantine
• All the configuration is in
• The backend is alienating
to non-technical folks
We don’t think so.
• Life’s too short for
holy wars about CMS
• Both Drupal and
A Client’s Perspective
• Our clients aren’t typically experts in this
area; that’s what they need from us.
• They’ve heard from partisans on both
sides; they want to know what’s best for
The Bottom Line
• Specific use cases suggest Drupal (complex
form workflows, wide arrays of content types)
• Others suggest WP (lots of media
management, challenging editorial culture)
• Speaking from authority on both platforms can
be incredibly powerful for both sales and