SlideShare a Scribd company logo
@agiledrop hello@agiledrop.com
Drupal 8: Most Common
Beginner Mistakes
@iztokIztok Smolic
@agiledrop hello@agiledrop.com
Iztok Smolic
iztok@agiledrop.com
Follow me: @iztok
AGILEDROP Ltd.
hello@agiledrop.com
Follow us: @agiledrop
@agiledrop hello@agiledrop.com
A smart man makes a mistake,
learns from it, and never makes
that mistake again. But a wise
man finds a smart man and
learns from him how to avoid
the mistake altogether.
Roy H. Williams
“
@agiledrop hello@agiledrop.com
DRUPAL 7 PRESENTATION
You can find the
Drupal 7 version
here:
http://goo.gl/bHG9v2
@agiledrop hello@agiledrop.com
YOUR FIRST MISTAKE WILL BE TO THINK
THAT YOU WILL DO (TOO) MANY MISTAKES
I am happy to say that it was very hard to find
20 mistakes specifically for Drupal 8.
@agiledrop hello@agiledrop.com
“FROM NOW ON WE WILL BE DOING ALL
PROJECTS WITH DRUPAL 8”
Is Drupal 8 ready?
Take the time to conduct research of release
plan and progress on key modules.
There is a lot less modules that support specific
business logic, e.g. commerce.
@agiledrop hello@agiledrop.com
Module research
@agiledrop hello@agiledrop.com
NOT USING DRUPAL 8 SOON ENOUGH
Drupal 7 is a comfort zone. Whenever you are in
the comfort zone it means you are not growing.
Consider using Drupal 8 as investment. If that
doesn’t work, try to remember how it felt when
you had to support Drupal 6 site when Drupal 7
was out.
@agiledrop hello@agiledrop.com
http://buytaert.net/how-is-drupal-8-doing
@agiledrop hello@agiledrop.com
LOOKING FOR MODULE THAT IS ALREADY IN
DRUPAL 8 CORE
After installing Drupal 8, you can actually setup a
useful website.
A list of modules and their state in Drupal 8:
http://www.bluespark.com/status-top-100-
contributed-modules-drupal-8
@agiledrop hello@agiledrop.com
NEW FOLDER STRUCTURE
Where should I place modules and themes in
Drupal 8?
Drupal 8 has a new folder structure and once
again you don’t know where to place
downloaded modules.
@agiledrop hello@agiledrop.com
• /core - All files provided by core, that doesn't have an explicit
reason to be in the / directory. More details futher down.
• /libraries - 3rd party libraries, eg. a wysiwyg editor.
• /modules - The directory into which all modules go.
• /profiles - contributed and custom profiles.
• /themes - contributed and custom themes
• sites/[domain OR default]/{modules,themes} - Site specific
modules and themes.
• sites/[domain OR default]/files - Site specific files. This could
be files uploaded by users, such as images.
• /vendor - Backend libraries that Drupal Core depends on.
(Symfony, Twig, etc)
@agiledrop hello@agiledrop.com
YOU DON’T KNOW HOW TO START
LEARNING ABOUT DRUPAL 8
• Where can I find tutorials for Drupal 8 custom
development?
• I can’t find any documentation for Drupal 8!
Start with official documentation:
https://api.drupal.org/api/drupal/core
%21core.api.php/group/extending/8.2.x
@agiledrop hello@agiledrop.com
Official documentation is behind, but
commercial training providers are catching up.
DrupalizeMe tutorials

https://drupalize.me/guide/learn-drupal-8
Drupal 8 books:

