SlideShare a Scribd company logo
WHY I’VE NOT BOTHERED WITH DRUPAL 8
Robert Carr
@robertgcarr
WHAT THIS IS
• What changed and why?
• What does Drupal 8 offer?
• Why should I run with Drupal 7?
• So what?
WHAT THIS IS NOT
A rant
ME, ME, ME
Going alone
Lots of investment in D6/7
since 2007
Personal priorities
WHY CHANGE
Shortfalls in Drupal
Technology moves on…
Markets change:
• Drupal 7 aimed at Wordpress
• Drupal 8 shifted towards
enterprise and teams
…because we always made
big, forward-looking
changes… Drupal is one of
very few CMSs that has
stayed relevant for 15+
years.
Dries, 2017
INEVITABLE
CHANGE
Complacency and resistance to
endless cycle of updates
Procrastination
Requirements change
H T T P S : / / X K C D. C O M / 1 7 7 0 /
WHAT CHANGED?
Drupal 5 to 6 (2008) - A bit (performance & security, jQuery, Drush)
Drupal 6 to 7 (2011)- A bit (entities, DB abstraction, theme tweaks, UX)
Drupal 7 to 8 (2015) - A lot (Composer, Symfony, all APIs, OO & Patterns,
theming, expansion of features, Responsive Images, Layout builder, AX, UX,
HTML5, Multilingual, Config control, web services, Media library…)
SCALE C O D E S I Z E
ValueAxis
0
200000
400000
600000
800000
5.x 6.x 7.x 8.x
LINES OF CODE DERIVED USING CLOC TOOL ON PHP, JS, CSS & YAML FILES
Drupal 5: 2.3MB
Drupal 6: 3.5MB
Drupal 7: 12MB
Drupal 8: 70MB
WHY SO BIG?
• Core functionality extended
• Symfony Libraries
• Configuration in YAML files
Symfony 3
ClassLoader
Console
CssSelector
Debug
DependencyInjection
EventDispatcher
HttpFoundation
HttpKernel
PHPUnit Bridge
Polyfill Iconv
Process
Routing
Serializer
Translation
Validator
Yaml
Reusable PHP framework, already used in Laravel,
Joomla! etc
Provides Drupal with re-usable componenents
https://symfony.com/projects/drupal
PERFORMANCE
https://www.jeffgeerling.com/blog/2016/yes-drupal-8-slower-drupal-7-heres-why
Yes, Drupal 8 is slower
But…
Easier to establish high
performance caching (eg, Varnish)
for anon users.
D8 much faster [than D7] for logged
in users (Dynamic Page Cache and
Big Pipe modules in core).
FLEXIBILITY
C O N T R I B U T E D M O D U L E S
ValueAxis
0
4000
8000
12000
16000
5.x 6.x 7.x 8.x 9.x
Contrib modules Stable release
READINESS Top 75 Modules:
Drupal 8 (Apr 2019)
https://twitter.com/webchick/status/1113295219049422848
ADOPTION D R U PA L U S A G E
Version
8.x
7.x
6.x
5.x
Percentage of Drupal Sites
0 20 40 60 80
Drupal is used by 3.3% of all the websites
whose content management system are
known. This is 1.9% of all websites.
W 3 T E C H S . C O M , 1 4 M A Y 2 0 1 9
For comparison:
1. Wordpress 60.9% (33.9% of all)
2. Joomla 5.1% (2.9% of all)
3. Drupal 3.3% (1.9% of all)
4. Shopify 2.8% (1.5% of all)
…
Backdrop (D7 fork) < 0.1%
DRUPAL 8
• Huge feature set in core
• UX improvements
• Layout builder
• Media library
• Rich text editor
• Accessible/multilingual
• Web services
• Twig theming
• Symfony Components
• Composer to add modules+dependencies (drush dl)
LEARNING CURVE
Initial concepts straightforward
Detailed architecture usually
tricky: you don’t know what you
don’t know
Slow progression thereafter Clueless
Naively confident
Realism
Road to mastery
Time
Expertiseandconfidence
Typical software/
language
DRUPAL LEARNING
CURVE
Clueless
Naively confident
Realism
Road to mastery
Time
Expertiseandconfidence
Typical software/
language
Drupal
Modules, Themes, Entities, Hooks…
Pretty simple to get basics
Harder to understand modules,
entities, theming and APIs
Linear (but quick) progression
thereafter
Drupal 7 to 8 “double dip”
HATERS GONNA HATE
Tough learning curve
Cumbersome
Slow
PHP?
https://xkcd.com/2090/
PERSONAL
DEVELOPMENT
Professional obligation to
stay up to date
More skills improve quality of
work
Can tackle wider variety of
work
Self confidence -beat
'Imposter Syndrome'
THEY'D LEAVE
"Train people well enough so
they can leave, treat them
well enough so they don't
want to.”
Richard Branson
http://www.commitstrip.com/en/2016/05/24/training-the-newbie/
WHAT ELSE
CHANGED SINCE
2015?
• Death of IE6
• Responsive is default(Flexbox, Grid)
• Accelerated Mobile Pages
• GDPR
• Data breaches
• Push notifications
• Static site builders (Hugo, 11ty)
• Javascript everywhere
http://www.commitstrip.com/en/2019/04/19/its-better-with-javascript/
WHAT BUSINESS
BENEFITS FROM DRUPAL 8
• COPE: Create Once Publish Everywhere
• Drupal Development now focussed on D8 and D9
• Configuration Control: better for collaboration
• Wider recruitment:
• Conventional software development:
• OO code and MVC Patterns
• Composer
• Symfony
• Easier Theme Engine
• JS Framework Front Ends (Angular, React)
Quang Nguyen Vinh
CLIENT BENEFITS
Secure and well supported
Content syndication and easier integration
Better caching performance
Mobile friendly and accessible
Highly flexible and scalable
Futureproof: content, appearance &
functionality
DRUPAL PLAN Symfony 3.4 End of Life
USE DRUPAL 8 NOW?
Highly powerful and feature rich
Future proof
Support new development and your community
SHOULD YOU UPGRADE NOW
TL;DR No
UPDATE, MAYBE
Hard sell to a client
Migrate module in Core
Many modules not D8 ready
Throw away custom modules?
Probably
You’re probably going to build
a fresh theme anyway
Reality could be new
site build:
introduces possibility of
other CMS 😮
WHY NOT
DRUPAL 8?
Huge step change - binning legacy
Little literature & weak documentation
Overkill for simple sites
Needs decent server/caching
Most D8 functionality available in D7 contrib
Many good modules missing in Drupal 8
Drupal 7 is really good
Photo by Travis Saylor from Pexels
WHAT OPTIONS?
Drupal 7 well supported for 2½ more
years 😌
Drupal 8.5+ will be eternally
upgradeable 🤔
Leave Drupal entirely 😢
or…
Backdrop - the Drupal 8 that never
was 😕
BACKDROP
Fork of Drupal in 2014
‘Easy’ to upgrade from Drupal 7
Best (but not all) modules from
D7 available
1.0 released 2015, and actively
maintained
BACKDROP
FEATURES
Comprehensive feature set - all the nice bits of
D7
Configuration Control in JSON files
Simple & effective UX - slicker than D8:
• Some Drupal ‘jargon’ removed
• In-browser admin (can still use Drush)
D7 API and modules easy to convert
Similar performance and server reqs to D7
Runs on PHP 5.3-7.2
THOUGHTS
Much more user-friendly
Core is great
No real barriers
Good for one-offs
But… pretty weak
adoption in general
VHS vs Betamax?
WHY I'M SITTING TIGHT
Expense of Upgrading 7 > 8 high
Cost of learning Drupal 8 APIs & tools high
Drupal 8 documentation + contrib modules
Minimal benefit to current client base
Drupal 7 support for 2½ more years
Backdrop an option
https://xkcd.com/612/
But the future is unpredictable
BITE THAT BULLET
Time to
transition?
Drupal 7 is
10 years old
🎂
"Where ignorance is bliss, 'tis folly to be wise.”
THOMAS GRAY, 1742
QUESTIONS?
Robert Carr
@robertgcarr

