moving our company site to drupal 8: break the ice!

75
GAJAH ANNUAL REPORT 2015 | 1 How we moved our Company site to Drupal 8 by Pierre Legrand, Dave Vasilevsky & Jorge Diaz

Upload: jorge-diaz

Post on 15-Apr-2017

539 views

Category:

Software


0 download

TRANSCRIPT

GAJAH ANNUAL REPORT 2015 | 1

How we moved our Company site to Drupal 8by Pierre Legrand, Dave Vasilevsky & 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

I’M DAVE, AND I’VE BEEN WORKING WITH EVOLVINGWEB FOR OVER FIVE YEARS

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

BACK-END DEVELOPMENT AND DEVOPS, SINCE DRUPAL 6

@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 EVOLVINGWEB.

WHO WILL STAND HERE?And will try to do their best in the next 60 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 huge variety of clients.

@djvasi@jorgediazhav

INTROTHEN WE GOT A NEW CUSTOMEROn December 2015, we got a fresh new customer.

@djvasi@jorgediazhav

INTROIN THE NEXT 45 MINUTESWe will describe the entire process

THE CURRENT STATE OF OUR COMPANY DRUPAL 7 SITE

@djvasi@jorgediazhav

OUR CURRENT SITE

DRUPAL 7 SITE BUILT IN 2011Trainings & Blog Posts mostly.

INITIALLY CREATED IN D6 ON 2009And then migrated from D6 to D7

AN ACCEPTABLE VOLUME OF TRAFFIC Mostly from Blog Posts and the Trainings.

THE CORE OF OUR TRAINING PROGRAMTraining Schedule, Courses Info and the gateway to EventBrite

NOT READY FOR MOBILE DEVICESAs it was built when it wasn’t that trending…

THE SITESetup, status and function in the Business.

@djvasi@jorgediazhav

A NEW REDESIGN WAS READYAnd it is so tempting…

OUR CURRENT SITE

@djvasi@jorgediazhav

AND MORE TEMPTING DESIGN…And more, and more…

OUR CURRENT SITE

LET’S GO AGILE

@djvasi@jorgediazhav

AGILE

1 – A PROJECT MANAGEMENT TOOLTo keep track of all issues, logs and progress.

THE TOOLS WE USEDTo push the Process forward

2 – ANOTHER PROJECT MANAGEMENT TOOLTo Micromanage tasks, keep an overall tracking of Sprints and team brainstorming.

3 – …?

@djvasi@jorgediazhav

AGILE

A LIVING PROJECT MANAGERAnd it is extremely important that it is alive.

THE TOOLS WE USEDTo push the Process forward

@djvasi@jorgediazhav

AGILE

PIERRE LEGRAND IS A PROJECT MANAGER THAT COMES FROM A MULTINATIONAL FRENCH COMPANY NAMED ”KIABI”.

HE HAS EXPERIENCE MANAGING WEB DEVELOPMENT AND ONLINE COMMERCE PROJECTS.

WHO ELSE WAS PART OF THISBut couldn’t come along with us to the Camp this time.

@djvasi@jorgediazhav

AGILE

WEEKLY SPRINTSSpecific milestones every week.

1 - PLANNINGFragmentation and estimation

are vital factors. 2 - PRIORITIZINGCritical paths, client interests and Development interests.

3 - DEVELOPINGSite Building, Back End, Front End…

4 - TESTINGTo check everything is OK.

5 - DEPLOYINGFor clients to play with.

@djvasi@jorgediazhav

AGILE ESTIMATED 4 SPRINTS TO GO LIVEAnd then continue improving it…

THE DEV ENVIRONMENT

@djvasi@jorgediazhav

THE DEV ENVIRONMENT

BUILDING CONTAINERSIs so damn good!

@djvasi@jorgediazhav

THE DEV ENVIRONMENT

BUILDING CONTAINERSIs so damn good!

@djvasi@jorgediazhav

THE DEV ENVIRONMENT

BUILDING CONTAINERSIs so damn good!

@djvasi@jorgediazhav

THE DEV ENVIRONMENT

BUILDING CONTAINERSIs so damn good!

GAJAH ANNUAL REPORT 2015 | 25@djvasi@jorgediazhav

SITE BUILDER👤

CONTENT MANAGER👤 FRONT-END

DEVELOPER👤

BACKENDDEVELOPER👤

THE DEV ENVIRONMENT

@djvasi@jorgediazhav

THE DEV ENVIRONMENT

CONTENT FLOW

STRATEGY

@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

OldDrupal7Site

CONTENT TYPES & TAXONOMIESTrainings, Tags & Blog Posts mostly.

FEATURESContact Webforms, DISQUS Integration, Multilingual Support…

USERSRelated to Blog Posts and additional registered users.

NEW CONTENT EVERY WEEKContent editing doesn’t have a freeze stage.

