Top Banner
© 2015 Phase2 Drupal 8, Don’t Be Late
55

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

Jul 20, 2015

Download

Software

Phase2
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)

© 2015 Phase2

Drupal 8, Don’t Be Late

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

© 2015 Phase2

About us

Evan Liebman - Director of MSK Digital

Frank Febbraro - CTO, Phase2

Michael Le Du - Head of Strategic Accounts, Phase2

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

© 2015 Phase2

The time has come to consider Drupal 8

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

© 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)

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

© 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)

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

© 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

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

© 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).

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

© 2015 Phase2 Don’t be “LEFT BEHIND”

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

CONTENT. COLLABORATION. EXPERIENCE.

Drupal 8Now?

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

CONTENT. COLLABORATION. EXPERIENCE.

Spoiler Alert!!Drupal 8 is already being used in

production

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

© 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

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

© 2015 Phase2

Memorial Sloan KetteringDrupal 8 Case Study

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

© 2015 Phase2

-Jacob Rockowitz

“Drupal 8, Don’t Be Late”

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

© 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

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

© 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

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

© 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

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

© 2015 Phase2

MSK’s Strategic Priorities

● Patient Experience● Patient Access● Innovation and Generation of New Knowledge● Talent Recruitment● Financial Sustainability

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

© 2015 Phase2

Patient Experience and Access

● Easy access to the information the user needs

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

© 2015 Phase2

Innovation and Generation of New Knowledge● D8 cutting edge technology

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

© 2015 Phase2

Talent Recruitment

● Broader the talent pool

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

© 2015 Phase2

Financial Sustainability

● Gain the long term ROI from the investment, no need to re-platform in a few years

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

© 2015 Phase2

So the Adventure Begins...and Successfully Launches● MSKCC.org● SloanKettering.edu

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

© 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

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

© 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

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

© 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

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

© 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

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

© 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

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

© 2015 Phase2

Drupal 8 Lessons Learned

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

CONTENT. COLLABORATION. EXPERIENCE.

Managing Core & Contrib

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

© 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

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

© 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

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

© 2015 Phase2

Don’t wait on contrib

● They might not catch up○ Migration○ Layout○ Forms○ Stack Components (memcache/redis)○ LDAP

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

CONTENT. COLLABORATION. EXPERIENCE.

Addressing Risk

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

© 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

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

© 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

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

© 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

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

CONTENT. COLLABORATION. EXPERIENCE.

Pulling It All Together

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

© 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

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

© 2015 Phase2

Front end component example

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

© 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

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

© 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

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

© 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.

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

© 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

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

© 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

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

© 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

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

CONTENT. COLLABORATION. EXPERIENCE.

Managing Environments

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

© 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

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

© 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

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

© 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

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

© 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

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

CONTENT. COLLABORATION. EXPERIENCE.

How can you get started?

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

© 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

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

© 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

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

CONTENT. COLLABORATION. EXPERIENCE.

Q&A

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

PHASE2TECHNOLOGY.COM