More Related Content

What's hot

What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
Kasra Khosravi
 
Php naked
Php nakedPhp naked
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SKHTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
David Wesst
 
HTML5 for the Ruby Developer
HTML5 for the Ruby DeveloperHTML5 for the Ruby Developer
HTML5 for the Ruby Developer
SV Ruby on Rails Meetup
 
Drupal Basics
Drupal BasicsDrupal Basics
Drupal Basics
tiranloblanc
 
Open source cms-presentation-v1
Open source cms-presentation-v1Open source cms-presentation-v1
Open source cms-presentation-v1
Jaladhi Bhatt
 
CQ5 Development Setup, Maven Build and Deployment
CQ5 Development Setup, Maven Build and DeploymentCQ5 Development Setup, Maven Build and Deployment
CQ5 Development Setup, Maven Build and Deployment
klcodanr
 
Joomlaplatform en
Joomlaplatform enJoomlaplatform en
Joomlaplatform en
Robert Deutz
 
Creating a custom API for a headless Drupal
Creating a custom API for a headless DrupalCreating a custom API for a headless Drupal
Creating a custom API for a headless Drupal
Exove
 
Seattle bestpractices2010
Seattle bestpractices2010Seattle bestpractices2010
Seattle bestpractices2010
Olaseni Odebiyi
 