@djvasi@jorgediazhav

NEW CONTENTTestimonials & Team Member Info.

NEW MARKETING BLOCKSTo be used in the whole site redesign.

FULL MULTILINGUAL SUPPORTThe UI and every new content needs to be in EN & FR.

NEW CONTENT STRATEGY3 New Menus (Navigation, Footer & Subsections)

IMPROVE EXISTING CONTENTTraining Courses, Projects and Services.

A RESPONSIVE WEBSITECompletely redesigned.

CONTENT FLOW STRATEGY

@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

NEW CONTENT

NEW FEATURES

EXISTING CONTENTAND USERS

@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

NEW CONTENT

NEW FEATURES

EXISTING CONTENTAND USER BASE

GAJAH ANNUAL REPORT 2015 | 32@djvasi@jorgediazhav

HOW TO HANDLE THIS?

SITE BUILDER👤

CONTENT MANAGER👤 FRONT-END

DEVELOPER👤

BACKENDDEVELOPER👤

CONTENT FLOW STRATEGY

GAJAH ANNUAL REPORT 2015 | 33@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

A MAIN DB TO KEEP EVERYONE IN SYNC?

GAJAH ANNUAL REPORT 2015 | 34@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

EACH CONTAINER WITH IT’S OWN DB

GAJAH ANNUAL REPORT 2015 | 35@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

EACH CONTAINER WITH IT’S OWN DB

GAJAH ANNUAL REPORT 2015 | 36@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

FIRST IDEAOne initial migration

GAJAH ANNUAL REPORT 2015 | 37@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

FIRST IDEAOne initial migration

GAJAH ANNUAL REPORT 2015 | 38@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

A BETTER OPTIONMigrate every time we build

GAJAH ANNUAL REPORT 2015 | 39@djvasi@jorgediazhav

CONTENT FLOW STRATEGY

MIGRATIONS

GAJAH ANNUAL REPORT 2015 | 41@djvasi@jorgediazhav

MIGRATIONS

LETS JUST PULL ALL DATA IN

CONTENT STAGING

ENVIRONMENT

GAJAH ANNUAL REPORT 2015 | 42@djvasi@jorgediazhav

MIGRATIONS

drush mi –group=d7

GAJAH ANNUAL REPORT 2015 | 43@djvasi@jorgediazhav

MIGRATIONS

drush mi –group=staging

CONTENT STAGING

ENVIRONMENT

GAJAH ANNUAL REPORT 2015 | 44@djvasi@jorgediazhav

MIGRATIONS

GOING BACK TO THE QUESTION:WHEN IT IS THE RIGHT MOMENT?

GAJAH ANNUAL REPORT 2015 | 45@djvasi@jorgediazhav

MIGRATIONS

WHEN IT IS THE RIGHT MOMENT?

GAJAH ANNUAL REPORT 2015 | 46@djvasi@jorgediazhav

MIGRATIONS

drush mi –group=staging

GAJAH ANNUAL REPORT 2015 | 47@djvasi@jorgediazhav

MIGRATIONS

WHY DO WE NEED CONTENT STAGING?

INFORMATION ARCHITECTURE CHANGES

ARE PAINFUL

THE FINAL SITE SHOULD HAVE A CLEAN DB STAGING

CLIENT CAN WORK ON CONTENT WITHOUT

INTERFERING WITH DEV

GAJAH ANNUAL REPORT 2015 | 48@djvasi@jorgediazhav

MIGRATIONS

MIGRATIONS CUSTOMIZATIONS

MIGRATIONS ARE MULTILINGUALWe migrate Entities and their translations

PATHS & REDIRECTSTo avoid affecting SEO

MENU LINKS IMPORT/EXPORTKeeping hierarchy

REFERENCED FILESCopying only the files we need

HTTP AUTH IN MIGRATETo keep staging secret

UI TRANSLATIONS EXPORTUsing .po files with only the new custom translations

STAGING

GAJAH ANNUAL REPORT 2015 | 49@djvasi@jorgediazhav

MIGRATIONS

CHECKING MIGRATIONS

SITEDIFFCheck that no

links are missing

=

THE DEVELOPMENT

WORKFLOW

@djvasi@jorgediazhav

THE DEVELOPMENT WORKFLOW

DEPLOY REPO DRUPAL SITE

@djvasi@jorgediazhav

THE DEVELOPMENT WORKFLOW DEPLOY REPO

@djvasi@jorgediazhav

THE DEVELOPMENT WORKFLOW DRUPAL SITE

GAJAH ANNUAL REPORT 2015 | 54@djvasi@jorgediazhav

THE DEVELOPMENT WORKFLOW

LETS JUST PULL ALL DATA IN

CONTENT STAGING

ENVIRONMENT

DRUPAL SITE

