Acquia Migrate: Accelerate Project Recommendations
This repository provides the single-source-of-truth for all Drupal 7 to 9+
project recommendations. Hand curated recommendations are encoded into this
repository's curated.json
file. That file is then distributed and
later consumed by the
acli
's app:new:from:drupal7
command in
order to generate a bespoke configuration file that can be used to generate a
Drupal 9+ composer project.
This project also contains scripts to crawl Drupal.org's APIs and generate
unvetted recommendations. These are in the generated.json
file.
These files must be manually combined into a recommendations.json
file using
make
.
Initial setup
Run the following commands:
git clone --branch recommendations git@git.drupal.org:project/acquia_migrate.git
cd recommendations
make init
Using the GUI to add a recommendation
-
run
make init
if you didn't already do so during your initial setup. -
start the PHP development server with
php -S localhost:8888
. - visit the application in your browser by going to http://localhost:8888 and using it to add new recommendations.
- validate the curated recommendations file by following the steps below.
-
run
make
to combine thecurated.json
andgenerated.json
files. - commit the changes.
- submit a pull request.
Regenerate recommendations from Drupal.org
Run make -B
.
Note: The crawler script caches Drupal.org responses for 36 hours. Run rm -rf .crawler-cache
to clear that cache.
Note: make
will sometimes fail because the drupal.org server occassionally
times out. However, you can rerun make -B
to quickly resume the process
without starting over from scratch because of the aforementioned response
cache.
Updating & deleting recommendations
At this time, this must be done by hand. The GUI can be enhanced if necessary, but this wasn't considered part of the MVP.
Validating the recommendations file
When modifying the curated.json
file, you can optionally first validate it locally against the included
recommendations.schema.json
file. (It is optional because the build will fail if it's not valid.) To do so:
- Visit https://www.jsonschemavalidator.net/
- Paste the contents of the latest JSON schema document (
recommendations.schema.json
) into the left-hand pane. - Paste the contents of your updated
curated.json
file into the right-hand pane.