Html for desktop applications
Html for desktop applicationsHtml for desktop applications
Html for desktop applications
Mike Feltman
 
Francesco Ciriaci Get Plone To Business!
Francesco Ciriaci   Get Plone To Business!Francesco Ciriaci   Get Plone To Business!
Francesco Ciriaci Get Plone To Business!
Vincenzo Barone
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
Robert MacLean
 
Gears and HTML 5 @media Ajax London 2008
Gears and HTML 5 @media Ajax London 2008Gears and HTML 5 @media Ajax London 2008
Gears and HTML 5 @media Ajax London 2008
dion
 
Getting agile with drupal
Getting agile with drupalGetting agile with drupal
Getting agile with drupal
Promet Source
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Christian Heilmann
 
Top 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal projectTop 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal project
Iztok Smolic
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
Prakarsh -
 
Setting up your development environment
Setting up your development environmentSetting up your development environment
Setting up your development environment
Robert Deutz
 
Drupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakesDrupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakes
Iztok Smolic
 

What's hot (20)

What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
Php naked
Php nakedPhp naked
Php naked
 
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SKHTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
 
HTML5 for the Ruby Developer
HTML5 for the Ruby DeveloperHTML5 for the Ruby Developer
HTML5 for the Ruby Developer
 
Drupal Basics
Drupal BasicsDrupal Basics
Drupal Basics
 
Open source cms-presentation-v1
Open source cms-presentation-v1Open source cms-presentation-v1
Open source cms-presentation-v1
 
CQ5 Development Setup, Maven Build and Deployment
CQ5 Development Setup, Maven Build and DeploymentCQ5 Development Setup, Maven Build and Deployment
CQ5 Development Setup, Maven Build and Deployment
 
Joomlaplatform en
Joomlaplatform enJoomlaplatform en
Joomlaplatform en
 
Creating a custom API for a headless Drupal
Creating a custom API for a headless DrupalCreating a custom API for a headless Drupal
Creating a custom API for a headless Drupal
 
Seattle bestpractices2010
Seattle bestpractices2010Seattle bestpractices2010
Seattle bestpractices2010
 
Html for desktop applications
Html for desktop applicationsHtml for desktop applications
Html for desktop applications
 
Francesco Ciriaci Get Plone To Business!
Francesco Ciriaci   Get Plone To Business!Francesco Ciriaci   Get Plone To Business!
Francesco Ciriaci Get Plone To Business!
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
 
Gears and HTML 5 @media Ajax London 2008
Gears and HTML 5 @media Ajax London 2008Gears and HTML 5 @media Ajax London 2008
Gears and HTML 5 @media Ajax London 2008
 
Getting agile with drupal
Getting agile with drupalGetting agile with drupal
Getting agile with drupal
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
 
Top 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal projectTop 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal project
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
 
Setting up your development environment
Setting up your development environmentSetting up your development environment
Setting up your development environment
 
Drupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakesDrupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakes
 

Similar to Why I've Not bothered With Drupal 8

October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
Eric Sembrat
 
Drupal
DrupalDrupal
Drupal
btopro
 
Drupal for Mobile
Drupal for MobileDrupal for Mobile
Drupal for Mobile
littleMAS
 
Kharkiv Drupal Cafe Tech Talks #1
Kharkiv Drupal Cafe Tech Talks #1Kharkiv Drupal Cafe Tech Talks #1
Kharkiv Drupal Cafe Tech Talks #1
Dmytro Olaresko
 
