Drupal 8 configuration Management workflow - Drupal North 2016

Post on 15-Apr-2017

333 views 1 download

Transcript of Drupal 8 configuration Management workflow - Drupal North 2016

GAJAH ANNUAL REPORT 2015 | 1

SetupaDrupal8DevelopmentWorkflowwithConfigurationManagementby Jorge Diaz

@djvasi@jorgediazhav

INTRO

DRUPAL CONSULTING, DEVELOPMENT AND TRAINING.

FOUNDED IN 2007 BY SUZANNE KENNEDY & ALEX DERGACHEV.

HELP ORGANIZATIONS BUILD AWESOME DRUPAL WEBSITES WITH CUSTOM FUNCTIONALITY.

WHO WE AREA passionate team of Drupal Developers based in Montreal, QC.

@djvasi@jorgediazhav

INTRO

MY NAME IS JORGE DIAZ AND I’VE BEEN WORKING WITH DRUPAL FOR MORE THAN 8 YEARS.

I WORK AS A DRUPAL THEMER & FRONT-END DEVELOPER AT EVOLVING WEB.

ABOUT MEAnd will try to do their best in the next 40 minutes…

@djvasi@jorgediazhav

INTRO

I WAS BORN IN THE MAGICAL CITY OF HAVANA, 30 YEARS AGO BUT DRUPAL TOOK ME TO MONTREAL

WHO WILL STAND HERE?And will try to do its best in the next 60 minutes…

@djvasi@jorgediazhav

INTRO

WE SPECIALIZE IN DRUPALFrom standard websites to advanced content management tools.

@djvasi@jorgediazhav

INTROSOME BIG FISH HAVE HIRED USMostly in North America, we have a wide variety of clients.

@djvasi@jorgediazhav

INTROSUMMARYFor the next 40 minutes

D7 CONFIGURATION MANAGEMENTFeatures as an alternative for teams.

THE NEW D8 CONFIGURATION MANAGEMENTWhat is new & how this changes everything.

LIVE DEMO OF A SAMPLE D8 PROJECTSimulating 2 developers working together

RECAPReview the main points of the development experience

INTRO TO CONFIG MANAGEMENT (CM)Features as an alternative for teams.

WHAT IS CONFIGURATION MANAGEMENT?

@djvasi@jorgediazhav

CONFIGMANAGEMENT

DRUPAL DEV PROCESSInvolves a lot of details, but we will just simplify it

@djvasi@jorgediazhav

CONFIGMANAGEMENT

DRUPAL DEV PROCESSInvolves a lot of details, but we will just simplify it

DEVPROCESS

@djvasi@jorgediazhav

CONFIGMANAGEMENT

DRUPAL DEV PROCESSInvolves a lot of details, but we will just simplify it

DEVPROCESS

@djvasi@jorgediazhav

CONFIGMANAGEMENT

DRUPAL DEV PROCESSInvolves a lot of details, but we will just simplify it

DEVPROCESS

@djvasi@jorgediazhav

DEVPROCESS

CONFIGMANAGEMENT

THIS IS JUST A “CMS” APPROACHInvolves a lot of details, but we will just simplify it

@djvasi@jorgediazhav

DEVPROCESS

CONFIGMANAGEMENT

HOW TO SYNCHRONIZE CONFIG?

SITE BUILDER👤

CONTENT ARCHITECT👤

FRONT-END DEVELOPER👤BACKEND

DEVELOPER👤

@djvasi@jorgediazhav

DEVPROCESS

CONFIGMANAGEMENT

SITE BUILDER👤

CONTENT ARCHITECT👤

FRONT-END DEVELOPER👤BACKEND

DEVELOPER👤

HOW TO SYNCHRONIZE CONFIG?

@djvasi@jorgediazhav

CONFIGMANAGEMENT

CONTENT TALK IS LATER AT 4PM Right here :)

DEVPROCESS

DRUPAL 7 CONFGURATION MANAGEMENT

@djvasi@jorgediazhav

D7 CONFIGURATION MANAGEMENT

DRUPAL 7 Configuration and content live in the same place

@djvasi@jorgediazhav

CONTENT TYPES, TAXONOMIES & MENUSBlog posts, Pages, Articles, Menu Items…

DRUPAL 7 Configuration and content live in the same place

VIEWS & BLOCKS POSITIONSViews structure and config, blocks positioning across themes…

ROLES, PERMISSIONS & USER FIELDSCustom user fields, roles and all related permission.

CONTENT NODES, TAGS & MENU ITEMSBlog posts, articles, Pages and navigation items.

REGISTERED USERSWith all their info, emails, encrypted passwords…

D7 CONFIGURATION MANAGEMENT

@djvasi@jorgediazhav

CONTENT TYPES, TAXONOMIES & MENUSBlog posts, Pages, Articles, Menu Items…

DRUPAL 7 Configuration and content live in the same place

VIEWS & BLOCKS POSITIONSViews structure and config, blocks positioning across themes…

ROLES, PERMISSIONS & USER FIELDSCustom user fields, roles and all related permission.

