openy: scaling and sharing with custom drupal distribution

69
Open Y: Scaling and Sharing with custom Drupal Distribution Alex Schedrov Team Lead, Software Architect at FFW #openy

Upload: drupalcampkyiv

Post on 17-Mar-2018

1.105 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: OpenY: Scaling and Sharing with Custom Drupal Distribution

Open Y: Scaling and Sharing with custom Drupal Distribution

Alex Schedrov Team Lead, Software Architect at FFW

#openy

Page 2: OpenY: Scaling and Sharing with Custom Drupal Distribution

ALEX SCHEDROVTeam Lead, Software Architect

I’m from Ukraine.

9 years in web development.

I dream about own music band !

http://dgo.to/@sanchiz

http://fb.me/schedrov

http://sanchiz.net/en

Page 3: OpenY: Scaling and Sharing with Custom Drupal Distribution

Open YAn open source platform for YMCAs, by YMCAs built on Drupal 8.

Page 4: OpenY: Scaling and Sharing with Custom Drupal Distribution

United States

874 Associations

2,700 locations

20 M Members

Worldwide

130 Countries

11,000 locations

58 M Participants

Page 5: OpenY: Scaling and Sharing with Custom Drupal Distribution

What is OpenY?

A philosophy that collaboration drives

innovation and impact

A community of YMCAs and technology

Partners

An open-source platform for marketing, ecommerce

and digital products

Page 6: OpenY: Scaling and Sharing with Custom Drupal Distribution

OPEN Y MAKES THE WORLD A BETTER PLACE :)

Page 7: OpenY: Scaling and Sharing with Custom Drupal Distribution

STARTINGPOINT

Page 8: OpenY: Scaling and Sharing with Custom Drupal Distribution

MISSION OF OPEN Y

Best customer experiences proven with data.

Collaboration platform.

Measurable cost reduction over time.

Scalable with evolving flexibility.

Speed on innovation and easy installation process.

Page 9: OpenY: Scaling and Sharing with Custom Drupal Distribution

Acceleration Funding

Community and volunteers

YMCA of Greater Twin Cities

YMCA of Greater Seattle

YMCA of Greater Houston

Other Committed YMCAs

ASSEMBLE OPEN YTake, adjust and incorporate.

Page 10: OpenY: Scaling and Sharing with Custom Drupal Distribution

EXAMPLE USER STORY

As a member of the YMCA, I will be able to purchase personal training packages from the website so I can attend a training session.

WHY?What is the expected functionality? What should the user be able to do?

Who is the targeted audience?

What is the significance of this, what does the given feature or functionality achieve?

A user story typically describes a business requirement and consists of 3 parts:

WHO?WHAT?

Page 11: OpenY: Scaling and Sharing with Custom Drupal Distribution

BACKLOG

Page 12: OpenY: Scaling and Sharing with Custom Drupal Distribution

MEDIUMSMALL

FLEXIBILITY

LARGE

Page 13: OpenY: Scaling and Sharing with Custom Drupal Distribution

ARCHITECTURE

FRONT-ENDCUSTOMER

Page 14: OpenY: Scaling and Sharing with Custom Drupal Distribution

THE ROAD TO OPEN Y

Page 15: OpenY: Scaling and Sharing with Custom Drupal Distribution

https://youtu.be/L4ztBMpBmoQ

Page 16: OpenY: Scaling and Sharing with Custom Drupal Distribution

How to provide scalability and flexibility?

CHALLENGE #1

Challenge accepted!

Page 17: OpenY: Scaling and Sharing with Custom Drupal Distribution

Component based architecture

Page 18: OpenY: Scaling and Sharing with Custom Drupal Distribution

CUSTOMIZABLEAREA

Page 19: OpenY: Scaling and Sharing with Custom Drupal Distribution

Static

Dynamic

StaticStatic

Component #1

Component #2

Component #3

Component #4

Page 20: OpenY: Scaling and Sharing with Custom Drupal Distribution

WE ♥ PARAGRAPHS

https://www.drupal.org/project/paragraphs

Page 21: OpenY: Scaling and Sharing with Custom Drupal Distribution

COMPONENT

Components - paragraphs that render static fields or dynamic blocks.

Page 22: OpenY: Scaling and Sharing with Custom Drupal Distribution