https://www.drupal.org/books?availability%5B
%5D=38414&version%5B%5D=20236
@agiledrop hello@agiledrop.com
GET FAMILIAR WITH OOP
You need a good knowledge of OOP otherwise you
may stack in the first alter. It is the time to get
started with OOP if you haven't already.
https://buildamodule.com/collection/drupal-8-
developer-prep
https://www.drupal.org/getting-started-d8-bkg-
prereq
@agiledrop hello@agiledrop.com
NOT USING PHP IDE
You need a PHP IDE (eg PHPStorm) by default.
Having OOP, PSR, Services etc make an IDE a
requirement even for a front end developer.
You cannot continue with an Editor.
@agiledrop hello@agiledrop.com
REVISE SERVER REQUIREMENTS, LOCAL
DEVELOPMENT AND PRODUCTION
• Dedicated even more resources than you did
for Drupal 7 (memory_limit in particular).
• Upgrade your PHP!
• Everyone on your team should have exactly the
same development environment.
@agiledrop hello@agiledrop.com
NOT KNOWING HOW TO DEBUG DRUPAL 8
Something in your code doesn’t work as expected,
but you can’t figure out what.
Module Devel is still a must have:

https://www.drupal.org/project/devel
Debug Drupal 8 with PHPstorm:
http://redcrackle.com/blog/drupal-8/phpstorm
@agiledrop hello@agiledrop.com
YOU DIDN’T PROPERLY DISABLED CACHE
You refresh the page … and nothing. Your
beautifully written code does not run.
If you don’t want to clear cache for every page
refresh follow the instructions to disable
Drupal 8 caching during development:
https://www.drupal.org/node/2598914
@agiledrop hello@agiledrop.com
MANAGING CONFIGURATION ON
PRODUCTION
You made a quick fix on production and forgot to
export it to Git repo. On the next deployment the config
and maybe even the content are gone - for good.
Config readonly module: 

https://www.drupal.org/project/config_readonly
Use files only configuration storage: 

https://www.drupal.org/node/2416555 