CONTENT NODES, TAGS & MENU ITEMSBlog posts, articles, Pages and navigation items.

REGISTERED USERSWith all their info, emails, encrypted passwords…

D7 CONFIGURATION MANAGEMENT

@djvasi@jorgediazhav

ENABLED MODULES AND THEMES

DRUPAL 7 Configuration and content live in the same place

SITE NAME, SLOGAN

MODULE SPECIFIC CONFIGURATION

D7 CONFIGURATION MANAGEMENT

GAJAH ANNUAL REPORT 2015 | 22@djvasi@jorgediazhav

SITE BUILDER👤

CONTENT ARCHITECT👤 FRONT-END

DEVELOPER👤

BACKENDDEVELOPER👤

HOW TO WORK TOGETHERAnd make all our workflows to converge at some point?

D7 CONFIGURATION MANAGEMENT

GAJAH ANNUAL REPORT 2015 | 23@djvasi@jorgediazhav

SITE BUILDER👤

CONTENT ARCHITECT👤 FRONT-END

DEVELOPER👤

BACKENDDEVELOPER👤

GIT TAKES CARE OF THE CODED7 CONFIGURATION MANAGEMENT

GAJAH ANNUAL REPORT 2015 | 24@djvasi@jorgediazhav

D7 CONFIGURATION MANAGEMENT

THE REAL ISSUE IS THE DB

GAJAH ANNUAL REPORT 2015 | 25@djvasi@jorgediazhav

SITE BUILDER👤

CONTENT ARCHITECT👤

FRONT-END DEVELOPER👤

BACKENDDEVELOPER👤

THE SAME CODEBASE?It will be going back to the ‘90s

D7 CONFIGURATION MANAGEMENT

GAJAH ANNUAL REPORT 2015 | 26@djvasi@jorgediazhav

D7 CONFIGURATION MANAGEMENT