OPEN Y COMPONENT TYPES

Page 23: OpenY: Scaling and Sharing with Custom Drupal Distribution

STATIC COMPONENT DYNAMIC COMPONENT

Page 24: OpenY: Scaling and Sharing with Custom Drupal Distribution

DO YOU KNOW COMMON PROBLEM OF MOST DRUPAL DISTRIBUTIONS?

It’s difficult to disable modules.

Page 25: OpenY: Scaling and Sharing with Custom Drupal Distribution

NOW "DECOUPLED" IS MY FAVORITE WORD!

And we have minimum of dependencies…

Page 26: OpenY: Scaling and Sharing with Custom Drupal Distribution

PARTS OF THE DISTRIBUTION ARE 95% DECOUPLED AND NOT RELATED TO Y SPECIFICS.

Page 27: OpenY: Scaling and Sharing with Custom Drupal Distribution

Integrations with 3rd party services!

CHALLENGE #2

Page 28: OpenY: Scaling and Sharing with Custom Drupal Distribution

IS IT A BACKGROUND JOB?

Page 29: OpenY: Scaling and Sharing with Custom Drupal Distribution

IS IT A BACKGROUND JOB?

NEW SERVICE!

Page 30: OpenY: Scaling and Sharing with Custom Drupal Distribution

SHOULD IT BE DISPLAYED?

Page 31: OpenY: Scaling and Sharing with Custom Drupal Distribution

SHOULD IT BE DISPLAYED?

NEW COMPONENT!

Page 32: OpenY: Scaling and Sharing with Custom Drupal Distribution
Page 33: OpenY: Scaling and Sharing with Custom Drupal Distribution
Page 34: OpenY: Scaling and Sharing with Custom Drupal Distribution
Page 35: OpenY: Scaling and Sharing with Custom Drupal Distribution
Page 36: OpenY: Scaling and Sharing with Custom Drupal Distribution

Installation Process

CHALLENGE #3

Page 37: OpenY: Scaling and Sharing with Custom Drupal Distribution

TECHNICAL INSTALLATION

https://github.com/kevin940726/nyan-progress

* in progress

https://youtu.be/ce3o9ykFGP0

Page 38: OpenY: Scaling and Sharing with Custom Drupal Distribution

NON-TECHNICAL INSTALLATION

* in progress

Page 39: OpenY: Scaling and Sharing with Custom Drupal Distribution

Install1

Install OpenY using Wizard or CLI and complete installation process.

Page 40: OpenY: Scaling and Sharing with Custom Drupal Distribution

Customize2

Customize appearance and pages.

Page 41: OpenY: Scaling and Sharing with Custom Drupal Distribution

Launch3

Complete DNS change, security checks, GoLive checklist and announce launch.

Page 42: OpenY: Scaling and Sharing with Custom Drupal Distribution

Get features4

Get new features from the Y community.

Page 43: OpenY: Scaling and Sharing with Custom Drupal Distribution

Upgrade Path

CHALLENGE #4

Page 44: OpenY: Scaling and Sharing with Custom Drupal Distribution

OPEN Y 1.0

LIVE SITE

OPEN Y 1.1

Page 45: OpenY: Scaling and Sharing with Custom Drupal Distribution

https://github.com/ymcatwincities/openy/tree/8.x-1.x/modules/custom/openy_upgrade_tool

Page 46: OpenY: Scaling and Sharing with Custom Drupal Distribution

15:30, "Conference 2" Hall

Session about Upgrade Path

#openy

Don’t fight with windmills. Upgrade path tool from OpenY distro.

Igor Karpylenko

Page 47: OpenY: Scaling and Sharing with Custom Drupal Distribution

Continuous Integration

CHALLENGE #5

Page 48: OpenY: Scaling and Sharing with Custom Drupal Distribution

WHEN I REALIZED HOW MANY BUILDS WE SHOULD HAVE

Page 49: OpenY: Scaling and Sharing with Custom Drupal Distribution

BUILD

Vanilla installation Behat tests

Installation steps Code Sniffers

Upgrade from previous versions

Composer build+* in progress

Page 50: OpenY: Scaling and Sharing with Custom Drupal Distribution
Page 51: OpenY: Scaling and Sharing with Custom Drupal Distribution
Page 52: OpenY: Scaling and Sharing with Custom Drupal Distribution