Drupal
DrupalDrupal
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
Jay Epstein
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
Jay Epstein
 
Decoupled drupal DcRuhr
Decoupled drupal DcRuhrDecoupled drupal DcRuhr
Decoupled drupal DcRuhr
Ahmad Hassan
 
Drupalcampatl d7
Drupalcampatl d7Drupalcampatl d7
Drupalcampatl d7
Mediacurrent
 
A Quick Look at Drupal
A Quick Look at DrupalA Quick Look at Drupal
A Quick Look at Drupal
sheenadonnelly
 
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introEdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
Bryan Ollendyke
 
Something drupal this way comes
Something drupal this way comesSomething drupal this way comes
Something drupal this way comes
Mark Casias
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupal
arcaneadam
 
Decoupled Drupal 8 and IoT
Decoupled Drupal 8 and IoTDecoupled Drupal 8 and IoT
Decoupled Drupal 8 and IoT
Miro Michalicka
 
PlovDev 2016: Drupal 8 Evolution & Kickstart by Ivo Radulovski
PlovDev 2016: Drupal 8 Evolution & Kickstart by Ivo RadulovskiPlovDev 2016: Drupal 8 Evolution & Kickstart by Ivo Radulovski
PlovDev 2016: Drupal 8 Evolution & Kickstart by Ivo Radulovski
PlovDev Conference
 
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
DrupalDay
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths Debunked
Angela Byron
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
Acquia
 
Building Your Own Drupal Distribution
Building Your Own Drupal DistributionBuilding Your Own Drupal Distribution
Building Your Own Drupal Distribution
Aniket Maithani
 
Applied progressive decoupling weather.com, angular, and drupal
Applied progressive decoupling  weather.com, angular, and drupalApplied progressive decoupling  weather.com, angular, and drupal
Applied progressive decoupling weather.com, angular, and drupal
Acquia
 

Similar to Why I've Not bothered With Drupal 8 (20)

October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
 
Drupal
DrupalDrupal
Drupal
 
Drupal for Mobile
Drupal for MobileDrupal for Mobile
Drupal for Mobile
 
Kharkiv Drupal Cafe Tech Talks #1
Kharkiv Drupal Cafe Tech Talks #1Kharkiv Drupal Cafe Tech Talks #1
Kharkiv Drupal Cafe Tech Talks #1
 
Drupal
DrupalDrupal
Drupal
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
 
Decoupled drupal DcRuhr
Decoupled drupal DcRuhrDecoupled drupal DcRuhr
Decoupled drupal DcRuhr
 
Drupalcampatl d7
Drupalcampatl d7Drupalcampatl d7
Drupalcampatl d7
 
A Quick Look at Drupal
A Quick Look at DrupalA Quick Look at Drupal
A Quick Look at Drupal
 
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introEdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
 
Something drupal this way comes
Something drupal this way comesSomething drupal this way comes
Something drupal this way comes
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupal
 
Decoupled Drupal 8 and IoT
Decoupled Drupal 8 and IoTDecoupled Drupal 8 and IoT
Decoupled Drupal 8 and IoT
 
PlovDev 2016: Drupal 8 Evolution & Kickstart by Ivo Radulovski
PlovDev 2016: Drupal 8 Evolution & Kickstart by Ivo RadulovskiPlovDev 2016: Drupal 8 Evolution & Kickstart by Ivo Radulovski
PlovDev 2016: Drupal 8 Evolution & Kickstart by Ivo Radulovski
 
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths Debunked
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
 
Building Your Own Drupal Distribution
Building Your Own Drupal DistributionBuilding Your Own Drupal Distribution
Building Your Own Drupal Distribution
 
Applied progressive decoupling weather.com, angular, and drupal
Applied progressive decoupling  weather.com, angular, and drupalApplied progressive decoupling  weather.com, angular, and drupal
Applied progressive decoupling weather.com, angular, and drupal
 

More from Robert Carr

Organic Groups - Overview
Organic Groups - OverviewOrganic Groups - Overview
Organic Groups - Overview
Robert Carr
 
Rhetoric and Flexible Content with Drupal
Rhetoric and Flexible Content with DrupalRhetoric and Flexible Content with Drupal
Rhetoric and Flexible Content with Drupal
Robert Carr
 
Drupal in 30 Minutes
Drupal in 30 MinutesDrupal in 30 Minutes
Drupal in 30 Minutes
Robert Carr
 
