SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
@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

Weitere ähnliche Inhalte

Was ist angesagt?

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 SupportAcquia
 
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 ConceptsMicky Metts
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupalmayank.grd
 
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 DrupalVibrant Technologies & Computers
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupalsdmaxey
 
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 8Suzanne 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 2017Michael 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 MinutesAcquia
 
Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginnerseverlearner
 
Introduction to drupal
Introduction to drupalIntroduction to drupal
Introduction to drupalmayank.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 OverviewItalo 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 & Businesseseverlearner
 
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 AdministrationDrupalMumbai
 

Was ist angesagt? (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
 

Andere mochten auch

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 themeCoLab 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-DivitisForum 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 shopAmazee Labs
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Angela Byron
 
Intro to Apache Solr for Drupal
Intro to Apache Solr for DrupalIntro to Apache Solr for Drupal
Intro to Apache Solr for DrupalChris 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 HeadachesSrijan 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 8Iztok Smolic
 
Drupal 8 deeper dive
Drupal 8 deeper diveDrupal 8 deeper dive
Drupal 8 deeper diveAmazee Labs
 

Andere mochten auch (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
 

Ähnlich wie 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 2015Jeffrey 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 SwallowPhilip 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 FrameworkMediacurrent
 
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 2016Paul 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 hoodHector 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 DebunkedAngela 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 8Acquia
 
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 8Acquia
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master BuilderPhilip Norton
 
HTML5 Drupal Working Group
HTML5 Drupal Working GroupHTML5 Drupal Working Group
HTML5 Drupal Working GroupJen 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 8Srijan 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 8Acquia
 
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 8Jake Borr
 
Introduction into Drupal site building
Introduction into Drupal site buildingIntroduction into Drupal site building
Introduction into Drupal site buildingIztok Smolic
 
Drupal6 support end on feb 24
Drupal6 support end on feb 24Drupal6 support end on feb 24
Drupal6 support end on feb 24DrupalGeeks
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Kürzlich hochgeladen (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

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 >