AND YOU KNOW…

Page 53: OpenY: Scaling and Sharing with Custom Drupal Distribution

SUCCESS!

Page 54: OpenY: Scaling and Sharing with Custom Drupal Distribution

OPEN YTODAY

Page 55: OpenY: Scaling and Sharing with Custom Drupal Distribution

EVALUATE OPEN YSANDBOX.OPENYMCA.ORG

Username: admin Password: openy

The sandbox is the fastest and most convenient way to experience Open Y. All changes are reset every two hours.

We will update Sandbox with the latest Open Y stable release.

Page 56: OpenY: Scaling and Sharing with Custom Drupal Distribution

WANT THE OPEN Y?www.openymca.org Open Y landing site with all information about distribution.

www.drupal.org/project/openy *bit.ly/openy-dorg

The home of Open Y on the Drupal community website.

Page 57: OpenY: Scaling and Sharing with Custom Drupal Distribution

WANT THE CODE?github.com/ymcatwincities/openy *bit.ly/openy-github

Installation profile and all OpenY features.

github.com/ymcatwincities/openy-project *bit.ly/openy-project-github

Composer project(wrapper) for easy installation process.

Page 58: OpenY: Scaling and Sharing with Custom Drupal Distribution

composer create-project ymcatwincities/openy-project MY_PROJECT --no-interaction --no-dev

composer create-project ymcatwincities/openy-project:8.1.x-development-dev MY_PROJECT --no-interaction --no-dev

INSTALLATIONLatest stable

Latest development

cibox.tools docksal.io

Development environment

Page 59: OpenY: Scaling and Sharing with Custom Drupal Distribution

composer create-project ymcatwincities/openy-project MY_PROJECT --no-interaction --no-dev

composer create-project ymcatwincities/openy-project:8.1.x-development-dev MY_PROJECT --no-interaction --no-dev

INSTALLATIONLatest stable

Latest development

cibox.tools docksal.io

Development environment

Page 60: OpenY: Scaling and Sharing with Custom Drupal Distribution

MATERIALSbit.ly/openy-baltimore-2017 DrupalCon talk about Open Y Distribution.

bit.ly/openy-acquia-webinar Acquia Webinar that is continuation of our DrupalCon Talk.

www.drupal.org/node/2870762 *bit.ly/openy-case-study

Case study about Drupal Distribution for YMCA’s.

buytaert.net/how-the-ymca-uses-drupal-to-accelerate-its-mission *bit.ly/openy-dries

How the YMCA uses Drupal to accelerate its mission.

Page 61: OpenY: Scaling and Sharing with Custom Drupal Distribution

ANNOUNCEMENT

Page 62: OpenY: Scaling and Sharing with Custom Drupal Distribution

NOW EVERY Y CAN GET NEW, SECURE AND POWERFUL WEBSITE

IN ~15 MINUTES.

https://youtu.be/RCvsLANsbm8

Page 63: OpenY: Scaling and Sharing with Custom Drupal Distribution

NOW EVERY SMALL Y CAN USE FEATURES THAT ONLY LARGE Y

COULD AFFORD.

Page 64: OpenY: Scaling and Sharing with Custom Drupal Distribution

DIGITALEXPERIENCE

DELIVERY

Page 65: OpenY: Scaling and Sharing with Custom Drupal Distribution

ONBOARDING & INSTALLATION WITHOUT DEVELOPMENT

Page 66: OpenY: Scaling and Sharing with Custom Drupal Distribution

Installation Wizard3.

Installation wizard that should allow customers to setup new Open Y site and a few clicks.

Migrations4.

Migrate content from old website withou development effort. In addition tutorials for custom migrations.

In-place documentation in the CMS that will walk user through User Interface and explain basics.

In-place docs1.

Video/text tutorials that give customers understanding of how to configure Open Y, setup various features and use distribution.

Tutorials2.

Page 68: OpenY: Scaling and Sharing with Custom Drupal Distribution

Sunday, Jun 9, 2017

Join Us for Contribution Sprints

#openy

OpenY Sprint Track

Page 69: OpenY: Scaling and Sharing with Custom Drupal Distribution

#openy

QUESTIONS?

THANK YOU!