SlideShare a Scribd company logo
1 of 49
Download to read offline
DEVEL
D8 - Release party
INTRODUCTION
ABOUT ME
➤ Luca Lusso
➤ Senior software architect at Wellnet - Italy
➤ Teacher for www.corsidrupal.it
➤ (co-)mantainer of Devel, Vardumper, Monolog, XHProf, …
➤ @lussoluca on Twitter
➤ lussoluca on drupal.org
DEVEL
Devel module turns 8!

The project began in 2003. At that time Drupal version was 4.1
Now it has reached more that 3.500.000 downloads and it runs
on more than 200.000 websites.
The actual Drupal 8 version is 1.0-RC1, the next will be the 1.0
stable!
DEVEL USAGE
MAINTAINERS
DEVEL
We’ll release the first stable version very soon!

So let’s see the new shiny features of Devel for Drupal 8.
INCLUDED SUB-
MODULES
NEW SUB-MODULES
➤ kint
➤ webprofiler
REMOVED SUB-MODULES
Devel Node Access -> now in it’s own module at https://
www.drupal.org/dna waiting for a full release for D8. Then it
will be added back to Devel.
CORE INTEGRATIONS
CORE INTEGRATIONS
Drupal 8 integrates a lot of modules that in Drupal 7 were
contrib.
The new Devel leverages those modules to provide information
and new features to developers.
TOOLBAR
TOOLBAR
➤ Devel is now directly integrated into the core Toolbar module
➤ Visible links are configurable
➤ When in vertical mode the Toolbar shows links to all the
available features
SERVICES, ROUTING AND EVENTS
Drupal 8 adds a lot of new concepts and structures that
developers needs to understand in order to build new modules.
Devel now provides report pages for services, routing, events
and many more.
SERVICES, ROUTING AND EVENTS
SERVICES, ROUTING AND EVENTS
SERVICES, ROUTING AND EVENTS
MANAGE CONFIGURATION AND STATE
Goodby Variables API, welcome Configuration Management
System and State API!
You can use Devel to inspect and edit both systems.
MANAGE CONFIGURATION AND STATE
MANAGE CONFIGURATION AND STATE
ALL FEATURES
➤ Cache clear
➤ Config editor
➤ Container Info
➤ Current route info
➤ Element Info
➤ Entity Info
➤ Events Info
➤ Execute PHP
➤ Field Info
➤ PHPinfo()
➤ Rebuild Menu
➤ Reinstall Modules • Routes Info
➤ Run cron
➤ State editor
➤ Theme registry
➤ View Session
SWITCH USERS
As in Drupal 7, Devel provides a block that allows a quick
switch between users.
SWITCH USERS
TWIG EXTENSIONS
The Twig engine in core allows module developers to add new
functions and filters to be used in templates (http://
twig.sensiolabs.org/doc/2.x/advanced.html).
Devel adds three new Twig functions for template developers:
➤ devel_dump($var)
➤ devel_message($var)
➤ devel_breakpoint()
DEVEL_DUMP
Prints a complex data structure in a pretty way, the same as PHP
function kpr().
Without arguments devel_dump display the full Twig context.
DEVEL_DUMP
DEVEL_MESSAGE
Prints a complex data structure in a pretty way in the message
area, the same as PHP function dpm().
Without arguments devel_message display the full Twig context.
DEVEL_MESSAGE
DEVEL_BREAKPOINT
Forces the PHP interpreter to stop the same way as setting a
breakpoint in an IDE.
Available variables are in $context array. Actually it works only
with xDebug.
DEVEL_BREAKPOINT
Quick live demo
DUMPERS
DUMPERS
Devel now provides a way to replace the tool used for formatting
and displaying the variables inspected through the debug
functions.
Dumpers are implemented using the new plugin system in core.
Some of these plugins require external libraries for to be
enabled. Those libraries have to be installed with Composer.
AVAILABLE DUMPERS
Doctrine debug (the default one)
uses DoctrineCommonPersistenceProxyDebug class
Drupal variable
uses DrupalComponentUtilityVariable class
Symfony var-dumper
uses SymfonyComponentVarDumperDumperHtmlDumper class
ChromePHP
uses the ChromePhp debugging tool
FirePHP
uses the FirePhp debugging tool
Kint (in a sub-module, needs to be enabled)
uses DrupalkintPluginDevelDumperKint class
DOCTRINE DEBUG
DRUPAL VARIABLE
SYMFONY VAR-DUMPER
SYMFONY VAR-DUMPER
If vardumper module is present and enabled the class used by
the dumper became:
DrupalvardumperPluginDevelDumperVarDumper
which provides more integration with Drupal data structures:
➤ class names becomes links to the relative class in IDE (if
configured)
➤ user roles becomes link the role edit page
➤ more to come…
KINT
ADD A DUMPER
Dumpers are plugins, contrib modules can add new dumpers to
the system:
ExampleDumper.php has to be in the
PluginDevelDumpernamespace
ADD A DUMPER
Every dumpers needs to implement the DevelDumperInterface
interface, or extend the DevelDumperBase class:
WEBPROFILER
WEBPROFILER
The old Devel query logger and memory profiler has been
removed in favour of a new sub-module: Webprofiler
REALTIME DATA
The report pages that Devel shows about services, routing and
so on, lists all data available in a Drupal website.
Webprofiler instead collects data about the rendered page, so it
is useful to measure performance data and to debug every single
response.
AVAILABLE DATA COLLECTORS - 1
➤ Assets
➤ Blocks
➤ Cache
➤ Config
➤ Database
➤ Devel
➤ Events
➤ Extensions
➤ Forms
➤ Http
➤ Mail
AVAILABLE DATA COLLECTORS - 2
➤ PHP Config
➤ Performance Timing
➤ Request
➤ Routing
➤ Services
➤ State
➤ Theme
➤ Timeline
➤ User
➤ Views
WEBPROFILER
Quick live demo
INTEGRATION WITH XHPROF
Webprofiler collects high level Drupal data structure. If we need
PHP function level data we need a hierarchical profiler like
XHProf (or Tideways for PHP > 7.x)
The Drupal XHProf module adds a new data collector for
Webprofiler
CALL FOR VOLUNTEERS
Do you want to contribute to Devel? We need help for
development, testing, documentation, UX.
What are you waiting for? Contact us!

