SlideShare a Scribd company logo
Drupal 8 Improvements for
Developer Productivity:
PHP, Symfony, and More
Who am I?
Ron Northcutt
Solutions Architect, Acquia
● using Drupal since 4.7 (circa 2006)
● freelance developer
● small dev shop
● sr. developer & tech lead
● solutions architect
Find me online:
https://www.drupal.org/u/rlnorthcutt
https://www.linkedin.com/in/rlnorthcutt
https://twitter.com/rlnorthcutt
https://plus.google.com/+RonNorthcutt
Agenda
● Setup all the dev tools
● Review CLI commands
● Create a sample module
● Explore tools
● Chrome extensions
Setup
DD2 and PHPStorm 1/7
● Dev Desktop 2
https://www.acquia.com/products-services/dev-desktop
○ full LAMP stack with configurable PHP versions
○ includes drush
○ includes PHPMyAdmin
○ integration with Acquia Cloud
● PHPStorm
http://www.jetbrains.com/phpstorm/
○ free 30 day trial then $90, or
○ possible free license for OSS projects
○ http://confluence.jetbrains.com/display/PhpStorm/Drupal+Development+using+PhpStorm
Xdebug 2/7
Xdebug setup instructions: https://docs.acquia.com/dev-desktop/sites/phpstorm
1. Edit php.ini
2. Restart apache
3. Configure PHPStorm to use Xdebug
4. Add your site as a project
5. Configure remote debug
Drupal Console 3/7
Drupal console setup instructions: https://drupalconsole.com/
1. Download the latest Console version:
curl https://drupalconsole.com/installer -L -o drupal.phar
2. Make it accessible anywhere on your system:
mv drupal.phar /usr/local/bin/drupal
3. Apply executable permissions on the downloaded file:
chmod +x /usr/local/bin/drupal
4. Copy configuration files to user home directory:
drupal init [--override]
5. List all available commands:
drupal list
Composer Manager 4/7
Composer Manager project page:
https://www.drupal.org/project/composer_manager
“Composer expects each project (Drupal installation, in our case) to have a single composer.json file
listing all required packages. Composer Manager allows each contributed module to ship with its own
composer.json file, listing the module-specific requirements. It then merges the requirements of all
found modules into the consolidated composer.json file. This results in a single vendor/ directory shared
across all modules which prevents code duplication and version mismatches.”
1. drush dl composer_manager -y
2. drush en composer_manager -y
3. composer drupal-update --no-dev
Devel and Webprofiler 5/7
Devel project page:
https://www.drupal.org/project/devel
Devel
Helper functions for Drupal developers and inquisitive admins. Enable the included Kint submodule as for pretty print of
variables. kint($array) function is provided, which pretty prints arrays. Useful during development. Similarly, a
ddebug_backtrace() is offered.
WebProfiler (D8+)
Add a powerful footer to all pages of your site. There, admins can review resource utilization, cache effectiveness,
database queries, Views, and so much more.
1. drush dl devel -y
2. drush en devel webprofiler -y
3. optional : install additional js libraries for webprofiler (see status page)
Xhprof 6/7
Xhprof setup instructions: https://docs.acquia.com/articles/xhprof-acquia-dev-
desktop-mac-osx
1. Edit php.ini
2. Restart apache
3. Create output directory for data
4. Install and enable the xhprof module
5. Configure the module
Chrome Extensions 7/7
1. Setup PHPStorm Xdebug Chrome extension
https://confluence.jetbrains.
com/display/PhpStorm/Configure+Xdebug+Helper+for+Chrome+to+be+used+
with+PhpStorm
2. Setup Acquia Log Viewer Chrome extension
https://dev.acquia.com/blog/announcing-the-acquia-cloud-log-streaming-
chrome-extension/11/01/2016/8396
CLI
Commands
Drush
● update core and contrib
● download modules
● enable modules
● clear cache
● update db
● run cron
● import config
● export config
● create user
● change password
● one time login
● backup drupal
● restore drupal
● compile twig templates
● type “drush” to get a full list
● http://www.drushcommands.com/
Drupal Console
● update modules and core
● download modules
● enable modules
● clear cache
● update db
● run cron
● import config
● export config
● generate console command
● generate entity
● generate content type
● generate module
● run unit tests
● type “drupal list” for a full list
● https://drupalconsole.com/docs
Create
module and
entity
Test out
tools
Homework
This webinar is intended to introduce you to these developer tools, and help you get them setup for
your use. However, there is still plenty of work you need to do to learn how to use them. Some
suggested homework to help you:
● Start using these tools in your daily work
● Help to test and port modules
● Create a new module or theme
● Help someone else get these tools setup
● Dive into PHPStorm’s features
● Learn one new CLI command a day
● Blog about your experiences
● Present a session at a DUG or Camp
Thank you!
Ad

