TL;DR (Summary): Our six Drupal modules that are available on Drupal.org will soon only be available to Composer under the `drupal/` namespace, so please update your projects.
---
For a while, we have been making our Drupal module code available to Composer under two namespaces: islandora (e.g. `composer require islandora/islandora`) and Drupal (e.g. `composer require drupal/islandora`). This can lead to inconsistencies, as Composer can be told to require both (even with different versions!), but they will overwrite each other in the same directory according to a race condition. The two namespaces can also cause difficulties in testing pull requests.
We are therefore retiring the use of the islandora/ namespace for our Drupal module components, and officially preferring the use of the drupal/ namespace. This will
ONLY affect the following repositories:
- Islandora (module)
- Jsonld
- Islandora Mirador
- Openseadragon
- Advanced Search
- Controlled Access Terms
All other components, such as Crayfish, will not be affected and will continue to use the islandora/ namespace.
This means that you should update your projects to require the listed components at their drupal/ namespace instead of the islandora/ namespace. Instructions follow at the end of the message.
We will shortly mark the affected packages as "Abandoned" in Packagist, which is the server that resolves the islandora/ namespace to our modules on Github. You will receive alerts every time you use composer that these components are abandoned.
Do not be alarmed, we are not abandoning the modules, just this way of providing them. If you are still using the islandora/ namespace, you will be alerted that the package is abandoned and will be provided with the alternate package (in name only, as it's the same code) to use.
We will continue to work on Github with PRs, and sync our code to Drupal.org's Gitlab, which is where the drupal/ namespace finds our packages.
We are not sure what will happen when we change the official names of the packages in each package's composer.json. It might cause Packagist to cease working for that component. It will almost definitely prevent you from getting module updates if you are using the old namespace. Therefore we are giving
3 months time from this message and the abandonment on Packagist until we switch the namespace "officially" in each component's composer.json. A further message to the community will be sent when that happens.
Steps you can take now to use the drupal/ namespace:
0. Run `composer update`
1. Open composer.json
2. Look for any of the above modules under the islandora/ namespace (note: not all components in the islandora namespace are affected by this; check the list above).
3. replace the namespace for those packages with 'drupal' and resort the list alphabetically. Take care that all end-of-line commas are in place per the JSON syntax.
4. run composer update.
If you are still getting messages about the packages being abandoned, you may have other packages that require these components. You can use the `composer why` command to find out what packages are dependent on a package, e.g. `composer why islandora/islandora`.
Rosie
on behalf of the Committers.