More Related Content

What's hot

Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and moreAcquia
 
Building a Drupal site with Git
Building a Drupal site with GitBuilding a Drupal site with Git
Building a Drupal site with Gitdirtytactics
 
Managing your Drupal project with Composer
Managing your Drupal project with ComposerManaging your Drupal project with Composer
Managing your Drupal project with ComposerMatt Glaman
 
Composer JSON kills make files
Composer JSON kills make filesComposer JSON kills make files
Composer JSON kills make filesropsu
 
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationIBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationDevelopment Seed
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushPantheon
 
NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6Kostas Saidis
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAJesus Manuel Olivas
 
Using Composer with Drupal and Drush
Using Composer with Drupal and DrushUsing Composer with Drupal and Drush
Using Composer with Drupal and DrushPantheon
 
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...Erich Beyrent
 
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...Alkacon Software GmbH & Co. KG
 
Drupalhagen 2014 kiss omg ftw
Drupalhagen 2014   kiss omg ftwDrupalhagen 2014   kiss omg ftw
Drupalhagen 2014 kiss omg ftwArne Jørgensen
 
DevTools Package Development
 DevTools Package Development DevTools Package Development
DevTools Package DevelopmentSagar Deogirkar
 
Terminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interfaceTerminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interfaceJon Peck
 
Getting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydbGetting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydbGirish Bapat
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Aleksey Tkachenko
 

What's hot (20)

Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and more
 
Building a Drupal site with Git
Building a Drupal site with GitBuilding a Drupal site with Git
Building a Drupal site with Git
 
Ansible project-deploy
Ansible project-deployAnsible project-deploy
Ansible project-deploy
 
Managing your Drupal project with Composer
Managing your Drupal project with ComposerManaging your Drupal project with Composer
Managing your Drupal project with Composer
 
Keep calm and vagrant up
Keep calm and vagrant upKeep calm and vagrant up
Keep calm and vagrant up
 
