ycloudyusa/yusaopeny
最新稳定版本:11.1.1.0-alpha1
Composer 安装命令:
composer require ycloudyusa/yusaopeny
包简介
YMCA Website Services Drupal distribution
README 文档
README
YMCA Website Services
ycloud.y.org/open-y-association-websites
An open-source platform for YMCAs, by YMCAs, built on Drupal.
YMCA Website Services Distribution
YMCA Website Services (formerly OpenY) is a Drupal distribution built specifically for YMCAs. This repository contains the installation profile that provides content types, modules, configuration, and features for building YMCA websites.
- Distribution Repository: https://github.com/YCloudYUSA/yusaopeny
- Project Template: https://github.com/YCloudYUSA/yusaopeny-project
- Documentation: https://ds-docs.y.org
- Community: https://ycloud.y.org/open-y-association-websites
System Requirements
- Drupal: 11.1.x
- PHP: 8.3 or higher
- Composer: 2.0 or higher
- Database: MySQL 8.0+ or MariaDB 10.6+
- Web Server: Apache 2.4+ or Nginx 1.18+
For detailed server requirements, see the YMCA Website Services server requirements.
Quick Start
Create a New Project
Latest stable release:
composer create-project ycloudyusa/yusaopeny-project MY_PROJECT --no-interaction
cd MY_PROJECT
Latest development version (Drupal 11):
composer create-project ycloudyusa/yusaopeny-project:dev-main-development MY_PROJECT --no-interaction
cd MY_PROJECT
Development Environments
Docksal (Recommended)
Docksal provides a complete Docker-based development environment:
# Install Docksal (if not already installed) # See https://docksal.io/installation # Initialize the project fin init # Access the site # Default URL: http://yusaopeny.docksal.site
For more details, see the installation documentation.
DDEV
DDEV support is available with basic configuration in the .ddev/ directory.
Manual Installation
If using your own environment, after creating the project:
# Configure your database settings # Edit docroot/sites/default/settings.php # Install Drupal with the Web UI # Visit your site in a browser and follow the installation wizard # OR install via Drush (recommended for developers) cd docroot drush site:install openy \ openy_configure_profile.preset=complete \ openy_theme_select.theme=openy_carnation \ openy_terms_of_use.agree_openy_terms=1 \ install_configure_form.enable_update_status_emails=NULL \ --account-name=admin \ --site-name='YMCA Website Services' \ --yes
Installation Presets
The profile offers installation presets that determine which feature packages are enabled:
Small Y (Recommended - Default)
- Status: Standard and Small Y profiles are being merged into this unified installation
- Streamlined installation suitable for most YMCA organizations
- Includes: Alerts, Analytics, Editorial, Locations, Scheduler, Search, SEO, Translation, Webforms, Layout Builder
- Best for: Most YMCA websites, especially smaller to mid-size organizations
- This will become the primary installation option
Standard
- Status: Being phased out - merging with Small Y
- Legacy installation type maintained for backward compatibility
- Includes: Alerts, Editorial tools, News, SEO, Webforms, Layout Builder
- Recommendation: New installations should use Small Y instead
Extended
- For organizations requiring advanced features and complex integrations
- Adds: Analytics, Events, Locations, Membership, Translation, Search, Activity Finder, Home Branch
- Includes CRM integrations (GroupEx Pro, ActiveNet, Daxko)
- Best for: Large organizations with complex program management needs
Complete (Developers Only)
- For development and testing purposes only
- Full feature set with all packages and demo content
- Includes: ActiveNet, Daxko, GroupEx Pro, Programs, Camps, Blog, and every available package
- Only available via Drush installation (hidden from web UI)
- Best for: Development, testing, evaluation, and demonstrations
- Not recommended for production sites
Specify preset via Drush:
openy_configure_profile.preset=small_y # Recommended for most sites openy_configure_profile.preset=extended # For complex usage openy_configure_profile.preset=complete # Developers only
Migration Note: Sites currently using the Standard preset will continue to work. The Standard preset remains available for backward compatibility but is not recommended for new installations.
Available Themes
- openy_carnation - The default theme for Y USA
Specify with: openy_theme_select.theme=openy_carnation
Contributing & Development
Working with a Fork
To contribute to YMCA Website Services, you'll work with a fork of this repository:
-
Fork the repository on GitHub: https://github.com/YCloudYUSA/yusaopeny
-
Add your fork as a composer repository in your project's
composer.json:"repositories": [ { "type": "vcs", "url": "https://github.com/YOUR_USERNAME/yusaopeny" } ]
-
Point to your development branch. Branch names map to composer versions:
bugfix→dev-bugfixfeature/my-feature→dev-feature/my-featuremain→dev-main
"require": { "ycloudyusa/yusaopeny": "dev-YOUR-BRANCH-NAME" }
-
Update dependencies:
composer update ycloudyusa/yusaopeny --with-dependencies
-
Make your changes in
docroot/profiles/contrib/yusaopeny/(ordocroot/profiles/contrib/openy/) -
Test your changes thoroughly (see Testing section below)
-
Submit a pull request to the main repository
For detailed contribution guidelines, review:
Code Standards
This project follows Drupal coding standards. Before submitting code:
# Run code sniffers (from project root) cd docroot ./runsniffers.sh # Auto-fix code style issues ./runcodestyleautofix.sh
Testing
For testing procedures, see SMOKE_TESTS.md for manual testing or the Smoke Tests Index for comprehensive testing guidelines.
Key Features
The distribution is organized into packages - logical groupings of related functionality. Each installation preset enables different combinations of packages.
Core Packages
- Editorial - Content components for building flexible pages (galleries, banners, grids, breadcrumbs)
- Layout Builder - Drupal's drag-and-drop page builder with 30+ custom components
- Alerts - Create and manage website alerts
- News - News posts with listings, featured content, and taxonomy
- Webforms - Advanced form building with submission handling
- SEO - Metatags, sitemaps, and search engine optimization tools
Location & Membership Packages
- Locations - Branch and facility management with hours, amenities, maps, and alerts
- Membership - Membership content types and calculators
- Camps - Camp management and location finder integration
- Home Branch - Personalized branch selection for users
Program & Events Packages
- Programs - Program content types with subcategories
- Events - Event management with listings and calendars
- Blog - Blog posts with multiple listing types
- Scheduler - Schedule content publishing and unpublishing
Integration Packages
- ActiveNet - ActiveNet CRM integration
- Daxko - Daxko program and membership integration
- GroupEx Pro - Group exercise class scheduling
- Personify - Personify CRM integration
- Activity Finder - Program search with registration integration
Additional Packages
- Analytics - Google Analytics and Google Tag Manager integration
- Search - Solr or Google Custom Search integration
- Translation - Multilingual support
- Social - Social posts and feeds
- Social Sharing - AddThis social sharing integration
- Theme Customization - Color schemes and CSS editing
See openy.packages.yml for the complete list of packages and their modules, or browse the Content Structure documentation for detailed information about each feature.
Architecture
Package-Based System
YMCA Website Services uses a package-based architecture:
-
Packages (
openy.packages.yml) - Logical groupings of modules by functionality- Each package has: name, description, help text, and list of modules
- Examples:
editorial,locations,blog,activity_finder
-
Installation Types (
openy.installation_types.yml) - Presets that combine packages- Each preset specifies which packages to install
standard,extended,small_y,complete
-
Module Installation - During installation:
- User selects a preset (or specifies via Drush)
- System loads packages for that preset
- Installs all modules from those packages (with dependencies)
- Optionally imports demo content for selected preset
Directory Structure
| Path | Purpose |
|---|---|
config/install/ |
Default configuration installed with profile |
config/optional/ |
Optional configuration for specific features |
src/ |
Profile PHP classes (forms, services, plugins) |
src/Form/ |
Installation wizard forms |
patches/ |
Contrib module patches |
build/ |
Testing and CI/CD configurations |
themes/ |
Base theme definitions |
openy.packages.yml |
Package definitions |
openy.installation_types.yml |
Installation preset definitions |
openy.profile |
Installation tasks and hooks |
openy.install |
Install and update hooks |
Custom Modules Location
Custom modules are not stored in this repository. They are managed as separate composer packages:
open-y-subprojects/*- Core custom modules (openy_map, openy_focal_point, etc.)ycloudyusa/*- Y USA maintained packages (y_lb, yusaopeny_activity_finder, etc.)- Installed to:
docroot/modules/contrib/
See CLAUDE.md for detailed development documentation.
Resources
Documentation
- Main Documentation: https://ds-docs.y.org
- User Guides: https://ds-docs.y.org/docs/user-documentation/
- Developer Documentation: https://ds-docs.y.org/docs/development/
- Content Structure: https://ds-docs.y.org/docs/content-structure/
Community & Support
- Community: https://ycloud.y.org/open-y-association-websites
- Issue Queue: https://github.com/YCloudYUSA/yusaopeny/issues
- Changelog: GitHub Releases
Support
YMCA Website Services is maintained by:
- Y-USA Digital Services
- ITCare
- ImageX
- Five Jars
For implementation support, training, and customization services, contact the Y-USA Digital Services team.
License
YMCA Website Services is licensed under the GPL-2.0-or-later. This is free and open-source software.
Note: This distribution was formerly known as "OpenY". References to "openy" in code and paths are maintained for backward compatibility.
统计信息
- 总下载量: 58.65k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 8
- 点击次数: 1
- 依赖项目数: 13
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2022-06-16