SHOULD WE USE THE SAME DB?Mmmmm…...... We have all been there before :(

GAJAH ANNUAL REPORT 2015 | 27@djvasi@jorgediazhav

D7 CONFIGURATION MANAGEMENT

HOW TO MERGE CONFIGURATIONThat is the question…

GAJAH ANNUAL REPORT 2015 | 28@djvasi@jorgediazhav

D7 CONFIGURATION MANAGEMENT

SOMETHING HAD TO BE DONETo support very biiiiiiiiiiiig & scalable projects

FEATURES MODULE

@djvasi@jorgediazhav

VIEWS, CONTENT TYPES, MENU STRUCTURES

ROLES, PERMISSIONS & VARIABLES

BLOCKS WITH CONTENT & POSITIONS

EXPORT CONFIG ENTITIES TO CODETo save Drupal 7

D7 CONFIGURATION MANAGEMENT

@djvasi@jorgediazhav

VIEWS, CONTENT TYPES, MENU STRUCTURES

ROLES, PERMISSIONS & VARIABLES

BLOCKS WITH CONTENT & POSITIONS

EXPORT CONFIG ENTITIES TO CODETo save Drupal 7

D7 CONFIGURATION MANAGEMENT

@djvasi@jorgediazhav

VIEWS, CONTENT TYPES, MENU STRUCTURES

ROLES, PERMISSIONS & VARIABLES

BLOCKS WITH CONTENT & POSITIONS

EXPORT CONFIG ENTITIES TO CODETo save Drupal 7

D7 CONFIGURATION MANAGEMENT

@djvasi@jorgediazhav

VIEWS, CONTENT TYPES, MENU STRUCTURES

ROLES, PERMISSIONS & VARIABLES

BLOCKS WITH CONTENT & POSITIONS

EXPORT CONFIG ENTITIES TO CODETo save Drupal 7

D7 CONFIGURATION MANAGEMENT

GAJAH ANNUAL REPORT 2015 | 33@djvasi@jorgediazhav

CONTENT ARCHITECT👤 FRONT-END

DEVELOPER👤

HOW TO WORK TOGETHERAndmakeourconfigurationconvergeatsomepoint

D7 CONFIGURATION MANAGEMENT

THEME + MODULES + FEATURES

GAJAH ANNUAL REPORT 2015 | 34@djvasi@jorgediazhav

D7 CONFIGURATION MANAGEMENT

SOMETHING HAD TO BE DONETo support very biiiiiiiiiiiig & scalable projects

GAJAH ANNUAL REPORT 2015 | 35@djvasi@jorgediazhav

D7 CONFIGURATION MANAGEMENT

SOMETHING HAD TO BE DONETo support very biiiiiiiiiiiig & scalable projects

DRUPAL 8 CONFIGURATION

MANAGEMENT

@djvasi@jorgediazhav

DRUPAL 8 CONFIG MANAGEMENT

DRUPAL 8 CONFIG MANAGEMENT IS IN COREAnd it is just amazing!

FEATURES SHOWED THE PATHTo support very biiiiiiiiiiiig & scalable projects

@djvasi@jorgediazhav

DRUPAL 8 CONFIG MANAGEMENT

DRUPAL 8 CONFIG MANAGEMENT IS IN COREAnd it is just amazing!

FEATURES SHOWED THE PATHTo support very biiiiiiiiiiiig & scalable projects

@djvasi@jorgediazhav

DRUPAL 8 CONFIG MANAGEMENT

DRUPAL 8 CONFIG MANAGEMENT IS IN COREAnd it is just amazing!

FEATURES USE THE PATHTo support very biiiiiiiiiiiig & scalable projects

@djvasi@jorgediazhav

DRUPAL 8 CONFIG MANAGEMENT

@djvasi@jorgediazhav

DRUPAL 8 CONFIG MANAGEMENT

@djvasi@jorgediazhav

DRUPAL 8 CONFIG MANAGEMENT

SEE CONFIG MANAGEMENT

IN ACTION!

@djvasi@jorgediazhav

SEE CONFIG MANAGEMENT IN ACTION!

FRONT-END DEVELOPER👤

BACKENDDEVELOPER👤

MEET THE IMAGINARY TEAM!That I will emulate in the following Demo

@djvasi@jorgediazhav

SEE CONFIG MANAGEMENT IN ACTION!

FRONT-END DEVELOPER👤

BACKENDDEVELOPER👤

MEET THE IMAGINARY TEAM!That I will emulate in the following Demo

@djvasi@jorgediazhav

SEE CONFIG MANAGEMENT IN ACTION!

FRONT-END DEVELOPER👤

BACKENDDEVELOPER👤

MEET THE IMAGINARY TEAM!That I will emulate in the following Demo

@djvasi@jorgediazhav

SEE CONFIG MANAGEMENT IN ACTION!

FRONT-END DEVELOPER👤

BACKENDDEVELOPER👤

EACH ONE WILL HAVE A DEV ENVThat Acquia Dev Desktop will help me emulate.

@djvasi@jorgediazhav

SEE CONFIG MANAGEMENT IN ACTION!

FRONT-END DEVELOPER👤

BACKENDDEVELOPER👤

BOTH WILL BE IN SYNCAnd then they will be happy Drupal 8 Devs!

DEMO, DEMO! TIME IS

RUNNING!!!

@djvasi@jorgediazhav

DEMO

$drush dl admin_toolbar$drush en admin_toolbar_tools$drush en bootstrap$drush config-set system.themedefaultbootstrap

SAMPLE CONFIGTo emulate a sample configuration

@djvasi@jorgediazhav

DEMOu

drushsite-install--verboseconfig_installerconfig_installer_sync_configure_form.sync_directory=config/site--db-url=mysql://root:@127.0.0.1:33069/DB_NAME--yes

DRUSH INSTALLBased on an installation profile

RESULTS

@djvasi@jorgediazhav

RESULTSDRUPAL 8 WAS NEEDEDIt's really easy to create config structures

@djvasi@jorgediazhav

RESULTSRECAP

1. InstalltheWebServerandDrush forDrupal8(90%chancesyouhavethisdonealready)

2. InstallyourDrupal8siteandaddconfig_installer

3. Exportyourconfigandpushittoyourrepo.

@djvasi@jorgediazhav

RESULTSRECAP

5.Cloneyourrepoelsewhereandinstallyoursiteusingthe$drush site-installconfig_installer...command.

6.$drush config-exportafterPUSHand$pulldrushconfig-importafterPULL

@djvasi@jorgediazhav

RESULTSDRUPAL 8 WAS NEEDEDIt's really easy to create config structures

DEVPROCESS

@djvasi@jorgediazhav

RESULTSDRUPAL 8 WAS NEEDEDIt's really easy to create config structures

DEVPROCESS

@djvasi@jorgediazhav

RESULTSDRUPAL 8 WAS NEEDEDIt's really easy to create config structures

DEVPROCESS

👤👤👤

@djvasi@jorgediazhav

CONFIGMANAGEMENT

DRUPAL 8 WAS NEEDEDIt's really easy to create config structures

DEVPROCESS

@djvasi@jorgediazhav

RESULTSMODULES BRING THEIR OWNAnd is really easy to create config structures

@djvasi@jorgediazhav

RESULTSTHEMES TOO!With default block positioning, settings...

GAJAH ANNUAL REPORT 2015 | 62@djvasi@jorgediazhav

RESULTSFEATURES STILL EXISTS!As CM takes care of individual and general

GAJAH ANNUAL REPORT 2015 | 63@djvasi@jorgediazhav

RESULTSFEATURES STILL EXISTS!As CM takes care of individual and general

@djvasi@jorgediazhav

RESULTSCONTENT TALK IS LATER AT 4PM Right here :)

DEVPROCESS

For Your Precious Time and Attention.

THANKS!!!

Allimagesusedinthispresentationarepropertyoftheirrespectiveownersandarenotintendedforcommercialpurpose.Allwereobtainedfromhttp://unsplash.com

DrupalisaregisteredtrademarkofDriesBuytaert.

Alllogosusedinthispresentationarepropertyoftheirrespectiveowners.

Please Don’t Hesitate.

QUESTIONS?

�?