building, collaborating and scaling drupal distributions for federated organizations

60
Building, Collaborating and Scaling Drupal Distributions for Federated Organizations Alex Schedrov Team Lead, Software Architect at FFW Craig Paulnock Assoc. VP of Digital Product, YMCA of the Greater Twin Cities John Kennedy Product Manager, Acquia #openy

Upload: acquia

Post on 17-Mar-2018

1.255 views

Category:

Software


0 download

TRANSCRIPT

Building, Collaborating and Scaling Drupal Distributions for Federated Organizations

Alex Schedrov Team Lead, Software Architect at FFW Craig Paulnock Assoc. VP of Digital Product, YMCA of the Greater Twin Cities John Kennedy Product Manager, Acquia

#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/

JOHN KENNEDYOpen Source Product Manager

I’m from Australia.

15 years in Cloud & Open SourceI dance West Cost Swing 🕺

http://dgo.to/@johnkennedy

https://www.linkedin.com/in/johnakennedy/

https://twitter.com/CommerceJohn

CONTINUATION

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

DrupalCon Baltimore 2017 session about Open Y distribution where we examine how we are leveraging open source, Drupal 8 with one of the largest federated non-profit organization in the world, the YMCA.

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

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

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

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.

FROM YMCAMN.ORG TO OPEN Y

CORE TEAMThe core team consists of Y team members who are responsible for the Open Y distribution, maintenance and roadmap.

This team is tasked with the goal of ensuring Open Y meets the needs of the associations and the people we serve.

Acceleration Funding

Community and volunteers

YMCA of Greater Houston

YMCA of Greater Seattle

YMCA of Greater Twin Cities

Other Committed YMCAs

HOW OPEN Y IS BUILT

YMCA of Greater Twin Cities

Group Exercise Schedule

Personal Training

Retention Campaign

EXAMPLE FEATURE

User stories and requirements are

reviewed by Open Y core team

Personal Training on ymcamn.org

Feature is Decoupled

Submitted as “Pull Request”

Feature is reviewed by Open Y core

team

Feature is merged into the Open Y codebase

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

QUESTIONS?

#openyOpenYMCA.org

OPEN Y DISTRIBUTION

INSTALLATION

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

INSTALLATIONLatest stable

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

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

*github.com/acquia/blt* - not part of OpenY

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

*github.com/acquia/blt* - not part of OpenY

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

WHAT IS THE DISTRIBUTION?

WHAT IS THE DISTRIBUTION?

Setup of features out of the box.

FLEXIBILITY

SMALL

FLEXIBILITY

MEDIUMSMALL

FLEXIBILITY

MEDIUMSMALL

FLEXIBILITY

LARGE

MEDIUMSMALL

FLEXIBILITY

LARGE

COMMON YMCA FEATURES

PROGRAMS STRUCTURE

Customers can explore all available programs and categories provided by the Y.

sandbox.openymca.org/programs/swimming

MEMBERSHIPMembership calculator - page where customers and potential members can explore all available membership types and proceed with checkout.

sandbox.openymca.org/join

LOCATIONSLocations finder - place where customers can find all branches, camps and offsite locations.

Contain various filters that allow to narrow down search results.

sandbox.openymca.org/locations

Branch page itself contains all necessary information about branch, such as branch hours, address, phone, latest blog posts and etc.

BRANCHESsandbox.openymca.org/locations/east-ymca

SCHEDULESSchedules page provides easy and quick access to the timetable of classes and sessions.

This page also provides quick access to the registration and main information about classes.

sandbox.openymca.org/schedules

COMPONENT

Components - paragraphs that render static fields or dynamic blocks.

OPEN Y COMPONENT TYPES

STATIC COMPONENT

STATIC COMPONENT DYNAMIC COMPONENT

Content

Landing Page

Y structure and schedule Locations

Membership

Example: Homepage, Schedule, About

Used for adding different pages to the websites that will display Open Y components.

Blog Post

Blog posts are used to add content to the webiste, like news, stories and updates.

Alert

Alerts are used to add very important messages to the website that should be prominent.

Program

Category

Activity

Class

Session

Example: Swimming, ChildCare, Kids and Family, Health & Fitness

Example: Drop-In Swim, Swim Lessons, Personal Training

Example: Swim Lesson - Adult, Small Group Training - Youth

Example: Small Group Training - Yoga, Swim Team - Beginning

Example: Lap Swim(every Monday at 9:00AM)

Branch

Camp

Facility (offsite location)

Example: West YMCA, Downtown YMCA, White Bear Area

Example: Day Camp, Family Camp, Summer Camp

Example: Bear Creek Elementary, Cottage Lake Park

MembershipExample: Family, Couple, Youth, Adult, Senior

OTHERFEATURES

USER GUIDECurrent documentation is at GitHub.

The code comes with a Guided Tour feature that will help to introduce people to Open Y administration.

langcode: en status: true dependencies: module: - menu_ui id: openy-menu-overview label: 'OpenY Menu Overview' module: openy_menu routes: - route_name: entity.menu.collection tips: main-navigation: id: main-navigation plugin: text label: 'Main Navigation Block' body: 'This Navigation Block is what appears in the header, or "top" of your page. This is where you have all of the links on your site for pages like Locations or Schedules. This is the block we will edit later to add or make changes to the main navigation on your Open Y site.' weight: 2 attributes: data-class: 'menu-label:contains("Main navigation")'

github.com/ymcatwincities/openy/blob/8.x-1.x/modules/openy_features/openy_menu/config/optional/tour.tour.openy-menu-overview.yml

DEMO CONTENTUsing Migrate module and «embedded_data» plugin we generate demo content from YAML files.

Moreover it may be removed any time (migrate rollback).

THEMEThe included theme, called Rose, currently comes with three color pre-sets based on YMCA branding standards and can be customized using Drupal Core module - Color.

A LOT MORE FEATURES…

CHECK THEM OUT ON SANDBOX.OPENYMCA.ORG

ORGITHUB.COM/YMCATWINCITIES/OPENY

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

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

In-place docs1.

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.

Installation Wizard3.

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

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.

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

QUESTIONS?

THANK YOU!

#openyOpenYMCA.org