GAJAH ANNUAL REPORT 2015 | 55@djvasi@jorgediazhav

THE DEVELOPMENT WORKFLOW

drush configuration-export [NAME]

CONTENT STAGING

ENVIRONMENT

DRUPAL SITE

THE DRUPAL 8 SITE BUILDING COMPONENTS

@djvasi@jorgediazhav

THE DRUPAL 8 SITE BUILDINGCOMPONENTS

AVAILABLE THEMESReady and almost ready to go.

BASIC

ZURB FOUNDATION

BOOTSTRAP

NEATO

OMEGA

@djvasi@jorgediazhav

THE DRUPAL 8 SITE BUILDINGCOMPONENTS PRESENTATION LAYER

Right into the Browser…

DEVELOPMENT LAYERCoding and wireframing

BASE THEMEThe most advanced contrib D8 Theme

@djvasi@jorgediazhav

THE DRUPAL 8 SITE BUILDINGCOMPONENTS

AVAILABLE MODULESReady and almost ready to go.

DISPLAY SUITE

TOKEN & PATHAUTO

VIEWS SLIDESHOW

IMCE

ADMIN MENU

@djvasi@jorgediazhav

THE DRUPAL 8 SITE BUILDINGCOMPONENTS

AVAILABLE MODULESReady and almost ready to go.

FIELD GROUPMETATAGINLINE ENTITY FORMSIMPLE XML SITEMAPCOLORBOXRECAPTCHAGEOLOCATION FIELD

@djvasi@jorgediazhav

THE DRUPAL 8 SITE BUILDINGCOMPONENTS

CORE MODULESViews, Contact Forms, Block

Management, Multilingual support…

CONTRIB COMPONENTSBootstrap 3 Theme, Contact Storage,

Contact Block, DISQUS, Redirect, Google Analytics, Images Effects…

@djvasi@jorgediazhav

THE DRUPAL 8 SITE BUILDINGCOMPONENTS

CORE MODULESViews, Contact Forms, Block

Management, Multilingual support…

CONTRIB COMPONENTSBootstrap 3 Theme, Contact Storage,

Contact Block, DISQUS, Redirect, Google Analytics, Images Effects…

@djvasi@jorgediazhav

THE DRUPAL 8 SITE BUILDINGCOMPONENTS

Bootstrap3Theme

CreatednewContentTypes

Createdall

Views

BlocksPositioning

MultilingualConfiguration

Views,ContentTypesandFieldsTranslations

ModulesConfiguration

EnabledModules

@djvasi@jorgediazhav

Bootstrap3Theme

CreatednewContentTypes

Createdall

Views

BlocksPositioning

MultilingualConfiguration

Views,ContentTypesandFieldsTranslations

ModulesConfiguration

EnabledModules

THE DRUPAL 8 SITE BUILDINGCOMPONENTS

BlocksPositioning

@djvasi@jorgediazhav

Bootstrap3Theme

CreatednewContentTypes

Createdall

Views

BlocksPositioning

MultilingualConfiguration

Views,ContentTypesandFieldsTranslations

ModulesConfiguration

EnabledModules

THE DRUPAL 8 SITE BUILDINGCOMPONENTS

BlocksPositioning

DRUPAL SITE

RESULTS

@djvasi@jorgediazhav

RESULTSTHE SITE100% Multilingual, all content pulled from both sides…

@djvasi@jorgediazhav

AND MORE TEMPTING DESIGN…And more, and more…RESULTS

@djvasi@jorgediazhav

RESULTS

DOCKER APPROACHIs so damn good! (AGAIN!)

GAJAH ANNUAL REPORT 2015 | 70@djvasi@jorgediazhav

SITE BUILDER👤

CONTENT MANAGER👤 FRONT-END

DEVELOPER👤

BACKENDDEVELOPER👤RESULTS

DOCKER APPROACH

GAJAH ANNUAL REPORT 2015 | 71@djvasi@jorgediazhav

RESULTSCONTENT STAGING

ENVIRONMENT

CONTENT STAGING

GAJAH ANNUAL REPORT 2015 | 72@djvasi@jorgediazhav

RESULTSCONTENT STAGING

ENVIRONMENT

CONTENT STAGING PHASES

GAJAH ANNUAL REPORT 2015 | 73@djvasi@jorgediazhav

RESULTSCONTENT STAGING

ENVIRONMENT

CONTENT STAGING LEVELS

For Your Precious Time and Attention.

THANKS!!!

Allimagesusedinthispresentationarepropertyoftheirrespectiveownersandarenotintendedforcommercialpurpose.Wereallobtainedfromhttp://unsplash.com

DrupalisaregisteredtrademarkofDriesBuytaert.

Alllogosusedinthispresentationarepropertyoftheirrespectiveowners.

Please Don’t Hesitate.

QUESTIONS?

�?