SlideShare una empresa de Scribd logo
1 de 55
Descargar para leer sin conexión
© 2015 Phase2
Drupal 8, Don’t Be Late
© 2015 Phase2
About us
Evan Liebman - Director of MSK Digital
Frank Febbraro - CTO, Phase2
Michael Le Du - Head of Strategic Accounts, Phase2
© 2015 Phase2
The time has come
to consider Drupal 8
© 2015 Phase2
Content as we know it, is changing
● Text and images (most websites)
● Multimedia (YouTube, Netflix, Spotify)
● Web Applications (Trello, Basecamp, Salesforce)
● Social Media Streams (Facebook, Twitter, etc)
● IoT (FitBit, Automatic for autos, Echobee)
© 2015 Phase2
Content consumption has changed
● PCs consuming web pages
● Mobile (iPhone, iPad, Android)
● “Over the top” (AppleTV, Xbox/PS, Smart-TV)
● Wearables (Apple Watch, Google Glass)
● IoT (Amazon Echo, Smart appliances, Automotive)
© 2015 Phase2
Dries addressed this in his keynote
● getNextBestExperience()
● Integrating with 3rd party services
● Pushing contextual content to different endpoints
● Personalized content experiences
○ No two experiences are the same
○ 100% dynamic
© 2015 Phase2
Could you be disrupted?
● Does your current CMS allow you to easily distribute
content in these channels?
● In a maintainable and extensible way?
● If you don’t make your content readily accessible
where people consume it, and relevant to their
context, someone else will (or already has).
© 2015 Phase2 Don’t be “LEFT BEHIND”
CONTENT. COLLABORATION. EXPERIENCE.
Drupal 8
Now?
CONTENT. COLLABORATION. EXPERIENCE.
Spoiler Alert!!
Drupal 8 is already being used in
production
© 2015 Phase2
Why now is the time to consider Drupal 8
● It’s being used in production
● Has stack support for all required components
● Less dependence on contrib
● Fully reap the benefits of the platform lifecycle
● Use a tool built for today and the future
● Become part of the solution
● A chance to attract the best talent
© 2015 Phase2
Memorial Sloan Kettering
Drupal 8 Case Study
© 2015 Phase2
-Jacob Rockowitz
“Drupal 8, Don’t Be Late”
© 2015 Phase2
How the MSK Culture Inspired Us to
Become an Early Adopter of Drupal 8
● A culture of innovation
● Relentless pursuit, and unmatched expertise that
results in breakthrough advances
© 2015 Phase2
Collaborative Focus at MSK
● Multi-center studies driving the generation of new
knowledge
● Cross service collaboration to aid the diagnosis and
treatment, and research
© 2015 Phase2
Why is Community important?
● We are all trying to solve similar problems
● People can leverage our work
● Can leverage other people’s work
● Allows bigger problems to be solved
● The community helps drives Innovation
© 2015 Phase2
MSK’s Strategic Priorities
● Patient Experience
● Patient Access
● Innovation and Generation of New Knowledge
● Talent Recruitment
● Financial Sustainability
© 2015 Phase2
Patient Experience and Access
● Easy access to the information the user needs
© 2015 Phase2
Innovation and Generation of New
Knowledge
● D8 cutting edge technology
© 2015 Phase2
Talent Recruitment
● Broader the talent pool
© 2015 Phase2
Financial Sustainability
● Gain the long term ROI from the investment, no need
to re-platform in a few years
© 2015 Phase2
So the Adventure Begins...and
Successfully Launches
● MSKCC.org
● SloanKettering.edu
© 2015 Phase2
This is more than a brochure site
● D6 site with 114 contrib
● D8 with 9 modules
● Serves 7 personas
● Related content
● Faceted search
● Webforms
● Online payment
● MailChimp Integration
● Prediction tools
● Multiple sites
● Multiple layouts
● PDF generation
● Multi server cluster
● LDAP authentication
● Data aggregation
● Data synchronization to
apps
© 2015 Phase2
Drupal 8’s Flexibility Simplified Problems
● Can centralize logic into services (layout logic, override
controllers without hacking core)
● We created YAML Forms because there was no Web forms
● No Panels, we used HTML template expansion
● Many D8 module upgrades were only a few days of work
○ Redis, Memcache, Redirect, Node Order
© 2015 Phase2
What else did we gain from Drupal 8?
● Developer velocity (once past the learning curve)
● MSK was able to participate in making Drupal 8
better
© 2015 Phase2
Were there any surprises?
● Core features weren’t as “done” as most people believe
them to be
● How easy it is to do powerful things with minimal code
● Lack of robust documentation
● The power of using YAML and how clean and readable it is
○ Non-programmers can create YAML docs
© 2015 Phase2
What did we trade off with Drupal 8?
● There weren’t many contrib modules
● Lack of best practices and practical knowledge
● Core wasn’t even feature complete when it started
○ Migration, Views, CMI, APIs
● Core changed very fast, took work to keep up with
breaking changes
● The project went live before a guaranteed upgrade path
© 2015 Phase2
Drupal 8 Lessons Learned
CONTENT. COLLABORATION. EXPERIENCE.
Managing Core & Contrib
© 2015 Phase2
Dedicate a person to core
● Have one person focused primarily on “Core” issues
● The ground needs to be cleared for the team
● Shepherd patches into core
● Re-roll/revive stalled community efforts
● Sometimes you have to code around bugs in core
© 2015 Phase2
Schedule for regular upgrades to core
● Either a known working HEAD or release
● Plan to pin/freeze within sight of launch
● Don’t let it go too long as debt accumulates
● Track the core changelog to understand what could
affect you
© 2015 Phase2
Don’t wait on contrib
● They might not catch up
○ Migration
○ Layout
○ Forms
○ Stack Components (memcache/redis)
○ LDAP
CONTENT. COLLABORATION. EXPERIENCE.
Addressing Risk
© 2015 Phase2
Prototype to mitigate risk
● Get a site up and prototype key features and functionality
● Get your content to migrate and render
● Don’t worry about theming in the beginning (Bartik is
fine)
● You can import using bulk insert
© 2015 Phase2
Account for the learning curve
● Give the team time to navigate the learning curve
○ You’ll make it up later
○ Modern PHP / Services / Symfony / CMI enable more
productivity
○ Teams need to learn new way
■ Learn to do things the right way via Services, etc.
■ They also need to unlearn old Drupal ways
© 2015 Phase2
Don't assume you know what would go well
● Be ready to have a plan B & C (you’ll probably need it)
● Core features may not be as “done” as you think
● Plan for potential stack issues (PHP, Memcache, etc.)
● Be ready to make stack changes if needed
○ Memcache + PHP5.4 => Memcache + PHP 5.5
CONTENT. COLLABORATION. EXPERIENCE.
Pulling It All Together
© 2015 Phase2
Take advantage of the front end separation
● TWIG let’s the front end ramp up quickly
● Leverage grunt, bower, sass and other js tools
● Services and filters make it easier to
“componentize” the frontend
© 2015 Phase2
Front end component example
© 2015 Phase2
Have tight collaboration between teams
● The frontend was built as a standalone prototype
● Once design was approved it was moved into Drupal
● Be flexible both ways
○ sometimes it’s easier to start with Drupal’s
markup
○ Sometimes it better to modify TWIG templates
© 2015 Phase2
Use testing to catch regressions
● Use PHPUnit and Behat to catch regressions
○ Custom code will break during upgrades (API
changes)
○ Make identifying regressions easy and automated
○ Especially before a beta to beta migration path exists
○ Tests are easier to build when you are extending
objects with existing test coverage
© 2015 Phase2
Use build tools
● Automate, automate, automate
● Seriously, don’t wait to do this.
● We used a combination of Drush and Grunt
● Facilitate integration of multiple repos
● Code quality, testing, deployment, migration.
© 2015 Phase2
Manage your dependencies
● Drush Make (now with YAML make file support)
● NPM for JS build dependencies
● Bower for the front end JS
● Grunt was used to materialize the site and build
the frontend
© 2015 Phase2
Make use of YAML where possible
● YAML Forms (webforms configured via YAML)
● Your users can write in YAML, seriously, ours do.
● YAML is a great format for serialization of data
● Install Symfony components to output YAML in D6/7
© 2015 Phase2
Migration shouldn’t be a 2nd class citizen
● You may not use it after launch, but it is certainly not
a throw away
● Constant migration is powerful but tricky
● Expect the migration to break across environments
○ And across core versions
CONTENT. COLLABORATION. EXPERIENCE.
Managing Environments
© 2015 Phase2
Make is easy to get developers setup
● Complex setups can be brittle across developers
● Our dev's needed VPN access, which was brittle
● Dev’s needed to run a long D6 to D8 migration
© 2015 Phase2
Don't neglect your server environments
● Focus on the platform delayed getting our
environments provisioned
● Get your servers up early
● Try to limit additional risk in the stack
● Hard to troubleshoot bugs can creep up here
© 2015 Phase2
Small environmental differences can cause issues
● “Close enough” doesn’t always work to mimic prod
● Use all layers of the stack
○ As soon as you have something testable (or before)
● Even on the same servers, the hostname can change
behavior
● HTTP vs HTTPS can cause differences
© 2015 Phase2
Load testing !== production traffic
● Load tests are great indicators potential problems
● They don't actually guarantee anything
● Production traffic will always be different
○ Even when replaying production traffic logs
● Even “low traffic” times may surprise you
○ A spider started aggressively crawling at 5AM
CONTENT. COLLABORATION. EXPERIENCE.
How can you get started?
© 2015 Phase2
Drupal 8 Considerations
● Pick D8 candidates carefully
● No short timelines
● Have the right team
○ Drupal exp, quick learners, problem solvers, profilers
● Get involved with the community
○ You'll need their help
© 2015 Phase2
Key Resources
● www.mskcc.org
● www.sloankettering.edu
● Adventures in Drupal 8: http://phase.to/1K8rKuX
● Driving Drupal 8 Adoption: http://phase.to/1cxvsQD
● Interview with Evan: http://phase.to/1K8qS9A
● Transforming Enterprises w/ Drupal 8 : http://phase.to/1K8r8Fx
● Phase2 & MSK: http://phase.to/1K8rsUI
CONTENT. COLLABORATION. EXPERIENCE.
Q&A
PHASE2TECHNOLOGY.COM

