#3284945: Install endpoints that leverage Package Manager + core APIs →
will expose installing via Composer through the UI
#3245770: Create a service to composer install via package_manager from Automatic Updates →
was split out to just handle the package_manager
(the sub-module of AutoUpdates) integration
But regardless of the code the rules for Composer operations should be well defined. Asking Composer to require a new package could result in other side effects. Although there will be validation through the UI the installer service should not perform Composer operations that do not follow the rules that will be defined.
Example of possible side effects of requiring a new project
We should not assume any of these things will not happen based on the Composer command that is run. Package Manager provides a PreApply event where the actual staged packages can be check against the active code base.
Side affects Project Browser will allow in the MVP version of Composer installs
Allow all new/updated vendor packages and new/updated Drupal modules and themes.
Only Drupal modules and themes are that secure according to drupal.org Update XML → will be allowed to have there version affected during an update. Only updates and never downgrades to Drupal projects will be allowed. This would mean that Project Browser would responsible for warning the user about database updates and making sure the database updates are run after the update.
Operations that would would conflict with extensions not known to Composer will cause an error. This will forbidden operations if
All of the conditions would only trigger an error after the Composer operation the is staged. So the user would have to attempt to do the update first and then be notified of the error. This is because we can't fully know what dependencies would be updated or added before operation is executed. The staged composer operation will not affect the active site.
The individual issues needed for the above validation are laid out in #3300309: [Meta] Use Package Manger(From AutoUpdates) API to install via Composer → . This issue is just to get agreement on the above validation/restrictions.
#3284945: Install endpoints that leverage Package Manager + core APIs → should not be committed until validation enforces the desired behavior.
Sign-off
Fixed
1.0
Code
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.