Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WordPress & Drupal: Community and Contribution Differences and Lessons

WordPress & Drupal: Community and Contribution Differences and Lessons

WordPress and Drupal are two leading content management platforms on the web. They have similarities in community and architectures, but they also have remarkable differences in the same.

In this session I’ll go through community, contribution, architecture, and open source differences and lessons including:

Community similarities and differences
Plugin / Module conceptual and architectural differences
Differences in the communities’ approach to open source and contribution
Lessons that can be learned and adapted from all of the above.
This will not be an overly technical session, but will be suitable for anyone looking to learn from “off the WordPress island”.

Michael Herchel

March 25, 2017
Tweet

More Decks by Michael Herchel

Other Decks in Technology

Transcript

  1. View Slide

  2. Mike Herchel
    @mikeherchel

    View Slide

  3. View Slide

  4. View Slide

  5. Overview
    • Perceptions
    • Similarities
    • Core Differences
    • What can Drupal learn from WordPress?
    • What can WordPress learn from Drupal?

    View Slide

  6. Perceptions

    View Slide

  7. View Slide

  8. View Slide

  9. Similarities

    View Slide

  10. Both are Tools to do a job

    View Slide

  11. Free Open Source Software FTW!

    View Slide

  12. Both use PHP

    View Slide

  13. Both use themes/templates for site
    appearance, and plugins/modules
    for extending features

    View Slide

  14. Both have amazing and strong
    communities

    View Slide

  15. https://central.wordcamp.org/schedule/

    View Slide

  16. https://www.drupical.com/

    View Slide

  17. https://www.phase2technology.com/blog/open-atrium-2-proudly-invented-elsewhere/
    Terminology

    View Slide

  18. Terminology
    Module → Plugin
    Node → Post
    Block → Widget
    Acquia → Automattic
    Drupalcon → WordCamp US
    DrupalCamp → WordCamp
    Drupal Assoc. → WordPress Found.
    Content Types → Post Types

    View Slide

  19. “Core Differences”

    View Slide

  20. • More developer centric
    • More developed APIs
    • Symfony PHP framework in core
    • Object Oriented PHP
    • Twig Templating
    • Configuration export to version control
    • Separate DB tables per field
    • No auto-updates
    • No auto-installation of themes
    Drupal’s Architecture

    View Slide

  21. • Drupal’s modules more like tools that enable you to
    build additional functionality
    • Drupal modules have a built in API that allows them
    to set dependencies to other modules
    • Its very common for modules to depend on ones
    created by different authors, with very few conflicts.
    • It’s not uncommon for Drupal sites to have over 100
    modules installed.
    Drupal’s Architecture

    View Slide

  22. • Drupal separates functionality from theme
    • Drupal’s theme is used to render markup around
    functionality, in addition to styling and JavaScript
    • Site Building: Functionality is generally built using core
    modules such as fields and Views
    • Non-standard markup
    • Makes it more difficult to purchase themes with built in
    functionality
    Drupal’s Architecture

    View Slide

  23. WordPress and Drupal Economies

    View Slide

  24. Extension Ecosystem

    View Slide

  25. WordPress Ecosystem
    • Robust theme ecosystem
    • Very common to pay money for themes
    • Incentivizes people to create new themes
    • Robust plugin ecosystem
    • Common to pay money
    • Incentivizes people to create new plugins

    View Slide

  26. Drupal Economy
    • No modules for sale (all are free on Drupal.org)
    • Incentivizes code contributions
    • Developers make money by consulting
    • Having more contributions to code enables you to
    charge more
    • Incentivizes community to not reinvent the wheel,
    but to improve / collaborate on existing wheel.

    View Slide

  27. Drupal Economy
    • Weak commercial theme ecosystem
    • Because functionality is so decoupled from
    presentation, markup is generally one-off, which
    makes it difficult to have turn-key themes.
    • Because of that, there’s not a large selection of
    commercial themes, Drupal sites tend to be more
    complicated and want custom themes.

    View Slide

  28. What can Drupal learn from WordPress?

    View Slide

  29. View Slide

  30. View Slide

  31. On-boarding New Devs
    • Theme browser integrated into dashboard*
    • Module browser integrated into dashboard*
    • Automatic updates*

    View Slide

  32. More Needed Changes
    • Media management
    • More core committers
    • Better Documentation Tools
    • Easier updates between major versions

    View Slide

  33. Preserving backward compatibility often requires
    that you drag historical baggage along, and in
    interpreted languages like PHP, this comes at a
    significant performance cost.
    — Dries Buytaert in 2006

    View Slide

  34. Updating from Drupal 8's latest version to Drupal
    9.0.0 should be as easy as updating between
    minor versions of Drupal 8.
    — Dries Buytaert in 2017

    View Slide

  35. What can WordPress learn from Drupal?

    View Slide

  36. View Slide

  37. More & Better APIs
    • FormAPI / RenderAPI
    • Ability to manage content types and fields though
    GUI (FieldAPI)
    • API for plugins to depend on another which would
    enable building off one another

    View Slide

  38. More Developer Friendly
    • Robust caching
    • Configuration management
    • More / better code sprints

    View Slide

  39. Security Improvements
    • Brute force detection / Flood control
    • Set WP’s min PHP requirement to supported PHP
    version
    • Official mailing list for all security issues

    View Slide

  40. Special Thanks

    View Slide

  41. – Me (and a bunch of other people)
    Competition is
    Healthy!

    View Slide

  42. www.fldrupal.camp

    View Slide

  43. `
    Questions / Comments?

    View Slide