Más contenido relacionado

La actualidad más candente

Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012
Exove
 
How to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalHow to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupal
Green For All
 
Digital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal roleDigital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal role
Dmitry Drozdik
 

La actualidad más candente (20)

Site building with end user in mind
Site building with end user in mindSite building with end user in mind
Site building with end user in mind
 
OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15
 
Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012
 
Agile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemAgile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native Ecosystem
 
How to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalHow to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupal
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design Workflow
 
Monolithic installs VS single responsibilities networks
Monolithic installs VS single responsibilities networksMonolithic installs VS single responsibilities networks
Monolithic installs VS single responsibilities networks
 
Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014
 
Drupal 8 Initiatives
Drupal 8 InitiativesDrupal 8 Initiatives
Drupal 8 Initiatives
 
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths Debunked
 
Digital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal roleDigital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal role
 
Made with drupal 8
Made with drupal 8Made with drupal 8
Made with drupal 8
 
The potential in Drupal 8.x and how to realize it
The potential in Drupal 8.x and how to realize itThe potential in Drupal 8.x and how to realize it
The potential in Drupal 8.x and how to realize it
 
Drupal
DrupalDrupal
Drupal
 
Drupal's competition
Drupal's competitionDrupal's competition
Drupal's competition
 
DDD In Agile
DDD In Agile   DDD In Agile
DDD In Agile
 
Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015:
Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015: Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015:
Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015:
 
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessDrupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital Business
 