Drupal in 5
Drupal in 5Drupal in 5
Drupal in 5
Robert Carr
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For Techies
Robert Carr
 
Gentle Intro to Search Engine Optimisation
Gentle Intro to Search Engine OptimisationGentle Intro to Search Engine Optimisation
Gentle Intro to Search Engine Optimisation
Robert Carr
 
Introduction to Drupal (7) Theming
Introduction to Drupal (7) ThemingIntroduction to Drupal (7) Theming
Introduction to Drupal (7) Theming
Robert Carr
 
Wireframes
WireframesWireframes
Wireframes
Robert Carr
 
Search Engine Optimization & Drupal
Search Engine Optimization & DrupalSearch Engine Optimization & Drupal
Search Engine Optimization & Drupal
Robert Carr
 

More from Robert Carr (9)

Organic Groups - Overview
Organic Groups - OverviewOrganic Groups - Overview
Organic Groups - Overview
 
Rhetoric and Flexible Content with Drupal
Rhetoric and Flexible Content with DrupalRhetoric and Flexible Content with Drupal
Rhetoric and Flexible Content with Drupal
 
Drupal in 30 Minutes
Drupal in 30 MinutesDrupal in 30 Minutes
Drupal in 30 Minutes
 
Drupal in 5
Drupal in 5Drupal in 5
Drupal in 5
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For Techies
 
Gentle Intro to Search Engine Optimisation
Gentle Intro to Search Engine OptimisationGentle Intro to Search Engine Optimisation
Gentle Intro to Search Engine Optimisation
 
Introduction to Drupal (7) Theming
Introduction to Drupal (7) ThemingIntroduction to Drupal (7) Theming
Introduction to Drupal (7) Theming
 
Wireframes
WireframesWireframes
Wireframes
 
Search Engine Optimization & Drupal
Search Engine Optimization & DrupalSearch Engine Optimization & Drupal
Search Engine Optimization & Drupal
 

Recently uploaded

09. Ruby Object Oriented Programming - Ruby Core Teaching
09. Ruby Object Oriented Programming - Ruby Core Teaching09. Ruby Object Oriented Programming - Ruby Core Teaching
09. Ruby Object Oriented Programming - Ruby Core Teaching
quanhoangd129
 
Hotel Management Software Development Company
Hotel Management Software Development CompanyHotel Management Software Development Company
Hotel Management Software Development Company
XongoLab Technologies LLP
 
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
simran hot girls
 
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
revolutionary575
 
05. Ruby Control Structures - Ruby Core Teaching
05. Ruby Control Structures - Ruby Core Teaching05. Ruby Control Structures - Ruby Core Teaching
05. Ruby Control Structures - Ruby Core Teaching
quanhoangd129
 
TEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with YouTEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with You
marcofolio
 
Applitools Autonomous 2.0 Sneak Peek.pdf
Applitools Autonomous 2.0 Sneak Peek.pdfApplitools Autonomous 2.0 Sneak Peek.pdf
Applitools Autonomous 2.0 Sneak Peek.pdf
Applitools
 
UMiami degree offer diploma Transcript
UMiami degree offer diploma TranscriptUMiami degree offer diploma Transcript
UMiami degree offer diploma Transcript
attueb
 
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
jealousviolet
 
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
dream girl
 
06. Ruby Array & Hash - Ruby Core Teaching
06. Ruby Array & Hash - Ruby Core Teaching06. Ruby Array & Hash - Ruby Core Teaching
06. Ruby Array & Hash - Ruby Core Teaching
quanhoangd129
 
01. Ruby Introduction - Ruby Core Teaching
01. Ruby Introduction - Ruby Core Teaching01. Ruby Introduction - Ruby Core Teaching
01. Ruby Introduction - Ruby Core Teaching
quanhoangd129
 
bangalore Girls call 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
bangalore Girls call  👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Deliverybangalore Girls call  👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
bangalore Girls call 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
sunilverma7884
 
02. Ruby Basic slides - Ruby Core Teaching
02. Ruby Basic slides - Ruby Core Teaching02. Ruby Basic slides - Ruby Core Teaching
02. Ruby Basic slides - Ruby Core Teaching
quanhoangd129
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
OnePlan Solutions
 
