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

WordPress & Drupal: Community and Contribution ...

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. Overview • Perceptions • Similarities • Core Differences • What

    can Drupal learn from WordPress? • What can WordPress learn from Drupal?
  2. Terminology Module → Plugin Node → Post Block → Widget

    Acquia → Automattic Drupalcon → WordCamp US DrupalCamp → WordCamp Drupal Assoc. → WordPress Found. Content Types → Post Types
  3. • 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
  4. • 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
  5. • 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
  6. 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
  7. 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.
  8. 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.
  9. On-boarding New Devs • Theme browser integrated into dashboard* •

    Module browser integrated into dashboard* • Automatic updates*
  10. More Needed Changes • Media management • More core committers

    • Better Documentation Tools • Easier updates between major versions
  11. 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
  12. 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
  13. 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
  14. Security Improvements • Brute force detection / Flood control •

    Set WP’s min PHP requirement to supported PHP version • Official mailing list for all security issues