Sector(s)
Team Members
Visit the site
Visit the siteOrganizations Involved
Community contributions
Open Y developers committed thousand of high-quality code libraries and modules, shared on Drupal.org for usages within and outside of distribution. In terms of the number of commits Open Y is next to Drupal core
Doing digital well can be quite expensive. Open Y brings the best of digital together in a way that’s open and accessible to all YMCAs—regardless of size or budget. It allows a sharing infrastructure that preserves each individual YMCA’s autonomy.
WHAT IS IT?
Philosophy
Open Y is the belief that working together—YMCA associations, the YUSA, and partners—drives innovation and impact for all to learn, grow, and thrive. Through collaboration, it’s easier for all of us to communicate and connect with customers across marketing channels.
Community
Open Y works to align, create, and deliver better, faster, and cheaper digital experiences—for today and tomorrow. We’re building a shared ecosystem to support and enable our future. When we work together, we move individuals, families, and communities forward.
Digital platform
Open Y starts with your website and extends to other digital products, bringing together data and tools from membership, registration, fundraising, and volunteer systems. Instead of individually investing in proprietary or fee-based digital platforms, we can use the same solution that’s always evolving to best meet the needs of YMCAs.
About the project
In 2020, the Drupal community came to Drupal 9 release in the middle of the COVID-19, and Open Y team started planning of upgrading the whole distribution to Drupal 9.
Key points of the strategy
- Update contrib modules first and release the latest Drupal 8 version of distribution to the end of 2020 in order to provide smooth upgrade path.
- Upgrade Drupal core to 9 in Febuary 2021
For bullet #1 key points
- To create a list of modules/libraries Open Y distribution has ( more than 400 currently in distribution )
- To determine which modules are ready for Drupal 9, which are not. ( we faced with a list of about 50 modules that were not ready )
- Add all ready to go modules' versions to composer.json and release them in point releases in order to decrease the number of upgrade frictions later and release in Drupal 8 point releases for the community to test and upgrade.
- Create forks for the modules from Drupal.org with a lack of maintainers' response. Patch them in order to start working with Drupal 9. Add patches to respective issue queues and wait for the review. Obtain co-maintainer access in order to move faster.
- Build public sandboxes for the Drupal 9 development branch for all 12 variations of Open Y, when the code is ready
- Start the QA process in order to find regressions
- Fix regressions or provide an upgrade path for UX/functionality changes
- Fix all critical bugs for all dependencies in order to link to beta/stable versions for the Open Y release date.
- Deprecate all code that is not anymore needed in Drupal 9 and decouple/remove it from the distribution.
For bullet #2
- To decide if we should go with Drupal 9.0.x or 9.1.x should be allowed to. Code and all CI seems to be working fine with 9.1.x branch, but there is a lack of resources to do a complete QA.
Major outcome
- Drupal core is currently moving very fast for the distributions to catch up with the pace.
- Getting access for the Distribution's team as a co-maintainer for the modules is essential in order to move forward with the upgrade path and releasing needed versions.
- In order to build a flexible module - important to not lock to the specific major version of a dependency, like Drupal core. Because there is no way to create a project from composer due to dependencies check fails.
- Having Continuous Integration is an essential requirement.
- Having smoke tests is a must.
Why Drupal was chosen
Back in 2015, Drupal was chosen as a replacement for the proprietary PHP system, which was too slow for change management and too expensive for the non-profit YMCA. Since then Open Y did more than 80 releases of distribution and hundreds of deployments across US, Canada, and Ukraine
Technical Specifications
Drupal version:
Key modules/theme/distribution used: