/openy-project

Open Y composer-based installer

Primary LanguageShellGNU General Public License v3.0GPL-3.0

react-router

Open YMCA

http://openymca.org

An open source platform for YMCAs, by YMCAs built on Drupal.


The Open Y Project is a composer based installer for the Open Y distribution.

Requirements

Composer

If you do not have Composer, you may install it by following the official instructions. For usage, see the documentation.

Installation

Latest STABLE version

composer create-project ymcatwincities/openy-project MY_PROJECT --no-interaction --no-dev
cd MY_PROJECT && composer update

This command will build project based on latest stable release.

Latest 2.0 BETA version

composer create-project ymcatwincities/openy-project:8.2.x-dev MY_PROJECT --no-interaction --no-dev
cd MY_PROJECT && composer update

This command will build project based on latest 8.2 beta release.

Latest DEVELOPMENT version (1.x)

composer create-project ymcatwincities/openy-project:8.1.x-development-dev MY_PROJECT --no-interaction --no-dev
cd MY_PROJECT && composer update

This command will build project based on latest development release.

Latest DEVELOPMENT version (2.x)

composer create-project ymcatwincities/openy-project:8.2.x-development-dev MY_PROJECT --no-interaction --no-dev
cd MY_PROJECT && composer update

This command will build project based on the development branch release.

See https://youtu.be/jRlinjpTl0c how to video for the whole process of this command usage.

Development environment

You should use composer command without --no-dev if you would like to get environment that was configured especially for OpenY. This means you'd remove Vagrant/Docksal from the code tree. So it should look like this:

composer create-project ymcatwincities/openy-project:8.1.x-development-dev MY_PROJECT --no-interaction
cd MY_PROJECT && composer update

See https://youtu.be/jRlinjpTl0c how to video for the whole process of this command usage.

or (for Open Y 2.0)

composer create-project ymcatwincities/openy-project:8.2.x-development-dev MY_PROJECT --no-interaction
cd MY_PROJECT && composer update

If you need to keep all git submodules - use

composer create-project ymcatwincities/openy-project:8.x-2.x-git-dev MY_PROJECT --no-interaction
cd MY_PROJECT && composer update

See https://youtu.be/jRlinjpTl0c how to video for the whole process of this command usage.

CIBox VM

CIBox VM allows you to make a contribution into OpenY in a few minutes. Just follow steps and then you'll know how to do it.

Read more details on CIBox VM repo.

Docksal

Docksal is a tool for defining and managing development environments.

Read more details on Docksal repo.

Use Fork for the development

All development happens in the Open Y Drupal 8 installation profile. In order to start development:

  1. Create fork of Open Y installation profile
  2. Add your repository to composer.json
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/GITHUB_USERNAME/openy"
    }
]
  1. Change a version for ymcatwincities/openy to dev-8.x-1.x or any other branch. E.g.:
  • branch name "bugfix" - version name dev-bugfix
  • branch name "feature/workflow" - version name dev-feature/workflow
"require": {
    "ymcatwincities/openy": "dev-8.x-1.x",
}
"require": {
    "ymcatwincities/openy": "dev-feature/workflow",
}
  1. Run composer update to update packages
  2. Add and commits changes in docroot/profiles/contrib/openy. Now it should be pointed to your fork.

Directory structure

Directory Purpose
OpenY
docroot/ Contains Drupal core
docroot/profiles/contrib/openy/ Contains Open Y distribution
vendor/ Contains Open Y distribution
composer.json Contains Open Y 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

Documentation about Open Y is available at docs. For details please visit http://www.openymca.org.

For Development information please take a look at docs/Development.

License

OpenY Project is licensed under the GPL-3.0. See the License file for details.