Similar a Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)

Symantec - From Early Drupal Adoption to the Latest Drupal Innovations
Symantec - From Early Drupal Adoption to the Latest Drupal InnovationsSymantec - From Early Drupal Adoption to the Latest Drupal Innovations
Symantec - From Early Drupal Adoption to the Latest Drupal Innovations
Tag1 Consulting, Inc.
 
How to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy CatastrophesHow to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy Catastrophes
Weaveworks
 

Similar a Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You) (20)

Software delivery @randstad
Software delivery @randstadSoftware delivery @randstad
Software delivery @randstad
 
Site Building with the End User in Mind
Site Building with the End User in MindSite Building with the End User in Mind
Site Building with the End User in Mind
 
Dev ops don't be left behind
Dev ops   don't be left behindDev ops   don't be left behind
Dev ops don't be left behind
 
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 
Agile Methods and Data Warehousing
Agile Methods and Data WarehousingAgile Methods and Data Warehousing
Agile Methods and Data Warehousing
 
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
 
Symantec - From Early Drupal Adoption to the Latest Drupal Innovations
Symantec - From Early Drupal Adoption to the Latest Drupal InnovationsSymantec - From Early Drupal Adoption to the Latest Drupal Innovations
Symantec - From Early Drupal Adoption to the Latest Drupal Innovations
 
GitOps and Its tools.pptx
GitOps and Its tools.pptxGitOps and Its tools.pptx
GitOps and Its tools.pptx
 