Composer JSON kills make files
Composer JSON kills make filesComposer JSON kills make files
Composer JSON kills make files
 
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationIBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
 
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
 
NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
 
Using Composer with Drupal and Drush
Using Composer with Drupal and DrushUsing Composer with Drupal and Drush
Using Composer with Drupal and Drush
 
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
 
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
 
Drupalhagen 2014 kiss omg ftw
Drupalhagen 2014   kiss omg ftwDrupalhagen 2014   kiss omg ftw
Drupalhagen 2014 kiss omg ftw
 
Flyway
FlywayFlyway
Flyway
 
DevTools Package Development
 DevTools Package Development DevTools Package Development
DevTools Package Development
 
Terminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interfaceTerminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interface
 
Getting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydbGetting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydb
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...
 

Viewers also liked

条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化Takuya Ueda
 
第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51civicpg
 
HoloLens x Graphics 入門
HoloLens x Graphics 入門HoloLens x Graphics 入門
HoloLens x Graphics 入門hecomi
 
The Marketer's Guide To Customer Interviews
The Marketer's Guide To Customer InterviewsThe Marketer's Guide To Customer Interviews
The Marketer's Guide To Customer InterviewsGood Funnel
 
The Be-All, End-All List of Small Business Tax Deductions
The Be-All, End-All List of Small Business Tax DeductionsThe Be-All, End-All List of Small Business Tax Deductions
The Be-All, End-All List of Small Business Tax DeductionsWagepoint
 
PET Grammar Unit 14: use to & would, too & enough, order of adjectives
PET Grammar Unit 14: use to &  would,    too & enough,  order of adjectivesPET Grammar Unit 14: use to &  would,    too & enough,  order of adjectives
PET Grammar Unit 14: use to & would, too & enough, order of adjectivesMatfermar marin
 
The greatest tragedy of western front pakistani stupidity at its lowest height
The greatest tragedy of western front   pakistani stupidity at its lowest heightThe greatest tragedy of western front   pakistani stupidity at its lowest height
The greatest tragedy of western front pakistani stupidity at its lowest heightAgha A
 
Gustavo Germano Proyecto Ausencias
Gustavo Germano Proyecto AusenciasGustavo Germano Proyecto Ausencias
Gustavo Germano Proyecto AusenciasMonica Oporto
 
3行ラベリングの勧め
3行ラベリングの勧め3行ラベリングの勧め
3行ラベリングの勧めMizuhiro Kaimai
 
What am i buying understanding website cost and technology 17 ntc
What am i buying   understanding website cost and technology 17 ntcWhat am i buying   understanding website cost and technology 17 ntc
What am i buying understanding website cost and technology 17 ntcIan Mariano
 
New base 1014 special 26 march 2017 energy news
New base 1014 special 26 march 2017 energy newsNew base 1014 special 26 march 2017 energy news
New base 1014 special 26 march 2017 energy newsKhaled Al Awadi
 
Boostez votre carrière avec AXA ! - Épisode 1 : LinkedIn
Boostez votre carrière avec AXA ! - Épisode 1 : LinkedInBoostez votre carrière avec AXA ! - Épisode 1 : LinkedIn
Boostez votre carrière avec AXA ! - Épisode 1 : LinkedInAXA en France
 
Feeding Florida Together flyer
Feeding Florida Together flyer Feeding Florida Together flyer
Feeding Florida Together flyer Sheila Cassidy
 
What Makes Stanford Special
What Makes Stanford SpecialWhat Makes Stanford Special
What Makes Stanford SpecialChris Yeh
 
El trastorno mental del Omelette
El trastorno mental del OmeletteEl trastorno mental del Omelette
El trastorno mental del OmeletteAlberto Levy
 
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれいまさら聞けないselectあれこれ
いまさら聞けないselectあれこれlestrrat
 
Marketing for Nerds with Diane Kinney and Carrie DIls
Marketing for Nerds with Diane Kinney and Carrie DIlsMarketing for Nerds with Diane Kinney and Carrie DIls
Marketing for Nerds with Diane Kinney and Carrie DIlsCarrie Dils
 
