Skip to content

Workshop-Orange/template-drupal8-opensocial-lagoon

 
 

Repository files navigation

Composer template for OpenSocial (Druapl 8 based) projects hosted on amazee.io

This project template should provide a kickstart for managing your site dependencies with Composer. It is based on the amazee.io Drupal Example Simple template, and should include everything necessary to run on amazee.io (either the local development environment or on amazee.io servers.)

Requirements

  • docker
  • pygmy gem install pygmy (you might need sudo for this depending on your Ruby configuration)

OR

Local environment setup - pygmy

  1. Checkout this project repo and confirm the path is in Docker's file sharing config - https://docs.docker.com/docker-for-mac/#file-sharing

    git clone https://github.com/workshop-orange/template-drupal8-opensocial-lagoon.git opensocial-d8-lagoon && cd $_
  2. Make sure you don't have anything running on port 80 on the host machine (like a web server) then run pygmy up

  3. Build and start the build images:

    docker-compose up -d
    docker-compose exec -e COMPOSER_MEMORY_LIMIT=-1 cli composer install
  4. (Optional) Install your OpenSocial site with Drush:

docker-compose exec cli drush si social -y

You can skip this step to use the web installer.

  1. Visit the new site @ http://template-drupal8-opensocial-lagoon.docker.amazee.io

  2. (Optional) Do you want demo content in a pygmy environment?

docker-compose exec cli drush pm-enable social_demo -y
docker-compose exec cli drush cc drush
docker-compose exec cli drush demo-content-add file user group topic event event_enrollment comment post like

Read more about demo Open Social content at Drupal.org

  • If any steps fail, you're safe to rerun from any point. Starting again from the beginning will just reconfirm the changes.

Local environment setup - Lando

This repository is set up with a .lando.yml file, which allows you to use Lando instead of pygmy for your local development environment.

  1. Install Lando.

  2. Checkout the project repo and confirm the path is in Docker's file sharing config - https://docs.docker.com/docker-for-mac/#file-sharing

    git clone https://github.com/amazeeio/template-drupal8-opensocial-lagoon.git drupal9-lagoon && cd $_
  3. Make sure you have pygmy stopped. Run pygmy stop to be sure.

  4. We already have a Lando file in this repository, so we just need to run the following command to get Lando up:

lando start
  1. (Optional) Install your OpenSocial site with Drush:
lando drush si social -y

You can skip this step to use the web installer.

  1. And now we have a fully working local Open Social site on Lando! For more information on how to deploy your site, check out our documentation or our deployment demo.

  2. (Optional) Do you want demo content in a lando environment?

lando drush pm-enable social_demo -y
lando drush cc drush
lando drush demo-content-add file user group topic event event_enrollment comment post like

Read more about demo Open Social content at Drupal.org

What does the template do?

When installing the given composer.json some tasks are taken care of:

  • Drupal will be installed in the web-directory.
  • Autoloader is implemented to use the generated composer autoloader in vendor/autoload.php, instead of the one provided by Drupal (web/vendor/autoload.php).
  • Modules (packages of type drupal-module) will be placed in web/modules/contrib/
  • Themes (packages of type drupal-theme) will be placed in web/themes/contrib/
  • Profiles (packages of type drupal-profile) will be placed in web/profiles/contrib/ (Open Social ends up in here!)
  • Creates the web/sites/default/files-directory.
  • Latest version of drush is installed locally for use at vendor/bin/drush.
  • Latest version of Drupal Console is installed locally for use at vendor/bin/drupal.
  • The correct scaffolding for your Drupal core version is installed, along with Lagoon-specific scaffolding from our amazeeio/drupal-integrations project and the assets/ directory in this repo. For more information see drupal/core-composer-scaffold
  • Open Social is patched so that the social_demo module drush commands are detcted

Updating Open Social

This still needs to be figured out. Now accepting PRs.

FAQ

Should I commit the contrib modules I download?

Composer recommends no. They provide argumentation against but also workarounds if a project decides to do it anyway.

How can I apply patches to downloaded modules?

If you need to apply patches (depending on the project being modified, a pull request is often a better solution), you can do so with the composer-patches plugin.

To add a patch to drupal module foobar insert the patches section in the extra section of composer.json:

"extra": {
    "patches": {
        "drupal/foobar": {
            "Patch description": "URL to patch"
        }
    }
}

About

The current template for Open Social installs on Lagoon

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 66.2%
  • Dockerfile 27.1%
  • Shell 6.7%