GitOps and Its tools.pptx
GitOps and Its tools.pptxGitOps and Its tools.pptx
GitOps and Its tools.pptx
 
DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left Behind
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
 
Replacing Lotus Notes Applications and Databases with Google
Replacing Lotus Notes Applications and Databases with GoogleReplacing Lotus Notes Applications and Databases with Google
Replacing Lotus Notes Applications and Databases with Google
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
How to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy CatastrophesHow to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy Catastrophes
 
How to sell drupal 8
How to sell drupal 8How to sell drupal 8
How to sell drupal 8
 
Instant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesInstant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositories
 
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
 
Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014
 

Más de Phase2

A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
Phase2
 
Drupal Is Not Your Web Site
Drupal Is Not Your Web SiteDrupal Is Not Your Web Site
Drupal Is Not Your Web Site
Phase2
 
Open data + open government open goodness
Open data + open government open goodnessOpen data + open government open goodness
Open data + open government open goodness
Phase2
 
Thinking Inside the Box Inside the Box Inside the Box
Thinking Inside the Box Inside the Box Inside the BoxThinking Inside the Box Inside the Box Inside the Box
Thinking Inside the Box Inside the Box Inside the Box
Phase2
 

Más de Phase2 (20)

Phase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2 Health and Wellness Brochure
Phase2 Health and Wellness Brochure
 
A Modern Digital Experience Platform
A Modern Digital Experience PlatformA Modern Digital Experience Platform
A Modern Digital Experience Platform
 
Beyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformBeyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience Platform
 
Omnichannel For Government
Omnichannel For Government Omnichannel For Government
Omnichannel For Government
 
Bad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live WebsitesBad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live Websites
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
 
The Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkThe Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 Talk
 
Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Fields, entities, lists, oh my!
Fields, entities, lists, oh my!
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and Tricks
 
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftNORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShift
 
User Testing For Humanitarian ID App
User Testing For Humanitarian ID AppUser Testing For Humanitarian ID App
User Testing For Humanitarian ID App
 
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module
 
Drupal Is Not Your Web Site
Drupal Is Not Your Web SiteDrupal Is Not Your Web Site
Drupal Is Not Your Web Site
 
Empathy For Idiots
Empathy For Idiots Empathy For Idiots
Empathy For Idiots
 
Open data + open government open goodness
Open data + open government open goodnessOpen data + open government open goodness
Open data + open government open goodness
 
How 'Open' Changes Product Development
How 'Open' Changes Product DevelopmentHow 'Open' Changes Product Development
How 'Open' Changes Product Development
 
Open Source Logging and Metrics Tools
Open Source Logging and Metrics ToolsOpen Source Logging and Metrics Tools
Open Source Logging and Metrics Tools
 
Open Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsOpen Source Logging and Monitoring Tools
Open Source Logging and Monitoring Tools
 
ReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public APIReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public API
 
