Post on 15-Apr-2017
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?
�?