Port AMA install process from ACLI to Drupal

Created on 7 March 2024, 9 months ago
Updated 8 April 2024, 8 months ago

Problem/Motivation

AMA is currently installed using ACLI to create a new codebase based on Drupal 7 state:

  1. It can't be added to existing Drupal 9+ sites.
  2. It adds a barrier to entry for people unfamiliar with CLI stuff.
  3. It requires maintaining logic in a separate project outside of Drupal.

Steps to reproduce

N/A

Proposed resolution

  1. Port AMA install process to Drupal from ACLI.
  2. Allow people to install and configure AMA like any other Drupal module.
  3. Support mglaman/composer-drupal-lenient to optionally allow composer installable dependencies based on patches or MRs before they have D10+ versions. This will get increasingly important moving in to D11+ soon.
  4. Optionally Support using non-vetted recommendations or a specific stability level. This would always be my first choice in migration to get the furthest possible.
  5. Support either CLI or browser based install workflows.
  6. Set acquia_migrate state variable during install process instead of a separate CLI command.
  7. Use package_manager submodule of automatic_updates to add new composer dependencies, and install them using the module installer service with leveraged resource limits. In a future phase, package_manager can also let site builders iteratively add new migrated modules.
  8. Update CI jobs to use new AMA install process based on clean Drupal 10+ build.
  9. Update test coverage to validate the changed UIs.

Remaining tasks

  1. Implement resolution.

User interface changes

  1. Extend the migrate_drupal_ui workflow and migrate_drupal Drush commands.
  2. Add steps to select recommendations and D9+ modules.
  3. Store the validated database credentials and file system paths in new AMA config schema.

API changes

N/A

Data model changes

New AMA config schema:

  1. Add new config schema to acquia_migrate called "acquia_migrate.settings".
  2. Store database credentials, D7 file system path, and other growing config schema.

Align recommendation schema:

  1. drupal/acquia_migrate:recommendations-dev uses JSON Schema
  2. acquia/acli uses PHP objects per recommendation type.
  3. Remove the PHP classes and use structured arrays based on JSON Schema as drupal/acquia_migrate:1.9.x-dev does now.
✨ Feature request
Status

Closed: works as designed

Version

1.9

Component

Solution Suggestions

Created by

πŸ‡ΊπŸ‡ΈUnited States jienckebd

Live updates comments and jobs are added and updated live.
  • Needs issue summary update

    Issue summaries save everyone time if they are kept up-to-date. See Update issue summary task instructions.

  • Needs tests

    The change is currently missing an automated test that fails when run with the original code, and succeeds when the bug has been fixed.

Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024