@agiledrop hello@agiledrop.com
YOU MISS ALL OFF THOSE DIVS AND
CLASSES THAT WE HAD IN DRUPAL 7
Some hate it, some love it - I am talking about
divitis and classitis. This is now gone from Drupal 8
by default.
If you want your theme to include Drupal's
classes on your elements, define Classy as your
base theme.
https://www.drupal.org/theme-guide/8/classy
@agiledrop hello@agiledrop.com
BUT I NEED TO USE PHP IN THE TEMPLATES
It has never been so obvious why we have
preprocess functions. Because it’s limiting, you
can do so much now.
@agiledrop hello@agiledrop.com
HOW TO FIND TEMPLATES? HOW TO LIST
ALL VARIABLES INSIDE A TEMPLATE?
First, enable development mode: https://www.drupal.org/
node/2598914.
Use Devel (https://www.drupal.org/project/devel) and Search
Kint (https://www.drupal.org/project/search_kint) to render
variables inside templates.
@agiledrop hello@agiledrop.com
There is also now a Google Chrome plugin called
Drupal Template Helper which moves all your
Twig debug output to a Chrome web inspector
tab.
@agiledrop hello@agiledrop.com
JQUERY LIBRARIES ARE NOT LOADED
jQuery or any other library is not loaded on
every page by default.
Enable it by 

defining it as a

dependency.
@agiledrop hello@agiledrop.com
HAVING TOO MUCH HOPES IN QUICK EDIT
Quick Edit is a great feature on paper. In reality it brings
additional technical debt.
When using Quick Edit consider:
• Are all fields visible?
• Can all fields work in a front-end widget?
• How not to override Quick Edit CSS/JS?
Remember Drupal’s 7 Overlay? First module to disable.
@agiledrop hello@agiledrop.com
DRUPAL 8 IS THE BEST THING SINCE SLICED
BREAD
>
Drupal 8: Most common beginner mistakes

More Related Content

What's hot

Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal BasicsJuha Niemi
 
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportDrupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Acquia
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
Micky Metts
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
mayank.grd
 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
Kathryn Carruthers
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Ivan Zugec
 
Drupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using DrupalDrupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using Drupal
Vibrant Technologies & Computers
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
sdmaxey
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8
Suzanne Dergacheva
 
The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017
Michael Miles
 
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 MinutesSpeedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
Acquia
 
Drupal
DrupalDrupal
An Introduction to Drupal
An Introduction to DrupalAn Introduction to Drupal
An Introduction to Drupal
Tobias Ratschiller
 
Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginners
everlearner
 
Introduction to drupal
Introduction to drupalIntroduction to drupal
Introduction to drupal
mayank.grd
 
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course OverviewFrom Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
Italo Mairo
 
Beyond the Beginner - Path Ways to Advanced Drupal Levels & Businesses
Beyond the Beginner - Path Ways to Advanced Drupal Levels & BusinessesBeyond the Beginner - Path Ways to Advanced Drupal Levels & Businesses
Beyond the Beginner - Path Ways to Advanced Drupal Levels & Businesses
everlearner
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Administration
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal AdministrationDrupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Administration
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Administration
DrupalMumbai
 

What's hot (20)

Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal Basics
 
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportDrupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
 
Beginners Guide to Drupal
Beginners Guide to DrupalBeginners Guide to Drupal
Beginners Guide to Drupal
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7
 
Drupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using DrupalDrupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using Drupal
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8
 
The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017The Flexibility of Drupal 8 | DCNLights 2017
The Flexibility of Drupal 8 | DCNLights 2017
 
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 MinutesSpeedrun: Build a Website with Panels, Media, and More in 45 Minutes
Speedrun: Build a Website with Panels, Media, and More in 45 Minutes
 
Drupal
DrupalDrupal
Drupal
 
An Introduction to Drupal
An Introduction to DrupalAn Introduction to Drupal
An Introduction to Drupal
 
Drupal Themes
Drupal ThemesDrupal Themes
Drupal Themes
 
Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginners
 
Introduction to drupal
Introduction to drupalIntroduction to drupal
Introduction to drupal
 
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course OverviewFrom Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
 
Beyond the Beginner - Path Ways to Advanced Drupal Levels & Businesses
Beyond the Beginner - Path Ways to Advanced Drupal Levels & BusinessesBeyond the Beginner - Path Ways to Advanced Drupal Levels & Businesses
Beyond the Beginner - Path Ways to Advanced Drupal Levels & Businesses
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Administration
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal AdministrationDrupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Administration
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Administration
 

Viewers also liked

Beating the Class out of Drupal 8: An intro to the Classy core theme
Beating the Class out of Drupal 8: An intro to the Classy core themeBeating the Class out of Drupal 8: An intro to the Classy core theme
Beating the Class out of Drupal 8: An intro to the Classy core theme
CoLab Coop
 
My Job Is Harder Than Yours (D4D Boston 2014)
My Job Is Harder Than Yours (D4D Boston 2014)My Job Is Harder Than Yours (D4D Boston 2014)
My Job Is Harder Than Yours (D4D Boston 2014)
Amazee Labs
 
The Fight Against-Divitis
The Fight Against-DivitisThe Fight Against-Divitis
The Fight Against-Divitis
Forum One
 
How to run a successful Drupal shop
How to run a successful Drupal shopHow to run a successful Drupal shop
How to run a successful Drupal shop
Amazee Labs
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
Angela Byron
 
Intro to Apache Solr for Drupal
Intro to Apache Solr for DrupalIntro to Apache Solr for Drupal
Intro to Apache Solr for Drupal
Chris Caple
 
[Srijan Wednesday Webinars] Drupal 8: Goodbye to 10 Years of Theming Headaches
[Srijan Wednesday Webinars] Drupal 8: Goodbye to 10 Years of Theming Headaches[Srijan Wednesday Webinars] Drupal 8: Goodbye to 10 Years of Theming Headaches
[Srijan Wednesday Webinars] Drupal 8: Goodbye to 10 Years of Theming Headaches
Srijan Technologies
 
Drupal commerce 2.x for Drupal 8
Drupal commerce 2.x for Drupal 8Drupal commerce 2.x for Drupal 8
Drupal commerce 2.x for Drupal 8
Iztok Smolic
 
Drupal 8 deeper dive
Drupal 8 deeper diveDrupal 8 deeper dive
Drupal 8 deeper dive
Amazee Labs
 

Viewers also liked (9)

Beating the Class out of Drupal 8: An intro to the Classy core theme
Beating the Class out of Drupal 8: An intro to the Classy core themeBeating the Class out of Drupal 8: An intro to the Classy core theme
Beating the Class out of Drupal 8: An intro to the Classy core theme
 
My Job Is Harder Than Yours (D4D Boston 2014)
My Job Is Harder Than Yours (D4D Boston 2014)My Job Is Harder Than Yours (D4D Boston 2014)
My Job Is Harder Than Yours (D4D Boston 2014)
 
The Fight Against-Divitis
The Fight Against-DivitisThe Fight Against-Divitis
The Fight Against-Divitis
 
How to run a successful Drupal shop
How to run a successful Drupal shopHow to run a successful Drupal shop
How to run a successful Drupal shop
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
Intro to Apache Solr for Drupal
Intro to Apache Solr for DrupalIntro to Apache Solr for Drupal
Intro to Apache Solr for Drupal
 
[Srijan Wednesday Webinars] Drupal 8: Goodbye to 10 Years of Theming Headaches
[Srijan Wednesday Webinars] Drupal 8: Goodbye to 10 Years of Theming Headaches[Srijan Wednesday Webinars] Drupal 8: Goodbye to 10 Years of Theming Headaches
[Srijan Wednesday Webinars] Drupal 8: Goodbye to 10 Years of Theming Headaches
 
Drupal commerce 2.x for Drupal 8
Drupal commerce 2.x for Drupal 8Drupal commerce 2.x for Drupal 8
Drupal commerce 2.x for Drupal 8
 
Drupal 8 deeper dive
Drupal 8 deeper diveDrupal 8 deeper dive
Drupal 8 deeper dive
 

Similar to Drupal 8: Most common beginner mistakes

Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015
Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015
Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015
Jeffrey McGuire
 
Making The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowMaking The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To Swallow
Philip Norton
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
Mediacurrent
 
Drupal + composer = new love !?
Drupal + composer = new love !?Drupal + composer = new love !?
Drupal + composer = new love !?
nuppla
 
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Paul McKibben
 
Drupal 8 - a peek under the hood
Drupal 8 - a peek under the hoodDrupal 8 - a peek under the hood
Drupal 8 - a peek under the hood
Hector Iribarne
 
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 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
 
The Workflow Methodology to Train Your Team on Drupal 8
The Workflow Methodology to Train Your Team on Drupal 8The Workflow Methodology to Train Your Team on Drupal 8
The Workflow Methodology to Train Your Team on Drupal 8
Acquia
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
Philip Norton
 
HTML5 Drupal Working Group
HTML5 Drupal Working GroupHTML5 Drupal Working Group
HTML5 Drupal Working Group
Jen Simmons
 
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
Srijan Technologies
 
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
DrupalCamp Kyiv
 
How to Migrate Drupal 6 to Drupal 8?
How to Migrate Drupal 6 to Drupal 8?How to Migrate Drupal 6 to Drupal 8?
How to Migrate Drupal 6 to Drupal 8?
DrupalGeeks
 
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Jake Borr
 
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Acquia
 
Introduction into Drupal site building
Introduction into Drupal site buildingIntroduction into Drupal site building
Introduction into Drupal site building
Iztok Smolic
 
Drupal6 support end on feb 24
Drupal6 support end on feb 24Drupal6 support end on feb 24
Drupal6 support end on feb 24
DrupalGeeks
 
Drupal
DrupalDrupal

Similar to Drupal 8: Most common beginner mistakes (20)

Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015
Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015
Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015
 
Making The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowMaking The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To Swallow
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
Drupal + composer = new love !?
Drupal + composer = new love !?Drupal + composer = new love !?
Drupal + composer = new love !?
 
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
 
Drupal 8 - a peek under the hood
Drupal 8 - a peek under the hoodDrupal 8 - a peek under the hood
Drupal 8 - a peek under the hood
 
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 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
 
The Workflow Methodology to Train Your Team on Drupal 8
The Workflow Methodology to Train Your Team on Drupal 8The Workflow Methodology to Train Your Team on Drupal 8
The Workflow Methodology to Train Your Team on Drupal 8
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
HTML5 Drupal Working Group
HTML5 Drupal Working GroupHTML5 Drupal Working Group
HTML5 Drupal Working Group
 
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
 
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
 
How to Migrate Drupal 6 to Drupal 8?
How to Migrate Drupal 6 to Drupal 8?How to Migrate Drupal 6 to Drupal 8?
How to Migrate Drupal 6 to Drupal 8?
 
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
 
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
 
Introduction into Drupal site building
Introduction into Drupal site buildingIntroduction into Drupal site building
Introduction into Drupal site building
 
Drupal6 support end on feb 24
Drupal6 support end on feb 24Drupal6 support end on feb 24
Drupal6 support end on feb 24
 
Drupal
DrupalDrupal
Drupal
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

Drupal 8: Most common beginner mistakes

  • 1. @agiledrop hello@agiledrop.com Drupal 8: Most Common Beginner Mistakes @iztokIztok Smolic
  • 2. @agiledrop hello@agiledrop.com Iztok Smolic iztok@agiledrop.com Follow me: @iztok AGILEDROP Ltd. hello@agiledrop.com Follow us: @agiledrop
  • 3. @agiledrop hello@agiledrop.com A smart man makes a mistake, learns from it, and never makes that mistake again. But a wise man finds a smart man and learns from him how to avoid the mistake altogether. Roy H. Williams “
  • 4. @agiledrop hello@agiledrop.com DRUPAL 7 PRESENTATION You can find the Drupal 7 version here: http://goo.gl/bHG9v2
  • 5. @agiledrop hello@agiledrop.com YOUR FIRST MISTAKE WILL BE TO THINK THAT YOU WILL DO (TOO) MANY MISTAKES I am happy to say that it was very hard to find 20 mistakes specifically for Drupal 8.
  • 6. @agiledrop hello@agiledrop.com “FROM NOW ON WE WILL BE DOING ALL PROJECTS WITH DRUPAL 8” Is Drupal 8 ready? Take the time to conduct research of release plan and progress on key modules. There is a lot less modules that support specific business logic, e.g. commerce.
  • 8. @agiledrop hello@agiledrop.com NOT USING DRUPAL 8 SOON ENOUGH Drupal 7 is a comfort zone. Whenever you are in the comfort zone it means you are not growing. Consider using Drupal 8 as investment. If that doesn’t work, try to remember how it felt when you had to support Drupal 6 site when Drupal 7 was out.
  • 10. @agiledrop hello@agiledrop.com LOOKING FOR MODULE THAT IS ALREADY IN DRUPAL 8 CORE After installing Drupal 8, you can actually setup a useful website. A list of modules and their state in Drupal 8: http://www.bluespark.com/status-top-100- contributed-modules-drupal-8
  • 11.
  • 12. @agiledrop hello@agiledrop.com NEW FOLDER STRUCTURE Where should I place modules and themes in Drupal 8? Drupal 8 has a new folder structure and once again you don’t know where to place downloaded modules.
  • 13. @agiledrop hello@agiledrop.com • /core - All files provided by core, that doesn't have an explicit reason to be in the / directory. More details futher down. • /libraries - 3rd party libraries, eg. a wysiwyg editor. • /modules - The directory into which all modules go. • /profiles - contributed and custom profiles. • /themes - contributed and custom themes • sites/[domain OR default]/{modules,themes} - Site specific modules and themes. • sites/[domain OR default]/files - Site specific files. This could be files uploaded by users, such as images. • /vendor - Backend libraries that Drupal Core depends on. (Symfony, Twig, etc)
  • 14. @agiledrop hello@agiledrop.com YOU DON’T KNOW HOW TO START LEARNING ABOUT DRUPAL 8 • Where can I find tutorials for Drupal 8 custom development? • I can’t find any documentation for Drupal 8! Start with official documentation: https://api.drupal.org/api/drupal/core %21core.api.php/group/extending/8.2.x
  • 15. @agiledrop hello@agiledrop.com Official documentation is behind, but commercial training providers are catching up. DrupalizeMe tutorials
 https://drupalize.me/guide/learn-drupal-8 Drupal 8 books:
 https://www.drupal.org/books?availability%5B %5D=38414&version%5B%5D=20236
  • 16. @agiledrop hello@agiledrop.com GET FAMILIAR WITH OOP You need a good knowledge of OOP otherwise you may stack in the first alter. It is the time to get started with OOP if you haven't already. https://buildamodule.com/collection/drupal-8- developer-prep https://www.drupal.org/getting-started-d8-bkg- prereq
  • 17. @agiledrop hello@agiledrop.com NOT USING PHP IDE You need a PHP IDE (eg PHPStorm) by default. Having OOP, PSR, Services etc make an IDE a requirement even for a front end developer. You cannot continue with an Editor.
  • 18. @agiledrop hello@agiledrop.com REVISE SERVER REQUIREMENTS, LOCAL DEVELOPMENT AND PRODUCTION • Dedicated even more resources than you did for Drupal 7 (memory_limit in particular). • Upgrade your PHP! • Everyone on your team should have exactly the same development environment.
  • 19. @agiledrop hello@agiledrop.com NOT KNOWING HOW TO DEBUG DRUPAL 8 Something in your code doesn’t work as expected, but you can’t figure out what. Module Devel is still a must have:
 https://www.drupal.org/project/devel Debug Drupal 8 with PHPstorm: http://redcrackle.com/blog/drupal-8/phpstorm
  • 20. @agiledrop hello@agiledrop.com YOU DIDN’T PROPERLY DISABLED CACHE You refresh the page … and nothing. Your beautifully written code does not run. If you don’t want to clear cache for every page refresh follow the instructions to disable Drupal 8 caching during development: https://www.drupal.org/node/2598914
  • 21. @agiledrop hello@agiledrop.com MANAGING CONFIGURATION ON PRODUCTION You made a quick fix on production and forgot to export it to Git repo. On the next deployment the config and maybe even the content are gone - for good. Config readonly module: 
 https://www.drupal.org/project/config_readonly Use files only configuration storage: 
 https://www.drupal.org/node/2416555 

  • 22. @agiledrop hello@agiledrop.com YOU MISS ALL OFF THOSE DIVS AND CLASSES THAT WE HAD IN DRUPAL 7 Some hate it, some love it - I am talking about divitis and classitis. This is now gone from Drupal 8 by default. If you want your theme to include Drupal's classes on your elements, define Classy as your base theme. https://www.drupal.org/theme-guide/8/classy
  • 23. @agiledrop hello@agiledrop.com BUT I NEED TO USE PHP IN THE TEMPLATES It has never been so obvious why we have preprocess functions. Because it’s limiting, you can do so much now.
  • 24. @agiledrop hello@agiledrop.com HOW TO FIND TEMPLATES? HOW TO LIST ALL VARIABLES INSIDE A TEMPLATE? First, enable development mode: https://www.drupal.org/ node/2598914. Use Devel (https://www.drupal.org/project/devel) and Search Kint (https://www.drupal.org/project/search_kint) to render variables inside templates.
  • 25. @agiledrop hello@agiledrop.com There is also now a Google Chrome plugin called Drupal Template Helper which moves all your Twig debug output to a Chrome web inspector tab.
  • 26. @agiledrop hello@agiledrop.com JQUERY LIBRARIES ARE NOT LOADED jQuery or any other library is not loaded on every page by default. Enable it by 
 defining it as a
 dependency.
  • 27. @agiledrop hello@agiledrop.com HAVING TOO MUCH HOPES IN QUICK EDIT Quick Edit is a great feature on paper. In reality it brings additional technical debt. When using Quick Edit consider: • Are all fields visible? • Can all fields work in a front-end widget? • How not to override Quick Edit CSS/JS? Remember Drupal’s 7 Overlay? First module to disable.
  • 28. @agiledrop hello@agiledrop.com DRUPAL 8 IS THE BEST THING SINCE SLICED BREAD >