ドローン農業最前線
ドローン農業最前線ドローン農業最前線
ドローン農業最前線tetsuya furukawa
 
The IoT Conversation
The IoT ConversationThe IoT Conversation
The IoT ConversationMatt Biddulph
 

Viewers also liked (20)

条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化
 
第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51
 
HoloLens x Graphics 入門
HoloLens x Graphics 入門HoloLens x Graphics 入門
HoloLens x Graphics 入門
 
The Marketer's Guide To Customer Interviews
The Marketer's Guide To Customer InterviewsThe Marketer's Guide To Customer Interviews
The Marketer's Guide To Customer Interviews
 
The Be-All, End-All List of Small Business Tax Deductions
The Be-All, End-All List of Small Business Tax DeductionsThe Be-All, End-All List of Small Business Tax Deductions
The Be-All, End-All List of Small Business Tax Deductions
 
PET Grammar Unit 14: use to & would, too & enough, order of adjectives
PET Grammar Unit 14: use to &  would,    too & enough,  order of adjectivesPET Grammar Unit 14: use to &  would,    too & enough,  order of adjectives
PET Grammar Unit 14: use to & would, too & enough, order of adjectives
 
The greatest tragedy of western front pakistani stupidity at its lowest height
The greatest tragedy of western front   pakistani stupidity at its lowest heightThe greatest tragedy of western front   pakistani stupidity at its lowest height
The greatest tragedy of western front pakistani stupidity at its lowest height
 
Gustavo Germano Proyecto Ausencias
Gustavo Germano Proyecto AusenciasGustavo Germano Proyecto Ausencias
Gustavo Germano Proyecto Ausencias
 
3行ラベリングの勧め
3行ラベリングの勧め3行ラベリングの勧め
3行ラベリングの勧め
 
What am i buying understanding website cost and technology 17 ntc
What am i buying   understanding website cost and technology 17 ntcWhat am i buying   understanding website cost and technology 17 ntc
What am i buying understanding website cost and technology 17 ntc
 
New base 1014 special 26 march 2017 energy news
New base 1014 special 26 march 2017 energy newsNew base 1014 special 26 march 2017 energy news
New base 1014 special 26 march 2017 energy news
 
Boostez votre carrière avec AXA ! - Épisode 1 : LinkedIn
Boostez votre carrière avec AXA ! - Épisode 1 : LinkedInBoostez votre carrière avec AXA ! - Épisode 1 : LinkedIn
Boostez votre carrière avec AXA ! - Épisode 1 : LinkedIn
 
Feeding Florida Together flyer
Feeding Florida Together flyer Feeding Florida Together flyer
Feeding Florida Together flyer
 
What Makes Stanford Special
What Makes Stanford SpecialWhat Makes Stanford Special
What Makes Stanford Special
 
El trastorno mental del Omelette
El trastorno mental del OmeletteEl trastorno mental del Omelette
El trastorno mental del Omelette
 
Mindmapping
MindmappingMindmapping
Mindmapping
 
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれいまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
 
Marketing for Nerds with Diane Kinney and Carrie DIls
Marketing for Nerds with Diane Kinney and Carrie DIlsMarketing for Nerds with Diane Kinney and Carrie DIls
Marketing for Nerds with Diane Kinney and Carrie DIls
 
ドローン農業最前線
ドローン農業最前線ドローン農業最前線
ドローン農業最前線
 
The IoT Conversation
The IoT ConversationThe IoT Conversation
The IoT Conversation
 

Similar to Devel for Drupal 8

