Open Y: Scaling and Sharing with custom Drupal Distribution
Alex Schedrov Team Lead, Software Architect at FFW
#openy
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
Open YAn 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 :)
STARTINGPOINT
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 YTake, 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
CUSTOMIZABLEAREA
Static
Dynamic
StaticStatic
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 YTODAY
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.
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
INSTALLATIONLatest 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
INSTALLATIONLatest stable
Latest development
cibox.tools docksal.io
Development environment
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.
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.
DIGITALEXPERIENCE
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.
Sunday, Jun 9, 2017
Join Us for Contribution Sprints
#openy
OpenY Sprint Track
#openy
QUESTIONS?
THANK YOU!