How to Secure Your Kubernetes Software Supply Chain at Scale
How to Secure Your Kubernetes Software Supply Chain at ScaleHow to Secure Your Kubernetes Software Supply Chain at Scale
How to Secure Your Kubernetes Software Supply Chain at Scale
Anchore
 
PathSpotter: Exploring Tested Paths to Discover Missing Tests (FSE 2024)
PathSpotter: Exploring Tested Paths to Discover Missing Tests (FSE 2024)PathSpotter: Exploring Tested Paths to Discover Missing Tests (FSE 2024)
PathSpotter: Exploring Tested Paths to Discover Missing Tests (FSE 2024)
andrehoraa
 
InflectraCON 360: Risk-Based Testing for Mission Critical Systems
InflectraCON 360: Risk-Based Testing for Mission Critical SystemsInflectraCON 360: Risk-Based Testing for Mission Critical Systems
InflectraCON 360: Risk-Based Testing for Mission Critical Systems
Inflectra
 
Amadeus Travel API, Amadeus Booking API, Amadeus GDS
Amadeus Travel API, Amadeus Booking API, Amadeus GDSAmadeus Travel API, Amadeus Booking API, Amadeus GDS
Amadeus Travel API, Amadeus Booking API, Amadeus GDS
aadhiyaeliza
 
07. Ruby String Slides - Ruby Core Teaching
07. Ruby String Slides - Ruby Core Teaching07. Ruby String Slides - Ruby Core Teaching
07. Ruby String Slides - Ruby Core Teaching
quanhoangd129
 

Recently uploaded (20)

09. Ruby Object Oriented Programming - Ruby Core Teaching
09. Ruby Object Oriented Programming - Ruby Core Teaching09. Ruby Object Oriented Programming - Ruby Core Teaching
09. Ruby Object Oriented Programming - Ruby Core Teaching
 
Hotel Management Software Development Company
Hotel Management Software Development CompanyHotel Management Software Development Company
Hotel Management Software Development Company
 
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
 
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
 
05. Ruby Control Structures - Ruby Core Teaching
05. Ruby Control Structures - Ruby Core Teaching05. Ruby Control Structures - Ruby Core Teaching
05. Ruby Control Structures - Ruby Core Teaching
 
TEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with YouTEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with You
 
Applitools Autonomous 2.0 Sneak Peek.pdf
Applitools Autonomous 2.0 Sneak Peek.pdfApplitools Autonomous 2.0 Sneak Peek.pdf
Applitools Autonomous 2.0 Sneak Peek.pdf
 
UMiami degree offer diploma Transcript
UMiami degree offer diploma TranscriptUMiami degree offer diploma Transcript
UMiami degree offer diploma Transcript
 
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
 
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
 
06. Ruby Array & Hash - Ruby Core Teaching
06. Ruby Array & Hash - Ruby Core Teaching06. Ruby Array & Hash - Ruby Core Teaching
06. Ruby Array & Hash - Ruby Core Teaching
 
01. Ruby Introduction - Ruby Core Teaching
01. Ruby Introduction - Ruby Core Teaching01. Ruby Introduction - Ruby Core Teaching
01. Ruby Introduction - Ruby Core Teaching
 
bangalore Girls call 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
bangalore Girls call  👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Deliverybangalore Girls call  👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
bangalore Girls call 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
 
02. Ruby Basic slides - Ruby Core Teaching
02. Ruby Basic slides - Ruby Core Teaching02. Ruby Basic slides - Ruby Core Teaching
02. Ruby Basic slides - Ruby Core Teaching
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
 
How to Secure Your Kubernetes Software Supply Chain at Scale
How to Secure Your Kubernetes Software Supply Chain at ScaleHow to Secure Your Kubernetes Software Supply Chain at Scale
How to Secure Your Kubernetes Software Supply Chain at Scale
 
PathSpotter: Exploring Tested Paths to Discover Missing Tests (FSE 2024)
PathSpotter: Exploring Tested Paths to Discover Missing Tests (FSE 2024)PathSpotter: Exploring Tested Paths to Discover Missing Tests (FSE 2024)
PathSpotter: Exploring Tested Paths to Discover Missing Tests (FSE 2024)
 
InflectraCON 360: Risk-Based Testing for Mission Critical Systems
InflectraCON 360: Risk-Based Testing for Mission Critical SystemsInflectraCON 360: Risk-Based Testing for Mission Critical Systems
InflectraCON 360: Risk-Based Testing for Mission Critical Systems
 
