https://ycloud.y.org/open-y-association-websites
An open-source platform for YMCAs, by YMCAs, built on Drupal.
The Y USA Website Services Project is a composer-based installer for the Y USA Website Services distribution.
If you do not have Composer, you may install it by following the official instructions. For usage, see the documentation.
If you are using internal tooling or only want the required code with no development environment, follow these steps.
composer create-project ycloudyusa/yusaopeny-project MY_PROJECT --no-interaction
cd MY_PROJECT
composer create-project ycloudyusa/yusaopeny-project:dev-main-development MY_PROJECT --no-interaction --no-dev
cd MY_PROJECT
This command will build a project based on the Drupal 9/10 development branch release.
See a how-to video for the whole process of this command usage.
To get an environment that was configured especially for development with the distribution, remove --no-dev
from the composer command.
So it should look like this:
composer create-project ycloudyusa/yusaopeny-project:dev-main-development MY_PROJECT --no-interaction
cd MY_PROJECT
See a how-to video for the whole process of this command usage.
Docksal is a tool for defining and managing development environments.
Read more details on Docksal repo.
The distribution has a full user interface for step-by-step installation. Simply visit your site after building your dev environment to be taken through the installation process.
For developers who want a kick-start, you can pass many configuration options in the install process through to drush site:install.
For example, a "complete" install with the "Carnation" theme might look like:
drush -vy si 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 sandbox'
All development happens in the Website Services Drupal 9/10 installation profile. To start development:
- Create a fork of Website Services installation profile
- Add your repository to
composer.json
"repositories": [
{
"type": "vcs",
"url": "https://github.com/GITHUB_USERNAME/yusaopeny"
}
]
- Change a version for
ycloudyusa/yusaopeny
todev-main
or any other branch. E.g.:
- branch name "bugfix" - version name
dev-bugfix
- branch name "feature/workflow" - version name
dev-feature/workflow
"require": {
"ycloudyusa/yusaopeny": "dev-main",
}
"require": {
"ycloudyusa/yusaopeny": "dev-feature/workflow",
}
- Run
composer update
to update packages - Add and commit changes in
docroot/profiles/contrib/openy
. Now it should be pointed to your fork.
Directory | Purpose |
---|---|
Y USA Website Services | |
docroot/ |
Contains Drupal core |
docroot/profiles/contrib/openy/ |
Contains Website Services distribution |
vendor/ |
Contains Y USA Website Services distribution |
composer.json |
Contains Y USA Website Services distribution |
CIBox VM + CIBox Build | |
cibox/ |
Contains CIBox libraries |
docroot/devops/ |
DevOps scripts for the installation process |
provisioning/ |
Vagrant configuration |
docroot/*.sh |
Bash scripts to trigger reinstall scripts |
docroot/*.yml |
YAML playbooks for the installation process |
Vagrantfile |
Vagrant index file |
Docksal | |
.docksal/ |
Docksal configuration |
build.sh |
Build script for Docksal environment |
Documentation about Website Services is available at docs. For details please visit https://ycloud.y.org/open-y-association-websites.
Y USA OpenY Project is licensed under the GPL-3.0. See the License file for details.