Recommended

Drupal + composer = new love !?
Drupal + composer = new love !?
nuppla
 
Efficient development workflows with composer
Efficient development workflows with composer
nuppla
 
Efficient development workflows with composer
Efficient development workflows with composer
nuppla
 
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
DrupalCamp Kyiv
 
Upgrading to Drupal 9
Upgrading to Drupal 9
DrupalCamp Kyiv
 
Acquia BLT for the Win, or How to speed up the project setup, development an...
Acquia BLT for the Win, or How to speed up the project setup, development an...
DrupalCamp Kyiv
 
Docker, Ansible and Symfony micro-kernel
Docker, Ansible and Symfony micro-kernel
DrupalCamp Kyiv
 
[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party
DrupalDay
 
OpenCms Days 2013 - Start rolling with OpenCms 9
OpenCms Days 2013 - Start rolling with OpenCms 9
Alkacon Software GmbH & Co. KG
 
Composer and deployer for enterprise
Composer and deployer for enterprise
Elena Pustovoit
 
OpenCms Days 2013 - How to update smoothly to OpenCms 9ms 9
OpenCms Days 2013 - How to update smoothly to OpenCms 9ms 9
Alkacon Software GmbH & Co. KG
 
Terminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interface
Jon Peck
 
Magento 2 Capistrano Deploy
Magento 2 Capistrano Deploy
Duke Dao
 
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
OpenCms
 
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?
Alkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - Updating to OpenCms 9.5
OpenCms Days 2014 - Updating to OpenCms 9.5
Alkacon Software GmbH & Co. KG
 
OpenCmsDays 2013 - Using OpenCms 9 folders as a network drive
OpenCmsDays 2013 - Using OpenCms 9 folders as a network drive
Alkacon Software GmbH & Co. KG
 
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
 
Using Composer with Drupal and Drush
Using Composer with Drupal and Drush
Pantheon
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
Pantheon
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
DrupalDay
 
Drush for humans - SANDcamp 2013
Drush for humans - SANDcamp 2013
Jon Peck
 
Gulp and bower Implementation
Gulp and bower Implementation
Prashant Shrestha
 
Devel for Drupal 8
Devel for Drupal 8
Luca Lusso
 
DevHub 3 - Composer plus Magento
DevHub 3 - Composer plus Magento
Magento Dev
 
Dependency management in Magento with Composer
Dependency management in Magento with Composer
Manuele Menozzi
 
Drupal Developer Days Keynote
Drupal Developer Days Keynote
Angela Byron
 
Continuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e Jenkins
Bruno Padilha
 
Presentació Web de Sant Climent de Llobregat a Drupal.cat
Presentació Web de Sant Climent de Llobregat a Drupal.cat
Atenea tech
 
Why Drupal 8? Why now? FEB/MAR 2015
Why Drupal 8? Why now? FEB/MAR 2015
Jeffrey McGuire
 

More Related Content

What's hot (20)

OpenCms Days 2013 - Start rolling with OpenCms 9
OpenCms Days 2013 - Start rolling with OpenCms 9
Alkacon Software GmbH & Co. KG
 
Composer and deployer for enterprise
Composer and deployer for enterprise
Elena Pustovoit
 
OpenCms Days 2013 - How to update smoothly to OpenCms 9ms 9
OpenCms Days 2013 - How to update smoothly to OpenCms 9ms 9
Alkacon Software GmbH & Co. KG
 
Terminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interface
Jon Peck
 
Magento 2 Capistrano Deploy
Magento 2 Capistrano Deploy
Duke Dao
 
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
OpenCms
 
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?
Alkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - Updating to OpenCms 9.5
OpenCms Days 2014 - Updating to OpenCms 9.5
Alkacon Software GmbH & Co. KG
 
OpenCmsDays 2013 - Using OpenCms 9 folders as a network drive
OpenCmsDays 2013 - Using OpenCms 9 folders as a network drive
Alkacon Software GmbH & Co. KG
 
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
 
Using Composer with Drupal and Drush
Using Composer with Drupal and Drush
Pantheon
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
Pantheon
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
DrupalDay
 
Drush for humans - SANDcamp 2013
Drush for humans - SANDcamp 2013
Jon Peck
 
Gulp and bower Implementation
Gulp and bower Implementation
Prashant Shrestha
 
Devel for Drupal 8
Devel for Drupal 8
Luca Lusso
 
DevHub 3 - Composer plus Magento
DevHub 3 - Composer plus Magento
Magento Dev
 
Dependency management in Magento with Composer
Dependency management in Magento with Composer
Manuele Menozzi
 
Drupal Developer Days Keynote
Drupal Developer Days Keynote
Angela Byron
 
Continuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e Jenkins
Bruno Padilha
 
Composer and deployer for enterprise
Composer and deployer for enterprise
Elena Pustovoit
 
OpenCms Days 2013 - How to update smoothly to OpenCms 9ms 9
OpenCms Days 2013 - How to update smoothly to OpenCms 9ms 9
Alkacon Software GmbH & Co. KG
 
Terminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interface
Jon Peck
 
Magento 2 Capistrano Deploy
Magento 2 Capistrano Deploy
Duke Dao
 
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
OpenCms Days 2015: Keynote - OpenCms 10 X marks the spot
OpenCms
 
OpenCmsDays 2013 - Using OpenCms 9 folders as a network drive
OpenCmsDays 2013 - Using OpenCms 9 folders as a network drive
Alkacon Software GmbH & Co. KG
 
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
 
Using Composer with Drupal and Drush
Using Composer with Drupal and Drush
Pantheon
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
Pantheon
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
DrupalDay
 
Drush for humans - SANDcamp 2013
Drush for humans - SANDcamp 2013
Jon Peck
 
Gulp and bower Implementation
Gulp and bower Implementation
Prashant Shrestha
 
Devel for Drupal 8
Devel for Drupal 8
Luca Lusso
 
DevHub 3 - Composer plus Magento
DevHub 3 - Composer plus Magento
Magento Dev
 
Dependency management in Magento with Composer
Dependency management in Magento with Composer
Manuele Menozzi
 
Drupal Developer Days Keynote
Drupal Developer Days Keynote
Angela Byron
 
Continuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e Jenkins
Bruno Padilha
 

Viewers also liked (14)

Presentació Web de Sant Climent de Llobregat a Drupal.cat
Presentació Web de Sant Climent de Llobregat a Drupal.cat
Atenea tech
 
Why Drupal 8? Why now? FEB/MAR 2015
Why Drupal 8? Why now? FEB/MAR 2015
Jeffrey McGuire
 
Fundacio Cim Drupal Camp 2010
Fundacio Cim Drupal Camp 2010
Atenea tech
 
¿Qué es drupal?
¿Qué es drupal?
Atenea tech
 
Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8
Acquia
 
The Future of a Content-Driven World: How To Prepare Your Team
The Future of a Content-Driven World: How To Prepare Your Team
Acquia
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
Acquia
 
Acquia Content Hub: Connect Technologies & Extend Systems to Source Content
Acquia Content Hub: Connect Technologies & Extend Systems to Source Content
Acquia
 
Drupal 8 Quick Start: An Overview of Lightning
Drupal 8 Quick Start: An Overview of Lightning
Acquia
 
Lightning Distribution for Drupal: Build Advanced Authoring Experiences in Dr...
Lightning Distribution for Drupal: Build Advanced Authoring Experiences in Dr...
Acquia
 
Business Benefits of Drupal 8: Empower Digital Innovation with the Newest Ver...
Business Benefits of Drupal 8: Empower Digital Innovation with the Newest Ver...
Acquia
 
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital Business
Acquia
 
Drupal 8 - A Brief Introduction
Drupal 8 - A Brief Introduction
Jeff Geerling
 
Why Drupal 8 Is a Game Changer for Higher Education
Why Drupal 8 Is a Game Changer for Higher Education
Acquia
 
Presentació Web de Sant Climent de Llobregat a Drupal.cat
Presentació Web de Sant Climent de Llobregat a Drupal.cat
Atenea tech
 
Why Drupal 8? Why now? FEB/MAR 2015
Why Drupal 8? Why now? FEB/MAR 2015
Jeffrey McGuire
 
Fundacio Cim Drupal Camp 2010
Fundacio Cim Drupal Camp 2010
Atenea tech
 
¿Qué es drupal?
¿Qué es drupal?
Atenea tech
 
Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8
Acquia
 
The Future of a Content-Driven World: How To Prepare Your Team
The Future of a Content-Driven World: How To Prepare Your Team
Acquia
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
Acquia
 
Acquia Content Hub: Connect Technologies & Extend Systems to Source Content
Acquia Content Hub: Connect Technologies & Extend Systems to Source Content
Acquia
 
Drupal 8 Quick Start: An Overview of Lightning
Drupal 8 Quick Start: An Overview of Lightning
Acquia
 
Lightning Distribution for Drupal: Build Advanced Authoring Experiences in Dr...
Lightning Distribution for Drupal: Build Advanced Authoring Experiences in Dr...
Acquia
 
Business Benefits of Drupal 8: Empower Digital Innovation with the Newest Ver...
Business Benefits of Drupal 8: Empower Digital Innovation with the Newest Ver...
Acquia
 
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital Business
Acquia
 
Drupal 8 - A Brief Introduction
Drupal 8 - A Brief Introduction
Jeff Geerling
 
Why Drupal 8 Is a Game Changer for Higher Education
Why Drupal 8 Is a Game Changer for Higher Education
Acquia
 
Ad

Similar to Drupal 8 improvements for developer productivity php symfony and more (20)

Modernize Your Drupal Development
Modernize Your Drupal Development
Chris Tankersley
 
DrupalCon Austin 2014 Review
DrupalCon Austin 2014 Review
Daniel Stout
 
How to Use the Command Line to Increase Speed of Development
How to Use the Command Line to Increase Speed of Development
Acquia
 
Drupal 8 and Pantheon
Drupal 8 and Pantheon
Pantheon
 
Drupal 8 introduction
Drupal 8 introduction
Aditya Ghan
 
Exploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molina
Salvador Molina (Slv_)
 
Drupal DevOps - Melbourne DevOps July 2013
Drupal DevOps - Melbourne DevOps July 2013
Chris Ward
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
Angela Byron
 
Drupal 8 - a peek under the hood
Drupal 8 - a peek under the hood
Hector Iribarne
 
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Acquia
 
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
Luis Rodríguez Castromil
 
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...
Steve Kessler
 
Intro to Drush
Intro to Drush
Carson Black
 
DevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal Deployment
Gerald Villorente
 
Drupal 8 - Build Week Update
Drupal 8 - Build Week Update
Angela Byron
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Acquia
 
Drupal 8 Preview for Site Builders
Drupal 8 Preview for Site Builders
Acquia
 
Open Source CMS Certification
Open Source CMS Certification
Vskills
 
PHPNW Drupal as a Framework
PHPNW Drupal as a Framework
digital006
 
Intro to Drush
Intro to Drush
Four Kitchens
 
Modernize Your Drupal Development
Modernize Your Drupal Development
Chris Tankersley
 
DrupalCon Austin 2014 Review
DrupalCon Austin 2014 Review
Daniel Stout
 
How to Use the Command Line to Increase Speed of Development
How to Use the Command Line to Increase Speed of Development
Acquia
 
Drupal 8 and Pantheon
Drupal 8 and Pantheon
Pantheon
 
Drupal 8 introduction
Drupal 8 introduction
Aditya Ghan
 
Exploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molina
Salvador Molina (Slv_)
 
Drupal DevOps - Melbourne DevOps July 2013
Drupal DevOps - Melbourne DevOps July 2013
Chris Ward
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
Angela Byron
 
Drupal 8 - a peek under the hood
Drupal 8 - a peek under the hood
Hector Iribarne
 
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Acquia
 
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
Luis Rodríguez Castromil
 
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...
Steve Kessler
 
DevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal Deployment
Gerald Villorente
 
Drupal 8 - Build Week Update
Drupal 8 - Build Week Update
Angela Byron
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Acquia
 
Drupal 8 Preview for Site Builders
Drupal 8 Preview for Site Builders
Acquia
 
Open Source CMS Certification
Open Source CMS Certification
Vskills
 
PHPNW Drupal as a Framework
PHPNW Drupal as a Framework
digital006
 
Ad

More from Acquia (20)

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdf
Acquia
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
Acquia
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
Acquia
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022
Acquia
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022
Acquia
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
Acquia
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Acquia
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Acquia
 
September Partner Bootcamp
September Partner Bootcamp
Acquia
 
August partner bootcamp
August partner bootcamp
Acquia
 
July 2021 Partner Bootcamp
July 2021 Partner Bootcamp
Acquia
 
May Partner Bootcamp
May Partner Bootcamp
Acquia
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
Acquia
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Acquia
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia
 
April partner bootcamp deck cookieless future
April partner bootcamp deck cookieless future
Acquia
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
Acquia
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
Acquia
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Acquia
 
Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdf
Acquia
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
Acquia
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
Acquia
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022
Acquia
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022
Acquia
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
Acquia
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Acquia
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Acquia
 
September Partner Bootcamp
September Partner Bootcamp
Acquia
 
August partner bootcamp
August partner bootcamp
Acquia
 
July 2021 Partner Bootcamp
July 2021 Partner Bootcamp
Acquia
 
May Partner Bootcamp
May Partner Bootcamp
Acquia
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
Acquia
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Acquia
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia
 
April partner bootcamp deck cookieless future
April partner bootcamp deck cookieless future
Acquia
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
Acquia
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
Acquia
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Acquia
 

Recently uploaded (20)

Azure AI Foundry: The AI app and agent factory
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
 
Best Practice for LLM Serving in the Cloud
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
From Data Preparation to Inference: How Alluxio Speeds Up AI
From Data Preparation to Inference: How Alluxio Speeds Up AI
Alluxio, Inc.
 
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
Download Adobe Illustrator Crack free for Windows 2025?
Download Adobe Illustrator Crack free for Windows 2025?
grete1122g
 
Digital Transformation: Automating the Placement of Medical Interns
Digital Transformation: Automating the Placement of Medical Interns
Safe Software
 
ElectraSuite_Prsentation(online voting system).pptx
ElectraSuite_Prsentation(online voting system).pptx
mrsinankhan01
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
A Guide to Telemedicine Software Development.pdf
A Guide to Telemedicine Software Development.pdf
Olivero Bozzelli
 
Sysinfo OST to PST Converter Infographic
Sysinfo OST to PST Converter Infographic
SysInfo Tools
 
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
 
Streamlining CI/CD with FME Flow: A Practical Guide
Streamlining CI/CD with FME Flow: A Practical Guide
Safe Software
 
Introduction to Agile Frameworks for Product Managers.pdf
Introduction to Agile Frameworks for Product Managers.pdf
Ali Vahed
 
Zoho Creator Solution for EI by Elsner Technologies.docx
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 
Best MLM Compensation Plans for Network Marketing Success in 2025
Best MLM Compensation Plans for Network Marketing Success in 2025
LETSCMS Pvt. Ltd.
 
Azure AI Foundry: The AI app and agent factory
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
 
Best Practice for LLM Serving in the Cloud
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
From Data Preparation to Inference: How Alluxio Speeds Up AI
From Data Preparation to Inference: How Alluxio Speeds Up AI
Alluxio, Inc.
 
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
Download Adobe Illustrator Crack free for Windows 2025?
Download Adobe Illustrator Crack free for Windows 2025?
grete1122g
 
Digital Transformation: Automating the Placement of Medical Interns
Digital Transformation: Automating the Placement of Medical Interns
Safe Software
 
ElectraSuite_Prsentation(online voting system).pptx
ElectraSuite_Prsentation(online voting system).pptx
mrsinankhan01
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
A Guide to Telemedicine Software Development.pdf
A Guide to Telemedicine Software Development.pdf
Olivero Bozzelli
 
Sysinfo OST to PST Converter Infographic
Sysinfo OST to PST Converter Infographic
SysInfo Tools
 
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
 
Streamlining CI/CD with FME Flow: A Practical Guide
Streamlining CI/CD with FME Flow: A Practical Guide
Safe Software
 
Introduction to Agile Frameworks for Product Managers.pdf
Introduction to Agile Frameworks for Product Managers.pdf
Ali Vahed
 
Zoho Creator Solution for EI by Elsner Technologies.docx
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 
Best MLM Compensation Plans for Network Marketing Success in 2025
Best MLM Compensation Plans for Network Marketing Success in 2025
LETSCMS Pvt. Ltd.
 

Drupal 8 improvements for developer productivity php symfony and more

  • 1. Drupal 8 Improvements for Developer Productivity: PHP, Symfony, and More
  • 2. Who am I? Ron Northcutt Solutions Architect, Acquia ● using Drupal since 4.7 (circa 2006) ● freelance developer ● small dev shop ● sr. developer & tech lead ● solutions architect Find me online: https://www.drupal.org/u/rlnorthcutt https://www.linkedin.com/in/rlnorthcutt https://twitter.com/rlnorthcutt https://plus.google.com/+RonNorthcutt
  • 3. Agenda ● Setup all the dev tools ● Review CLI commands ● Create a sample module ● Explore tools ● Chrome extensions
  • 5. DD2 and PHPStorm 1/7 ● Dev Desktop 2 https://www.acquia.com/products-services/dev-desktop ○ full LAMP stack with configurable PHP versions ○ includes drush ○ includes PHPMyAdmin ○ integration with Acquia Cloud ● PHPStorm http://www.jetbrains.com/phpstorm/ ○ free 30 day trial then $90, or ○ possible free license for OSS projects ○ http://confluence.jetbrains.com/display/PhpStorm/Drupal+Development+using+PhpStorm
  • 6. Xdebug 2/7 Xdebug setup instructions: https://docs.acquia.com/dev-desktop/sites/phpstorm 1. Edit php.ini 2. Restart apache 3. Configure PHPStorm to use Xdebug 4. Add your site as a project 5. Configure remote debug
  • 7. Drupal Console 3/7 Drupal console setup instructions: https://drupalconsole.com/ 1. Download the latest Console version: curl https://drupalconsole.com/installer -L -o drupal.phar 2. Make it accessible anywhere on your system: mv drupal.phar /usr/local/bin/drupal 3. Apply executable permissions on the downloaded file: chmod +x /usr/local/bin/drupal 4. Copy configuration files to user home directory: drupal init [--override] 5. List all available commands: drupal list
  • 8. Composer Manager 4/7 Composer Manager project page: https://www.drupal.org/project/composer_manager “Composer expects each project (Drupal installation, in our case) to have a single composer.json file listing all required packages. Composer Manager allows each contributed module to ship with its own composer.json file, listing the module-specific requirements. It then merges the requirements of all found modules into the consolidated composer.json file. This results in a single vendor/ directory shared across all modules which prevents code duplication and version mismatches.” 1. drush dl composer_manager -y 2. drush en composer_manager -y 3. composer drupal-update --no-dev
  • 9. Devel and Webprofiler 5/7 Devel project page: https://www.drupal.org/project/devel Devel Helper functions for Drupal developers and inquisitive admins. Enable the included Kint submodule as for pretty print of variables. kint($array) function is provided, which pretty prints arrays. Useful during development. Similarly, a ddebug_backtrace() is offered. WebProfiler (D8+) Add a powerful footer to all pages of your site. There, admins can review resource utilization, cache effectiveness, database queries, Views, and so much more. 1. drush dl devel -y 2. drush en devel webprofiler -y 3. optional : install additional js libraries for webprofiler (see status page)
  • 10. Xhprof 6/7 Xhprof setup instructions: https://docs.acquia.com/articles/xhprof-acquia-dev- desktop-mac-osx 1. Edit php.ini 2. Restart apache 3. Create output directory for data 4. Install and enable the xhprof module 5. Configure the module
  • 11. Chrome Extensions 7/7 1. Setup PHPStorm Xdebug Chrome extension https://confluence.jetbrains. com/display/PhpStorm/Configure+Xdebug+Helper+for+Chrome+to+be+used+ with+PhpStorm 2. Setup Acquia Log Viewer Chrome extension https://dev.acquia.com/blog/announcing-the-acquia-cloud-log-streaming- chrome-extension/11/01/2016/8396
  • 13. Drush ● update core and contrib ● download modules ● enable modules ● clear cache ● update db ● run cron ● import config ● export config ● create user ● change password ● one time login ● backup drupal ● restore drupal ● compile twig templates ● type “drush” to get a full list ● http://www.drushcommands.com/
  • 14. Drupal Console ● update modules and core ● download modules ● enable modules ● clear cache ● update db ● run cron ● import config ● export config ● generate console command ● generate entity ● generate content type ● generate module ● run unit tests ● type “drupal list” for a full list ● https://drupalconsole.com/docs
  • 17. Homework This webinar is intended to introduce you to these developer tools, and help you get them setup for your use. However, there is still plenty of work you need to do to learn how to use them. Some suggested homework to help you: ● Start using these tools in your daily work ● Help to test and port modules ● Create a new module or theme ● Help someone else get these tools setup ● Dive into PHPStorm’s features ● Learn one new CLI command a day ● Blog about your experiences ● Present a session at a DUG or Camp