Open Y: Scaling and Sharing with custom Drupal Distribution
 Alex Schedrov Team Lead, Software Architect at FFW #openy
ALEX SCHEDROV Team 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
Open Y
 
An open source platform for YMCAs, by YMCAs built on Drupal 8.

United States 874 Associations 2,700 locations 20 M Members Worldwide 130 Countries 11,000 locations 58 M Participants
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
OPEN Y MAKES THE WORLD A BETTER PLACE :)
STARTING
 POINT
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.
Acceleration Funding Community and volunteers YMCA of Greater Twin Cities YMCA of Greater Seattle YMCA of Greater Houston Other Committed YMCAs ASSEMBLE OPEN Y Take, adjust and incorporate.
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?
BACKLOG
MEDIUMSMALL FLEXIBILITY LARGE
ARCHITECTURE FRONT-ENDCUSTOMER
THE ROAD TO OPEN Y

https://youtu.be/L4ztBMpBmoQ
How to provide scalability and flexibility? CHALLENGE #1 Challenge accepted!
Component 
 based architecture
CUSTOMIZABLE
 AREA
Static Dynamic Static Static Component #1 Component #2 Component #3 Component #4
WE ♥ PARAGRAPHS https://www.drupal.org/project/paragraphs
COMPONENT Components - paragraphs that render static fields or dynamic blocks.
OPEN Y COMPONENT TYPES
STATIC COMPONENT DYNAMIC COMPONENT
DO YOU KNOW COMMON PROBLEM OF MOST DRUPAL DISTRIBUTIONS? It’s difficult to disable modules.
NOW "DECOUPLED" IS MY FAVORITE WORD! And we have minimum of dependencies…
PARTS OF THE DISTRIBUTION ARE 95% DECOUPLED AND NOT RELATED TO Y SPECIFICS.
Integrations with 3rd party services! CHALLENGE #2
IS IT A BACKGROUND JOB?
IS IT A BACKGROUND JOB? NEW SERVICE!
SHOULD IT BE DISPLAYED?
SHOULD IT BE DISPLAYED? NEW COMPONENT!
Installation Process CHALLENGE #3
TECHNICAL INSTALLATION https://github.com/kevin940726/nyan-progress * in progress https://youtu.be/ce3o9ykFGP0
NON-TECHNICAL INSTALLATION * in progress
Install1 Install OpenY using Wizard or CLI and complete installation process.
Customize2 Customize appearance and pages.
Launch3 Complete DNS change, security checks, GoLive checklist and announce launch.
Get features4 Get new features from the Y community.
Upgrade Path CHALLENGE #4
OPEN Y 1.0 LIVE SITE OPEN Y 1.1
https://github.com/ymcatwincities/openy/tree/8.x-1.x/modules/custom/openy_upgrade_tool
15:30, "Conference 2" Hall Session about Upgrade Path #openy Don’t fight with windmills. Upgrade path tool from OpenY distro. Igor Karpylenko
Continuous Integration CHALLENGE #5
WHEN I REALIZED HOW MANY BUILDS WE SHOULD HAVE
BUILD Vanilla installation Behat tests Installation steps Code Sniffers Upgrade from previous versions Composer build+ * in progress
AND YOU KNOW…
SUCCESS!
OPEN Y
 TODAY
EVALUATE OPEN Y SANDBOX.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.
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.
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.
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 INSTALLATION Latest stable Latest development cibox.tools docksal.io Development environment
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 INSTALLATION Latest stable Latest development cibox.tools docksal.io Development environment
MATERIALS bit.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.
ANNOUNCEMENT
NOW EVERY Y CAN GET NEW, SECURE AND POWERFUL WEBSITE IN ~15 MINUTES. https://youtu.be/RCvsLANsbm8
NOW EVERY SMALL Y CAN USE FEATURES THAT ONLY LARGE Y COULD AFFORD.
DIGITAL
 EXPERIENCE DELIVERY
ONBOARDING & INSTALLATION WITHOUT DEVELOPMENT
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.
OpenYMCA.org alexander.schedrov@gmail.com
Sunday, Jun 9, 2017 Join Us for Contribution Sprints #openy OpenY Sprint Track
#openy QUESTIONS? THANK YOU!

OpenY: Scaling and Sharing with Custom Drupal Distribution