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”.

96152416ecb494209fa7ff4edf0cde31?s=128

Michael Herchel

March 25, 2017
Tweet

Transcript

  1. None
  2. Mike Herchel @mikeherchel

  3. None
  4. None
  5. Overview • Perceptions • Similarities • Core Differences • What

    can Drupal learn from WordPress? • What can WordPress learn from Drupal?
  6. Perceptions

  7. None
  8. None
  9. Similarities

  10. Both are Tools to do a job

  11. Free Open Source Software FTW!

  12. Both use PHP

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

    features
  14. Both have amazing and strong communities

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

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

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

  18. Terminology Module → Plugin Node → Post Block → Widget

    Acquia → Automattic Drupalcon → WordCamp US DrupalCamp → WordCamp Drupal Assoc. → WordPress Found. Content Types → Post Types
  19. “Core Differences”

  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
  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
  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
  23. WordPress and Drupal Economies

  24. Extension Ecosystem

  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
  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.
  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.
  28. What can Drupal learn from WordPress?

  29. None
  30. None
  31. On-boarding New Devs • Theme browser integrated into dashboard* •

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

    • Better Documentation Tools • Easier updates between major versions
  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
  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
  35. What can WordPress learn from Drupal?

  36. None
  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
  38. More Developer Friendly • Robust caching • Configuration management •

    More / better code sprints
  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
  40. Special Thanks

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

    Healthy!
  42. www.fldrupal.camp

  43. ` Questions / Comments?