Skip to content
David Rodriguez edited this page Jul 6, 2022 · 22 revisions

SummerHouse logo

Welcome to the Summer House wiki!

Welcome to Summer House, a fully-dockerized environment for onboarding processes based in Decoupled / Headless Drupal. Here you will find information about the project, with more extensive and descriptive information than the README file of the project itself.

Disclaimer

  • Note I: Summer House is for local development-only and should not be used in production or pre-production environments, as it may contain unsafe configurations for those environments.
  • Note II: Summer House contains scripts and utilities that execute changes on the host system, so you should consider using an extra isolation layer, possibly based on hardware virtualization such as VirtualBox, available for any host system.

Background

It all started with a pretty complicated project for which I was working, without specific training or an on-boarding process oriented to its architecture, I had to learn on my own, step by step while trying to close incidents, bugs, issues and tickets. The process was quite hard, confusing and frustrating.The project was delivered fast and finished early, the client didn't seem very happy. Finally the feedback about me and my performance was brutal, devastating.

I promised myself that I would try to prevent someone else from having such a process... And I came up with the idea of building a sandbox for decoupled architectures taking advantage of existing tooling. That was the germ of my idea for Summer House.

Why Summer House?

The truth is that it's called Summer House because of the actions I use to deploy Drupal projects on the fly. I have built some bash functions based on DDEV to launch Drupal fast from my operating system, something like:

d9ddev () {
  if [ -z "$1" ]
    then
      check=$(shuf -n1  /usr/share/dict/words)
      shortened=${check::-2}
      varkeyname=${shortened,,}
  else
      varkeyname=$1
  fi
  mkdir $varkeyname && cd $varkeyname
  ddev config --project-type=drupal9 --docroot=web --create-docroot
  yes | ddev composer create "drupal/recommended-project:^9"
  ddev composer require drush/drush drupal/admin_toolbar drupal/devel
  ddev exec drush si --site-name=$varkeyname --account-name=admin --account-pass=admin -y
  ddev drush en -y admin_toolbar admin_toolbar_tools admin_toolbar_search admin_toolbar_links_access_filter devel devel_generate
  ddev drush cr
  ddev start && ddev launch
}

So when I started working with the idea of making a sandbox for decoupled Drupal, I launched this bash function and the Ubuntu word dictionary, from the line check=$(shuf -n1 /usr/share/dict/words) , threw this at me: Summer House. I think it was the first time I was getting a naming from the dictionary that made sense. It was perfect for me.

Acknowledgments and Thanks

Sections