Amadeus Travel API, Amadeus Booking API, Amadeus GDS
Amadeus Travel API, Amadeus Booking API, Amadeus GDSAmadeus Travel API, Amadeus Booking API, Amadeus GDS
Amadeus Travel API, Amadeus Booking API, Amadeus GDS
 
07. Ruby String Slides - Ruby Core Teaching
07. Ruby String Slides - Ruby Core Teaching07. Ruby String Slides - Ruby Core Teaching
07. Ruby String Slides - Ruby Core Teaching
 

Why I've Not bothered With Drupal 8

  • 1. WHY I’VE NOT BOTHERED WITH DRUPAL 8 Robert Carr @robertgcarr
  • 2. WHAT THIS IS • What changed and why? • What does Drupal 8 offer? • Why should I run with Drupal 7? • So what?
  • 3. WHAT THIS IS NOT A rant
  • 4. ME, ME, ME Going alone Lots of investment in D6/7 since 2007 Personal priorities
  • 5. WHY CHANGE Shortfalls in Drupal Technology moves on… Markets change: • Drupal 7 aimed at Wordpress • Drupal 8 shifted towards enterprise and teams …because we always made big, forward-looking changes… Drupal is one of very few CMSs that has stayed relevant for 15+ years. Dries, 2017
  • 6. INEVITABLE CHANGE Complacency and resistance to endless cycle of updates Procrastination Requirements change H T T P S : / / X K C D. C O M / 1 7 7 0 /
  • 7. WHAT CHANGED? Drupal 5 to 6 (2008) - A bit (performance & security, jQuery, Drush) Drupal 6 to 7 (2011)- A bit (entities, DB abstraction, theme tweaks, UX) Drupal 7 to 8 (2015) - A lot (Composer, Symfony, all APIs, OO & Patterns, theming, expansion of features, Responsive Images, Layout builder, AX, UX, HTML5, Multilingual, Config control, web services, Media library…)
  • 8. SCALE C O D E S I Z E ValueAxis 0 200000 400000 600000 800000 5.x 6.x 7.x 8.x LINES OF CODE DERIVED USING CLOC TOOL ON PHP, JS, CSS & YAML FILES Drupal 5: 2.3MB Drupal 6: 3.5MB Drupal 7: 12MB Drupal 8: 70MB
  • 9. WHY SO BIG? • Core functionality extended • Symfony Libraries • Configuration in YAML files Symfony 3 ClassLoader Console CssSelector Debug DependencyInjection EventDispatcher HttpFoundation HttpKernel PHPUnit Bridge Polyfill Iconv Process Routing Serializer Translation Validator Yaml Reusable PHP framework, already used in Laravel, Joomla! etc Provides Drupal with re-usable componenents https://symfony.com/projects/drupal
  • 10. PERFORMANCE https://www.jeffgeerling.com/blog/2016/yes-drupal-8-slower-drupal-7-heres-why Yes, Drupal 8 is slower But… Easier to establish high performance caching (eg, Varnish) for anon users. D8 much faster [than D7] for logged in users (Dynamic Page Cache and Big Pipe modules in core).
  • 11. FLEXIBILITY C O N T R I B U T E D M O D U L E S ValueAxis 0 4000 8000 12000 16000 5.x 6.x 7.x 8.x 9.x Contrib modules Stable release
  • 12. READINESS Top 75 Modules: Drupal 8 (Apr 2019) https://twitter.com/webchick/status/1113295219049422848
  • 13. ADOPTION D R U PA L U S A G E Version 8.x 7.x 6.x 5.x Percentage of Drupal Sites 0 20 40 60 80 Drupal is used by 3.3% of all the websites whose content management system are known. This is 1.9% of all websites. W 3 T E C H S . C O M , 1 4 M A Y 2 0 1 9 For comparison: 1. Wordpress 60.9% (33.9% of all) 2. Joomla 5.1% (2.9% of all) 3. Drupal 3.3% (1.9% of all) 4. Shopify 2.8% (1.5% of all) … Backdrop (D7 fork) < 0.1%
  • 14. DRUPAL 8 • Huge feature set in core • UX improvements • Layout builder • Media library • Rich text editor • Accessible/multilingual • Web services • Twig theming • Symfony Components • Composer to add modules+dependencies (drush dl)
  • 15. LEARNING CURVE Initial concepts straightforward Detailed architecture usually tricky: you don’t know what you don’t know Slow progression thereafter Clueless Naively confident Realism Road to mastery Time Expertiseandconfidence Typical software/ language
  • 16. DRUPAL LEARNING CURVE Clueless Naively confident Realism Road to mastery Time Expertiseandconfidence Typical software/ language Drupal Modules, Themes, Entities, Hooks… Pretty simple to get basics Harder to understand modules, entities, theming and APIs Linear (but quick) progression thereafter Drupal 7 to 8 “double dip”
  • 17. HATERS GONNA HATE Tough learning curve Cumbersome Slow PHP? https://xkcd.com/2090/
  • 18. PERSONAL DEVELOPMENT Professional obligation to stay up to date More skills improve quality of work Can tackle wider variety of work Self confidence -beat 'Imposter Syndrome'
  • 19. THEY'D LEAVE "Train people well enough so they can leave, treat them well enough so they don't want to.” Richard Branson http://www.commitstrip.com/en/2016/05/24/training-the-newbie/
  • 20. WHAT ELSE CHANGED SINCE 2015? • Death of IE6 • Responsive is default(Flexbox, Grid) • Accelerated Mobile Pages • GDPR • Data breaches • Push notifications • Static site builders (Hugo, 11ty) • Javascript everywhere http://www.commitstrip.com/en/2019/04/19/its-better-with-javascript/
  • 21. WHAT BUSINESS BENEFITS FROM DRUPAL 8 • COPE: Create Once Publish Everywhere • Drupal Development now focussed on D8 and D9 • Configuration Control: better for collaboration • Wider recruitment: • Conventional software development: • OO code and MVC Patterns • Composer • Symfony • Easier Theme Engine • JS Framework Front Ends (Angular, React) Quang Nguyen Vinh
  • 22. CLIENT BENEFITS Secure and well supported Content syndication and easier integration Better caching performance Mobile friendly and accessible Highly flexible and scalable Futureproof: content, appearance & functionality
  • 23. DRUPAL PLAN Symfony 3.4 End of Life
  • 24. USE DRUPAL 8 NOW? Highly powerful and feature rich Future proof Support new development and your community
  • 25. SHOULD YOU UPGRADE NOW TL;DR No
  • 26. UPDATE, MAYBE Hard sell to a client Migrate module in Core Many modules not D8 ready Throw away custom modules? Probably You’re probably going to build a fresh theme anyway Reality could be new site build: introduces possibility of other CMS 😮
  • 27. WHY NOT DRUPAL 8? Huge step change - binning legacy Little literature & weak documentation Overkill for simple sites Needs decent server/caching Most D8 functionality available in D7 contrib Many good modules missing in Drupal 8 Drupal 7 is really good Photo by Travis Saylor from Pexels
  • 28. WHAT OPTIONS? Drupal 7 well supported for 2½ more years 😌 Drupal 8.5+ will be eternally upgradeable 🤔 Leave Drupal entirely 😢 or… Backdrop - the Drupal 8 that never was 😕
  • 29. BACKDROP Fork of Drupal in 2014 ‘Easy’ to upgrade from Drupal 7 Best (but not all) modules from D7 available 1.0 released 2015, and actively maintained
  • 30. BACKDROP FEATURES Comprehensive feature set - all the nice bits of D7 Configuration Control in JSON files Simple & effective UX - slicker than D8: • Some Drupal ‘jargon’ removed • In-browser admin (can still use Drush) D7 API and modules easy to convert Similar performance and server reqs to D7 Runs on PHP 5.3-7.2
  • 31. THOUGHTS Much more user-friendly Core is great No real barriers Good for one-offs But… pretty weak adoption in general VHS vs Betamax?
  • 32. WHY I'M SITTING TIGHT Expense of Upgrading 7 > 8 high Cost of learning Drupal 8 APIs & tools high Drupal 8 documentation + contrib modules Minimal benefit to current client base Drupal 7 support for 2½ more years Backdrop an option https://xkcd.com/612/ But the future is unpredictable
  • 33. BITE THAT BULLET Time to transition? Drupal 7 is 10 years old 🎂
  • 34. "Where ignorance is bliss, 'tis folly to be wise.” THOMAS GRAY, 1742