[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release party[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release partyWellnet srl
 
Drupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 MigrationDrupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 MigrationAmeex Technologies
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with DrupalRob Sawyer
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Ricardo Amaro
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Anne Tomasevich
 
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
 
DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8DrupalDay
 
Drupal Migrations in 2018
Drupal Migrations in 2018Drupal Migrations in 2018
Drupal Migrations in 2018Pantheon
 
Hands on Docker - Launch your own LEMP or LAMP stack
Hands on Docker -  Launch your own LEMP or LAMP stackHands on Docker -  Launch your own LEMP or LAMP stack
Hands on Docker - Launch your own LEMP or LAMP stackDana Luther
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataInfluxData
 
Drupal development, deployment, and automation with Puppet
Drupal development, deployment, and automation with PuppetDrupal development, deployment, and automation with Puppet
Drupal development, deployment, and automation with PuppetPuppet
 
Architecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampArchitecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampDipen Chaudhary
 
Face your fears: Drush and Aegir
Face your fears: Drush and AegirFace your fears: Drush and Aegir
Face your fears: Drush and AegirIztok Smolic
 
Drupal 8 - Corso frontend development
Drupal 8 - Corso frontend developmentDrupal 8 - Corso frontend development
Drupal 8 - Corso frontend developmentsparkfabrik
 
Tips and tricks for building Large web applications with Drupal
Tips and tricks for building Large web applications with DrupalTips and tricks for building Large web applications with Drupal
Tips and tricks for building Large web applications with DrupalMitzaCeusan
 
Drupal
DrupalDrupal
Drupalbtopro
 
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
 
Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Phase2
 

Similar to Devel for Drupal 8 (20)

[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release party[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release party
 
Drupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 MigrationDrupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 Migration
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in 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?
How to Migrate Drupal 6 to Drupal 8?
 
DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8
 
Drupal Migrations in 2018
Drupal Migrations in 2018Drupal Migrations in 2018
Drupal Migrations in 2018
 
Hands on Docker - Launch your own LEMP or LAMP stack
Hands on Docker -  Launch your own LEMP or LAMP stackHands on Docker -  Launch your own LEMP or LAMP stack
Hands on Docker - Launch your own LEMP or LAMP stack
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
 
Drupal development, deployment, and automation with Puppet
Drupal development, deployment, and automation with PuppetDrupal development, deployment, and automation with Puppet
Drupal development, deployment, and automation with Puppet
 
Architecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampArchitecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal Camp
 
Face your fears: Drush and Aegir
Face your fears: Drush and AegirFace your fears: Drush and Aegir
Face your fears: Drush and Aegir
 
Drupal6 and Drupal 7 difference
Drupal6 and Drupal 7 differenceDrupal6 and Drupal 7 difference
Drupal6 and Drupal 7 difference
 
Drupal 8 - Corso frontend development
Drupal 8 - Corso frontend developmentDrupal 8 - Corso frontend development
Drupal 8 - Corso frontend development
 
Drupal Modules
Drupal ModulesDrupal Modules
Drupal Modules
 
Tips and tricks for building Large web applications with Drupal
Tips and tricks for building Large web applications with DrupalTips and tricks for building Large web applications with Drupal
Tips and tricks for building Large web applications with Drupal
 
Drupal
DrupalDrupal
Drupal
 
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
 
Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7
 

Recently uploaded

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

Devel for Drupal 8

  • 3. ABOUT ME ➤ Luca Lusso ➤ Senior software architect at Wellnet - Italy ➤ Teacher for www.corsidrupal.it ➤ (co-)mantainer of Devel, Vardumper, Monolog, XHProf, … ➤ @lussoluca on Twitter ➤ lussoluca on drupal.org
  • 4. DEVEL Devel module turns 8!
 The project began in 2003. At that time Drupal version was 4.1 Now it has reached more that 3.500.000 downloads and it runs on more than 200.000 websites. The actual Drupal 8 version is 1.0-RC1, the next will be the 1.0 stable!
  • 7. DEVEL We’ll release the first stable version very soon!
 So let’s see the new shiny features of Devel for Drupal 8.
  • 10. REMOVED SUB-MODULES Devel Node Access -> now in it’s own module at https:// www.drupal.org/dna waiting for a full release for D8. Then it will be added back to Devel.
  • 12. CORE INTEGRATIONS Drupal 8 integrates a lot of modules that in Drupal 7 were contrib. The new Devel leverages those modules to provide information and new features to developers.
  • 14. TOOLBAR ➤ Devel is now directly integrated into the core Toolbar module ➤ Visible links are configurable ➤ When in vertical mode the Toolbar shows links to all the available features
  • 15. SERVICES, ROUTING AND EVENTS Drupal 8 adds a lot of new concepts and structures that developers needs to understand in order to build new modules. Devel now provides report pages for services, routing, events and many more.
  • 19. MANAGE CONFIGURATION AND STATE Goodby Variables API, welcome Configuration Management System and State API! You can use Devel to inspect and edit both systems.
  • 22. ALL FEATURES ➤ Cache clear ➤ Config editor ➤ Container Info ➤ Current route info ➤ Element Info ➤ Entity Info ➤ Events Info ➤ Execute PHP ➤ Field Info ➤ PHPinfo() ➤ Rebuild Menu ➤ Reinstall Modules • Routes Info ➤ Run cron ➤ State editor ➤ Theme registry ➤ View Session
  • 23. SWITCH USERS As in Drupal 7, Devel provides a block that allows a quick switch between users.
  • 25. TWIG EXTENSIONS The Twig engine in core allows module developers to add new functions and filters to be used in templates (http:// twig.sensiolabs.org/doc/2.x/advanced.html). Devel adds three new Twig functions for template developers: ➤ devel_dump($var) ➤ devel_message($var) ➤ devel_breakpoint()
  • 26. DEVEL_DUMP Prints a complex data structure in a pretty way, the same as PHP function kpr(). Without arguments devel_dump display the full Twig context.
  • 28. DEVEL_MESSAGE Prints a complex data structure in a pretty way in the message area, the same as PHP function dpm(). Without arguments devel_message display the full Twig context.
  • 30. DEVEL_BREAKPOINT Forces the PHP interpreter to stop the same way as setting a breakpoint in an IDE. Available variables are in $context array. Actually it works only with xDebug.
  • 33. DUMPERS Devel now provides a way to replace the tool used for formatting and displaying the variables inspected through the debug functions. Dumpers are implemented using the new plugin system in core. Some of these plugins require external libraries for to be enabled. Those libraries have to be installed with Composer.
  • 34. AVAILABLE DUMPERS Doctrine debug (the default one) uses DoctrineCommonPersistenceProxyDebug class Drupal variable uses DrupalComponentUtilityVariable class Symfony var-dumper uses SymfonyComponentVarDumperDumperHtmlDumper class ChromePHP uses the ChromePhp debugging tool FirePHP uses the FirePhp debugging tool Kint (in a sub-module, needs to be enabled) uses DrupalkintPluginDevelDumperKint class
  • 38. SYMFONY VAR-DUMPER If vardumper module is present and enabled the class used by the dumper became: DrupalvardumperPluginDevelDumperVarDumper which provides more integration with Drupal data structures: ➤ class names becomes links to the relative class in IDE (if configured) ➤ user roles becomes link the role edit page ➤ more to come…
  • 39. KINT
  • 40. ADD A DUMPER Dumpers are plugins, contrib modules can add new dumpers to the system: ExampleDumper.php has to be in the PluginDevelDumpernamespace
  • 41. ADD A DUMPER Every dumpers needs to implement the DevelDumperInterface interface, or extend the DevelDumperBase class:
  • 43. WEBPROFILER The old Devel query logger and memory profiler has been removed in favour of a new sub-module: Webprofiler
  • 44. REALTIME DATA The report pages that Devel shows about services, routing and so on, lists all data available in a Drupal website. Webprofiler instead collects data about the rendered page, so it is useful to measure performance data and to debug every single response.
  • 45. AVAILABLE DATA COLLECTORS - 1 ➤ Assets ➤ Blocks ➤ Cache ➤ Config ➤ Database ➤ Devel ➤ Events ➤ Extensions ➤ Forms ➤ Http ➤ Mail
  • 46. AVAILABLE DATA COLLECTORS - 2 ➤ PHP Config ➤ Performance Timing ➤ Request ➤ Routing ➤ Services ➤ State ➤ Theme ➤ Timeline ➤ User ➤ Views
  • 48. INTEGRATION WITH XHPROF Webprofiler collects high level Drupal data structure. If we need PHP function level data we need a hierarchical profiler like XHProf (or Tideways for PHP > 7.x) The Drupal XHProf module adds a new data collector for Webprofiler
  • 49. CALL FOR VOLUNTEERS Do you want to contribute to Devel? We need help for development, testing, documentation, UX. What are you waiting for? Contact us!