PHPackages                             ycloudyusa/yusaopeny\_gated\_content - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. ycloudyusa/yusaopeny\_gated\_content

ActiveDrupal-module

ycloudyusa/yusaopeny\_gated\_content
====================================

Y USA Open Y Virtual Y Content

3.0.0(2mo ago)322.7k↓31.6%8[6 issues](https://github.com/YCloudYUSA/yusaopeny_gated_content/issues)GPL-2.0+PHP

Since Jun 18Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/YCloudYUSA/yusaopeny_gated_content)[ Packagist](https://packagist.org/packages/ycloudyusa/yusaopeny_gated_content)[ RSS](/packages/ycloudyusa-yusaopeny-gated-content/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (24)Versions (106)Used By (0)

Virtual Y
=========

[](#virtual-y)

Virtual Y is a package for Open Y and consists of features, needed to organize gated content for Y clients.

Active development is currently happening at [YUSA fork](https://github.com/YCloudYUSA/yusayusaopeny_gated_content). Pull requests should be submitted there. They will be pulled into this repo as they are reviewed and released.

Server requirements
-------------------

[](#server-requirements)

In order to work Virtual Y requires HTTP server to allow

- GET
- POST
- DELETE http methods.

Submodules
----------

[](#submodules)

1. [Authentication system](https://github.com/YCloudYUSA/yusaopeny_gated_content/tree/master/modules/openy_gc_auth) - plugin system for different authentication types.
2. [Demo](https://github.com/YCloudYUSA/yusaopeny_gated_content/tree/master/modules/openy_gc_demo) - set of migrations that installs Demo content at the initial step of your Virtual Y
3. [Storage](https://github.com/YCloudYUSA/yusaopeny_gated_content/tree/master/modules/openy_gc_storage) - set of entities, needed for Virtual Y
4. [Log](https://github.com/YCloudYUSA/yusaopeny_gated_content/tree/master/modules/openy_gc_log) Features for tracking activities of your Virtual Y users.
5. [Shared content](https://github.com/YCloudYUSA/yusaopeny_gated_content/tree/master/modules/openy_gc_shared_content) - module that give's you ability to download content from shared network.
6. [Shared content server](https://github.com/YCloudYUSA/yusaopeny_gated_content/tree/master/modules/openy_gc_shared_content_server) - module for shared.openy.org server.

Installation
------------

[](#installation)

See also the [video version of these instructions](https://youtu.be/vlqv4ly3iak). This assumes you've already [built an Open Y site](https://github.com/YCloudYUSA/yusaopeny-project#installation) and have it running.

- Add this module to your codebase.
    - via composer: `composer require ycloudyusa/yusaopeny_gated_content`
    - without composer: this is not recommended.
- Enable the modules
    - Through the UI:
        - Visit **Extend** in your toolbar.
        - Check "Virtual Y Base", "Open Y Virtual YMCA Storage", and "Open Y Virtual YMCA Auth Example".
        - Install and say "yes" to add all required dependencies.
    - Via drush: `drush en openy_gated_content openy_gc_auth_example -y`
- Add at least one term in these vocabularies via **Structure** &gt; **Taxonomies**
    - Virtual Y Category
    - Virtual Y Equipment
    - Virtual Y Level
- Create a **Landing Page** and add the **Virtual Y Content** paragraph to the **Content Area** section.
- From the toolbar go to **Virtual Y** &gt; **Videos** &gt; **Add Video** and add a piece of video content.
- Visit the landing page you created, click to log in, and observe your new Virtual Y.

Upgrade path
------------

[](#upgrade-path)

### Known issues

[](#known-issues)

If you facing with

```
 [error]  Configuration user.role.anonymous depends on configuration (rest.resource.openy_gc_auth_custom, rest.resource.openy_gc_auth_custom_confirm) that will not exist after import.
```

It’s looks like that previous updates were failed. If you don't use Custom auth provider - disable that module, and it should help. If you use it - try manually delete that config and try again

```
drush cdel rest.resource.openy_gc_auth_custom_confirm
```

Another one

```
Drupal\Component\Plugin\Exception\PluginNotFoundException while adding Views handlers for field Parts of day on index Default: The "" plugin does not exist. Valid plugin IDs for Drupal\search_api\DataType\DataTypePluginManager are: boolean, date, integer, decimal, string, text in

```

This error was because one of the service lived in a custom folder. Try to analyse what service is broken and fix it.

Development
-----------

[](#development)

In development purposes, you might want a set of modules to be enabled. Use `openy_gc_demo` module for such purposes. Specify modules that you want to be enabled as dependencies of this module. The CI configuration automatially enables this modules, and all its dependencies.

### Coding standards

[](#coding-standards)

#### PHPCS

[](#phpcs)

Please find the PHPCS configuration in `.phpcs.xml`.

In order to use the configuration just run `phpcs` within the module directory.

You can add this script to .git/hooks/pre-commit to run phpcs and phpcbf on `git commit`

```
PROJECT=`php -r "echo dirname(dirname(dirname(realpath('$0'))));"`
cd $PROJECT
echo "Running phpcs and phpcbf..."
phpcs .
if [ $? != 0 ]
then
    phpcbf .
    exit 1
fi
```

#### eslint

[](#eslint)

Please find the esling configuration in `js/gated-content/.eslintrc.js`

To run the check execute `npm install && npm lint-no-fix`. See `js/gated-content/package.json` for details.

Automatic code fixing is available with `npm lint`.

### With docksal for openy

[](#with-docksal-for-openy)

The docksal configuration  is used to for building the PR builds.

In order to use it you have to install Docksal.

Follow the instruction below to get the working local environment that provides 4 local websites (1 for each base theme and not yet installed Open Y):

```
mkdir vymca
cd vymca
git clone --branch openy-gc-builds \
  git@github.com:fivejars/docksal-for-openy.git .docksal
git clone git@github.com:fivejars/yusaopeny_gated_content.git
mkdir -p docroot/libraries docroot/sites/default/config/staging
wget -N https://raw.githubusercontent.com/fivejars/yusaopeny-project/8.2.x-gated-content-ci/composer.json
docker volume create --name=composer_cache
fin init
```

### Vimeo private videos

[](#vimeo-private-videos)

For videos, protected from embed by "Specific domains" you can have an issue with thumbnails download to drupal media. In this case - apply a patch for drupal core:

- *patches/OEmbed\_vimeo\_private\_videos.patch* - in case of using core media
- *patches/video\_embed\_field\_vimeo\_private\_videos.patch* - in case of using video\_embed\_field module

### JSON API patch required for Drupal 8.7

[](#json-api-patch-required-for-drupal-87)

```
{
  "extra": {
    "patches": {
      "drupal/core": {
        "JSONAPI wont install (8.7-specific)": "https://www.drupal.org/files/issues/2019-05-23/jsonapi_2996114.patch"
      }
    }
  }
}
```

### Migration notes

[](#migration-notes)

If you have error:

```
TypeError: Argument 6 passed to __construct() must be an instance of EntityTypeManagerInterface

```

apply patch to composer.json:

```
{
  "extra": {
    "patches": {
      "drupal/paragraphs": {
        "3079627": "https://www.drupal.org/files/issues/2019-09-06/3079627-4.paragraphs.Argument-6-passed-to-construct.patch"
      }
    }
  }
}
```

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance66

Regular maintenance activity

Popularity33

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~24 days

Total

85

Last Release

74d ago

Major Versions

0.16 → 1.02020-10-07

1.11.2 → 2.0.02026-01-23

2.0.2 → 3.0.02026-03-06

### Community

Maintainers

![](https://www.gravatar.com/avatar/dbb2bef886bbfabeb180d0a630f4e24b02314277a3ad7aea89f520a2bf2d4f9d?d=identicon)[sanchiz](/maintainers/sanchiz)

![](https://www.gravatar.com/avatar/bf41cdf9f0975a3cc5997aaaff41046eac88c85c7dbcd8410b8b09e35f55c11d?d=identicon)[danylevskyi](/maintainers/danylevskyi)

![](https://www.gravatar.com/avatar/1388b312dca2d4c24fb3474c71a6729b13b255860ff0188b0286013bc703bf5a?d=identicon)[podarok](/maintainers/podarok)

![](https://www.gravatar.com/avatar/6d5c1bf40e232e1ad5826eafb2f06813b331e50d1fd6c0af1f84206cd98d946f?d=identicon)[ymcacodeshare](/maintainers/ymcacodeshare)

---

Top Contributors

[![anpolimus](https://avatars.githubusercontent.com/u/3023950?v=4)](https://github.com/anpolimus "anpolimus (645 commits)")[![hamrant](https://avatars.githubusercontent.com/u/13733670?v=4)](https://github.com/hamrant "hamrant (454 commits)")[![retif](https://avatars.githubusercontent.com/u/524468?v=4)](https://github.com/retif "retif (404 commits)")[![jediandrey](https://avatars.githubusercontent.com/u/39241474?v=4)](https://github.com/jediandrey "jediandrey (148 commits)")[![podarok](https://avatars.githubusercontent.com/u/563412?v=4)](https://github.com/podarok "podarok (144 commits)")[![froboy](https://avatars.githubusercontent.com/u/238201?v=4)](https://github.com/froboy "froboy (138 commits)")[![Sardis93](https://avatars.githubusercontent.com/u/15172796?v=4)](https://github.com/Sardis93 "Sardis93 (105 commits)")[![NightHunterSV](https://avatars.githubusercontent.com/u/5138333?v=4)](https://github.com/NightHunterSV "NightHunterSV (93 commits)")[![bharath-kondeti](https://avatars.githubusercontent.com/u/31856282?v=4)](https://github.com/bharath-kondeti "bharath-kondeti (73 commits)")[![AnastasiiaPys](https://avatars.githubusercontent.com/u/76169576?v=4)](https://github.com/AnastasiiaPys "AnastasiiaPys (70 commits)")[![szherebchuk](https://avatars.githubusercontent.com/u/90614464?v=4)](https://github.com/szherebchuk "szherebchuk (61 commits)")[![AndreyMaximov](https://avatars.githubusercontent.com/u/5453109?v=4)](https://github.com/AndreyMaximov "AndreyMaximov (47 commits)")[![kairamkondarajesh](https://avatars.githubusercontent.com/u/6428296?v=4)](https://github.com/kairamkondarajesh "kairamkondarajesh (39 commits)")[![TomScarboroughYMCA](https://avatars.githubusercontent.com/u/71293659?v=4)](https://github.com/TomScarboroughYMCA "TomScarboroughYMCA (21 commits)")[![svicervlad](https://avatars.githubusercontent.com/u/26228931?v=4)](https://github.com/svicervlad "svicervlad (21 commits)")[![shuklina](https://avatars.githubusercontent.com/u/22738130?v=4)](https://github.com/shuklina "shuklina (14 commits)")[![NadyaRudenko](https://avatars.githubusercontent.com/u/62060358?v=4)](https://github.com/NadyaRudenko "NadyaRudenko (12 commits)")[![aleevas](https://avatars.githubusercontent.com/u/744406?v=4)](https://github.com/aleevas "aleevas (11 commits)")[![andreyzb](https://avatars.githubusercontent.com/u/2608621?v=4)](https://github.com/andreyzb "andreyzb (9 commits)")[![rotator](https://avatars.githubusercontent.com/u/8302268?v=4)](https://github.com/rotator "rotator (9 commits)")

### Embed Badge

![Health badge](/badges/ycloudyusa-yusaopeny-gated-content/health.svg)

```
[![Health](https://phpackages.com/badges/ycloudyusa-yusaopeny-gated-content/health.svg)](https://phpackages.com/packages/ycloudyusa-yusaopeny-gated-content)
```

###  Alternatives

[farmos/farmos

A web-based farm record keeping application.

1.2k6.7k1](/packages/farmos-farmos)[voidagency/vactory_starter_kit

Vactory is a custom Drupal profile which is developed and released by VOID Agency.

1019.7k](/packages/voidagency-vactory-starter-kit)[lion/bundle

Lion-framework configuration and initialization package

122.2k1](/packages/lion-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