Thinking Inside the Box Inside the Box Inside the Box
Thinking Inside the Box Inside the Box Inside the BoxThinking Inside the Box Inside the Box Inside the Box
Thinking Inside the Box Inside the Box Inside the Box
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Último (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)

  • 1. © 2015 Phase2 Drupal 8, Don’t Be Late
  • 2. © 2015 Phase2 About us Evan Liebman - Director of MSK Digital Frank Febbraro - CTO, Phase2 Michael Le Du - Head of Strategic Accounts, Phase2
  • 3. © 2015 Phase2 The time has come to consider Drupal 8
  • 4. © 2015 Phase2 Content as we know it, is changing ● Text and images (most websites) ● Multimedia (YouTube, Netflix, Spotify) ● Web Applications (Trello, Basecamp, Salesforce) ● Social Media Streams (Facebook, Twitter, etc) ● IoT (FitBit, Automatic for autos, Echobee)
  • 5. © 2015 Phase2 Content consumption has changed ● PCs consuming web pages ● Mobile (iPhone, iPad, Android) ● “Over the top” (AppleTV, Xbox/PS, Smart-TV) ● Wearables (Apple Watch, Google Glass) ● IoT (Amazon Echo, Smart appliances, Automotive)
  • 6. © 2015 Phase2 Dries addressed this in his keynote ● getNextBestExperience() ● Integrating with 3rd party services ● Pushing contextual content to different endpoints ● Personalized content experiences ○ No two experiences are the same ○ 100% dynamic
  • 7. © 2015 Phase2 Could you be disrupted? ● Does your current CMS allow you to easily distribute content in these channels? ● In a maintainable and extensible way? ● If you don’t make your content readily accessible where people consume it, and relevant to their context, someone else will (or already has).
  • 8. © 2015 Phase2 Don’t be “LEFT BEHIND”
  • 10. CONTENT. COLLABORATION. EXPERIENCE. Spoiler Alert!! Drupal 8 is already being used in production
  • 11. © 2015 Phase2 Why now is the time to consider Drupal 8 ● It’s being used in production ● Has stack support for all required components ● Less dependence on contrib ● Fully reap the benefits of the platform lifecycle ● Use a tool built for today and the future ● Become part of the solution ● A chance to attract the best talent
  • 12. © 2015 Phase2 Memorial Sloan Kettering Drupal 8 Case Study
  • 13. © 2015 Phase2 -Jacob Rockowitz “Drupal 8, Don’t Be Late”
  • 14. © 2015 Phase2 How the MSK Culture Inspired Us to Become an Early Adopter of Drupal 8 ● A culture of innovation ● Relentless pursuit, and unmatched expertise that results in breakthrough advances
  • 15. © 2015 Phase2 Collaborative Focus at MSK ● Multi-center studies driving the generation of new knowledge ● Cross service collaboration to aid the diagnosis and treatment, and research
  • 16. © 2015 Phase2 Why is Community important? ● We are all trying to solve similar problems ● People can leverage our work ● Can leverage other people’s work ● Allows bigger problems to be solved ● The community helps drives Innovation
  • 17. © 2015 Phase2 MSK’s Strategic Priorities ● Patient Experience ● Patient Access ● Innovation and Generation of New Knowledge ● Talent Recruitment ● Financial Sustainability
  • 18. © 2015 Phase2 Patient Experience and Access ● Easy access to the information the user needs
  • 19. © 2015 Phase2 Innovation and Generation of New Knowledge ● D8 cutting edge technology
  • 20. © 2015 Phase2 Talent Recruitment ● Broader the talent pool
  • 21. © 2015 Phase2 Financial Sustainability ● Gain the long term ROI from the investment, no need to re-platform in a few years
  • 22. © 2015 Phase2 So the Adventure Begins...and Successfully Launches ● MSKCC.org ● SloanKettering.edu
  • 23. © 2015 Phase2 This is more than a brochure site ● D6 site with 114 contrib ● D8 with 9 modules ● Serves 7 personas ● Related content ● Faceted search ● Webforms ● Online payment ● MailChimp Integration ● Prediction tools ● Multiple sites ● Multiple layouts ● PDF generation ● Multi server cluster ● LDAP authentication ● Data aggregation ● Data synchronization to apps
  • 24. © 2015 Phase2 Drupal 8’s Flexibility Simplified Problems ● Can centralize logic into services (layout logic, override controllers without hacking core) ● We created YAML Forms because there was no Web forms ● No Panels, we used HTML template expansion ● Many D8 module upgrades were only a few days of work ○ Redis, Memcache, Redirect, Node Order
  • 25. © 2015 Phase2 What else did we gain from Drupal 8? ● Developer velocity (once past the learning curve) ● MSK was able to participate in making Drupal 8 better
  • 26. © 2015 Phase2 Were there any surprises? ● Core features weren’t as “done” as most people believe them to be ● How easy it is to do powerful things with minimal code ● Lack of robust documentation ● The power of using YAML and how clean and readable it is ○ Non-programmers can create YAML docs
  • 27. © 2015 Phase2 What did we trade off with Drupal 8? ● There weren’t many contrib modules ● Lack of best practices and practical knowledge ● Core wasn’t even feature complete when it started ○ Migration, Views, CMI, APIs ● Core changed very fast, took work to keep up with breaking changes ● The project went live before a guaranteed upgrade path
  • 28. © 2015 Phase2 Drupal 8 Lessons Learned
  • 30. © 2015 Phase2 Dedicate a person to core ● Have one person focused primarily on “Core” issues ● The ground needs to be cleared for the team ● Shepherd patches into core ● Re-roll/revive stalled community efforts ● Sometimes you have to code around bugs in core
  • 31. © 2015 Phase2 Schedule for regular upgrades to core ● Either a known working HEAD or release ● Plan to pin/freeze within sight of launch ● Don’t let it go too long as debt accumulates ● Track the core changelog to understand what could affect you
  • 32. © 2015 Phase2 Don’t wait on contrib ● They might not catch up ○ Migration ○ Layout ○ Forms ○ Stack Components (memcache/redis) ○ LDAP
  • 34. © 2015 Phase2 Prototype to mitigate risk ● Get a site up and prototype key features and functionality ● Get your content to migrate and render ● Don’t worry about theming in the beginning (Bartik is fine) ● You can import using bulk insert
  • 35. © 2015 Phase2 Account for the learning curve ● Give the team time to navigate the learning curve ○ You’ll make it up later ○ Modern PHP / Services / Symfony / CMI enable more productivity ○ Teams need to learn new way ■ Learn to do things the right way via Services, etc. ■ They also need to unlearn old Drupal ways
  • 36. © 2015 Phase2 Don't assume you know what would go well ● Be ready to have a plan B & C (you’ll probably need it) ● Core features may not be as “done” as you think ● Plan for potential stack issues (PHP, Memcache, etc.) ● Be ready to make stack changes if needed ○ Memcache + PHP5.4 => Memcache + PHP 5.5
  • 38. © 2015 Phase2 Take advantage of the front end separation ● TWIG let’s the front end ramp up quickly ● Leverage grunt, bower, sass and other js tools ● Services and filters make it easier to “componentize” the frontend
  • 39. © 2015 Phase2 Front end component example
  • 40. © 2015 Phase2 Have tight collaboration between teams ● The frontend was built as a standalone prototype ● Once design was approved it was moved into Drupal ● Be flexible both ways ○ sometimes it’s easier to start with Drupal’s markup ○ Sometimes it better to modify TWIG templates
  • 41. © 2015 Phase2 Use testing to catch regressions ● Use PHPUnit and Behat to catch regressions ○ Custom code will break during upgrades (API changes) ○ Make identifying regressions easy and automated ○ Especially before a beta to beta migration path exists ○ Tests are easier to build when you are extending objects with existing test coverage
  • 42. © 2015 Phase2 Use build tools ● Automate, automate, automate ● Seriously, don’t wait to do this. ● We used a combination of Drush and Grunt ● Facilitate integration of multiple repos ● Code quality, testing, deployment, migration.
  • 43. © 2015 Phase2 Manage your dependencies ● Drush Make (now with YAML make file support) ● NPM for JS build dependencies ● Bower for the front end JS ● Grunt was used to materialize the site and build the frontend
  • 44. © 2015 Phase2 Make use of YAML where possible ● YAML Forms (webforms configured via YAML) ● Your users can write in YAML, seriously, ours do. ● YAML is a great format for serialization of data ● Install Symfony components to output YAML in D6/7
  • 45. © 2015 Phase2 Migration shouldn’t be a 2nd class citizen ● You may not use it after launch, but it is certainly not a throw away ● Constant migration is powerful but tricky ● Expect the migration to break across environments ○ And across core versions
  • 47. © 2015 Phase2 Make is easy to get developers setup ● Complex setups can be brittle across developers ● Our dev's needed VPN access, which was brittle ● Dev’s needed to run a long D6 to D8 migration
  • 48. © 2015 Phase2 Don't neglect your server environments ● Focus on the platform delayed getting our environments provisioned ● Get your servers up early ● Try to limit additional risk in the stack ● Hard to troubleshoot bugs can creep up here
  • 49. © 2015 Phase2 Small environmental differences can cause issues ● “Close enough” doesn’t always work to mimic prod ● Use all layers of the stack ○ As soon as you have something testable (or before) ● Even on the same servers, the hostname can change behavior ● HTTP vs HTTPS can cause differences
  • 50. © 2015 Phase2 Load testing !== production traffic ● Load tests are great indicators potential problems ● They don't actually guarantee anything ● Production traffic will always be different ○ Even when replaying production traffic logs ● Even “low traffic” times may surprise you ○ A spider started aggressively crawling at 5AM
  • 52. © 2015 Phase2 Drupal 8 Considerations ● Pick D8 candidates carefully ● No short timelines ● Have the right team ○ Drupal exp, quick learners, problem solvers, profilers ● Get involved with the community ○ You'll need their help
  • 53. © 2015 Phase2 Key Resources ● www.mskcc.org ● www.sloankettering.edu ● Adventures in Drupal 8: http://phase.to/1K8rKuX ● Driving Drupal 8 Adoption: http://phase.to/1cxvsQD ● Interview with Evan: http://phase.to/1K8qS9A ● Transforming Enterprises w/ Drupal 8 : http://phase.to/1K8r8Fx ● Phase2 & MSK: http://phase.to/1K8rsUI