Drupal has leveraged Composer to manage its internal dependencies since version 8.0; however, the way that Drupal has been using Composer is unconventional. Our unconventional hybrid approach has allowed a loose continuity between managing codebases using Drupal 7 methods while simultaneously enabling more modern Composer based workflows. However, the modern Composer based approach was incomplete and unofficial, requiring third-party tools and examples such as drupal-composer/drupal-project. Because of the lack of a clear standard way of doing things, many sites found themselves in difficult to solve dead ends, or used obvious, but in hindsight incorrect choices to manage their site.
Presently, the Composer in Core Initiative is changing the way that Drupal uses Composer. New tools and new release scripts will make it more natural for Drupal sites to use Composer to manage their modules and other dependencies. Existing site management techniques, such as download and untar and drush pm:update, will continue to be supported for a time, so existing sites will not be forced to convert right away.
This session is intended for users who are currently managing a Drupal 8 site either with Composer or with Drush pm:download and pm:update. Topics covered will include:
- Why are we using composer, anyway? What’s the value?
- How should a new Composer-managed site be created using the latest tooling in Drupal core?
- What is the path forward from current sites to Composer-managed sites under the new system?
- How does scaffolding files differ in Drupal core compared to how it was done with the third party tooling (and what is scaffolding, anyway)?
- How is the way that Drupal tarballs are generated changing, and what is happening with the wikimedia/composer-merge-plugin (and what does Wikimedia have to do with Drupal, anyway)?
- Why does Composer sometimes have a hard time updating to a newer version of drupal/core?
- What sort of things are planned for Drupal and Composer in the future?
After attending this session, users will have a clearer understanding of the vision for Composer use in Drupal core, and what their options are for using Composer with their own sites moving forward.