Scaling and sharing: Building custom drupal distributions for federated organizations

Preview:

Citation preview

Scaling and Sharing Building Custom Drupal Distributions for Federated Organizations

Alex Schedrov & Craig Paulnock

EVALUATE!

http://bit.ly/openy-baltimore-2017

#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

CRAIG PAULNOCKAssociate VP of Digital Product

and Innovation

20 years WebDev, PM, Prod.I’m daydreaming about snowboarding right now🏂

http://dgo.to/@cpaulnock

https://linkedin.com/in/craigpaulnock/

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

United States

874 Associations

2,700 locations

20 M Members

Worldwide

130 Countries

11,000 locations

58 M Participants

There are YMCAs in more than 130 countries, each serving the unique needs of their community.

The Y is more than a Gym

For many, this is the only way we are seen.

We develop youth, inspire healthy living, and change our communities.

We have lofty goals, limited resources, and need to change public perception.

We are not meeting these needs. We require a national tool that will better communicate and deliver our mission digitally.

Customers expect great

experiences online.

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

For YMCAs • Open platform built by YMCAs for YMCAs –

ownership of the entire experience • Speed of innovation / reduced cost • Low switching cost • Freedom to work with agencies and hosting

providers • An opportunity for youth to be involved in

working, building and shaping the platform

For Agencies • Focus on user experience, not technology • Re-use, don’t re-build • Competitive cost proposal • Risk mitigation • Lower cost for research & development • Leverage work of the open source

community

For Technology

Partners • Leveraging open standards for system

integrations. • Using service oriented architecture to

create new experiences for the customer • Expand and enhance API and web services • Ability to focus on core offerings

What are we building?

A connected, customizable, and low cost web platform.

CUSTOMER EXPERIENCE PLATFORM

MARKETING COMMUNICATION

FITNESS EQUIPMENT

PERSONALTRAINING

GROUP FITNESS

STRATEGY & EXECUTION

A/B TESTING

CUSTOMER RELATIONSHIP MANAGEMENT

DATABASE ACTIVITY MONITORING

Operating Model

Investment from National Y Associations

YMCA Twin Cities strategy and repository owner

Agency and Technology Partners

Communication

OpenYMCA.org Twice Annual Summits

Slack

Email newsletter Youtube Tutorials Drupal.org & GitHub

Political Puzzle Pieces

Vision

Clear purpose Serves all Real benefits

Inclusion

Alliances Multiple voices Organic growth

Decision

On Message No Buy-in Ownership

Action

Solution Space and pace We versus me

Committed (21)

Evaluating (25)

In 10 months …

Of the 40 Ys we looked at, most are, or are moving to Drupal.

YMCA Drupal Adoption

Other 21%

36%

27%

15%

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.

KNOWLEDGE ABOUT Ys

THE Y HISTORY

DIGITAL PRODUCS

BRANDS GUIDELINES

Y TECH MEMBERSHIP, FITNESS

CHILDCARE, CAMPS

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.

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 CONSISTS OF:

Model

Controller

View (tough one)+* in progress

Grayscale design+* in progress

Tests+* in progress

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…

OPEN Y ARCHITECTURE

Analytics/Tracking

Presentation

Core features

Data structure

CRM DAM MarketingA/B

testingDonation Etc

Web social

Mobile

Connected Screens, Fitness equip.

Data Layer

Integration

Web services

- 3rd party services

- integration layers

- OpenY

- interaction

GROUPS

CRM

Analytics/Tracking

Presentation

Core features

Data structure

DAM Marketing A/B testing Donation Etc

Web social

Mobile

Connected Screens, Fitness equip.

Data Layer

Integration

Web services

- 3rd party services

- integration layers

- OpenY

- interaction

Rose theme Orchid theme Cup theme * theme

Content scheduling Alerts Content Workflow Webforms

SEO Page Builder Location finder Pesonalization

Location Camps Page Blog Post

Category Activity Class Session

ActiveNet

Personify

NetX

WebDAM

Adobe MC

SF MC

Google Opt.

Optimize.ly

ActiveNet

Blackbaud

MindBody

GroupEx Pro

- component

COMPONENTS

MEDIUMLOW

COMPLEXITY

HIGH

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?

NEW SERVICE!

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

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

WANT THE CODE?www.drupal.org/project/openy *bit.ly/openy-dorg

The home of Open Y on the Drupal community website.

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

The master repository where we encourage folks to contribute to the code.

www.openymca.org

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

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.

ANNOUNCEMENT

NOW EVERY Y CAN GET NEW, SECURE AND POWERFUL WEBSITE

IN ~15 MINUTES.

https://youtu.be/RCvsLANsbm8

COMMUNITY & CONTRIBUTION

HOW CAN I CONTRIBUTE CODE?

Commit & push changes into your fork.

Create fork of main project.

Write steps for review so maintainers can verify your fix/feature.

Create a new Pull Request.

Ask maintainers for review.

OTHER WAYS TO CONTRIBUTE TO OPEN Y WITHOUT CODE

1

5

Creative concepts

Content

Digital best practices and knowledge sharing

Volunteering for core team, Open Y summits, etc.

Documentation and user guide

2

3

4

6

10

7

8

9

User testing

Analytics data

Asset sharing

Requirement gathering

Translation

GET DRUPAL.ORG CREDITS Contribute and get drupal.org credits and commits.

BENEFITS FROM OPEN Y CONTRIBUTION in Drupal Community

GROW TO OPEN Y EXPERT Learn distribution architecture, workflows and approaches.

KEEP THE MOMENTUM AND GET NEW CLIENTS Be part of that digital breakthrough for YMCA!

THANK YOU, TEAM!

Our next focus is building community.

First-Time Sprinter Workshop

9:00am-12:00pm Room: 307-308

#drupalsprints

Friday, April 28, 2017

Mentored Core Sprint 9:00am-12:00pm

Room:301-303

General Sprints 9:00am-6:00pm Room:309-310

Join Us for Contribution Sprints

Friday, April 28, 2017

Join Us for Contribution Sprints

#openy

OpenY Sprint Track

EVALUATE OUR SESSION!http://bit.ly/openy-baltimore-2017

THANK YOU!

https://www.surveymonkey.com/r/drupalconbaltimore

#openy

Recommended