How do I work on this?

You can edit code, update documentation, and run git commands by opening files directly from your host machine.

To run project-related commands other than vagrant up and vagrant ssh:

SSH into the VM with vagrant ssh

You'll be in your project root, at the path /var/www/federated-search-demo.local/

You can run composer, drush, and phing commands from here

Go to the path /var/www/federated-search-demo.local/web/* to add new modules to each site.

Avoid committing to git from within your VM, because your commits won't be properly attributed to you. If you must, make sure you create a global .gitignore [internal] within your VM at /home/vagrant/.gitignore, and configure your name and email for proper attribution:

Drupal Development

You can refresh/reset your local Drupal site at any time. SSH into your VM and then:

Rebuild all the things

If you just want to get up and running, from the project root run phing build install-all init. If this fails for any reason, proceed to run it step by step.

Run each step individually

Download the most current dependencies for D8 (standalone): cd web/d8 then composer install. Don't forget to return to the project root to run the phing commands.

Download the most current dependencies for D8 (domain access): cd web/d8-domain then composer install. Don't forget to return to the project root to run the phing commands.

Download the most current dependencies for D7: cd web/d7 then composer install. Don't forget to return to the project root to run the phing commands.

Rebuild your local CSS and Drupal settings file: phing build

Reinstall Drupal 8:

Standalone: phing install-d8 -Dbuild.env=d8

Domain site: phing install-d8 -Dbuild.env=d8-domain

Reinstall Drupal 7: phing install-d7

Build the /src directory and symlink modules there: phing init

This links each of the two modules: search_api_federated_solr and search_api_field_map from the D8/D7 single site docroot to the /src directory and also into the D8/D7 Domain Access-enabled docroot. This means all changes made in /src/search_api_... will propagate to both sites simultaneously.

If you re-run composer in any of the docroots you may need to re-run phing init.