Namespace Change Notice: Drupal modules will be abandoning the `islandora/` namespace in favour of `drupal/`.

91 views
Skip to first unread message

Rosie Le Faive

unread,
May 28, 2024, 2:40:23 PMMay 28
to islandora
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.

gi...@shaw.ca

unread,
Jun 5, 2024, 4:35:55 PMJun 5
to islandora
After running composer update I have these two lines :
       "drupal/islandora": "^2.8.1",
        "islandora/islandora": "^2.8.1",

Also, I am told that Package islandora/jsonld is abandoned but I do not see it listed in composer.json.

I am thinking of just deleting   "islandora/islandora": "^2.8.1", but not sure what to do with the jsonld issue...

Thanks

gi...@shaw.ca

unread,
Jun 5, 2024, 6:45:32 PMJun 5
to islandora

Here is some more info...

Package academicpuma/citeproc-php is abandoned, you should avoid using it. Use seboettg/citeproc-php instead.
Package islandora/islandora is abandoned, you should avoid using it. Use drupal/islandora instead.
Package islandora/islandora_mirador is abandoned, you should avoid using it. Use drupal/islandora_mirador instead.
Package islandora/jsonld is abandoned, you should avoid using it. Use drupal/jsonld instead.

/var/www/html/drupal$ composer why islandora/jsonld

drupal/controlled_access_terms 2.4.1  conflicts islandora/jsonld (<2.1.0)
drupal/islandora               2.12.1 requires  islandora/jsonld (^2 || ^3)
islandora/islandora            2.12.1 requires  islandora/jsonld (^2 || ^3)

And yeah, the site I am testing this on does not seem to get beyond the front page...

Here is a section of my composer.json file
        ****************
        "drush/drush": "^12",
        "islandora-rdm/islandora_fits": "dev-8.x-1.x as 1.x-dev",
        "islandora/islandora": "^2.8.1",
        "islandora/islandora_mirador": "^2",
        "islandora/views_nested_details": "^1.0",
        "library/pdf.js": "^2.4",
         ******************

Thanks

Rosie Le Faive

unread,
Jun 6, 2024, 8:35:31 AMJun 6
to islandora
Thanks for bringing this to our attention! That was the fault of Islandora's composer.json requiring islandora/jsonld. The pull request to update this has now been merged and a release has been created - if you update drupal/islandora to 2.12.2, a composer update should automatically remove islandora/jsonld (in favour of drupal/jsonld).

It's possible to edit the composer.json file directly, to change the affected components. If you only `composer require drupal/islandora` while islandora/islandora is in composer.json, then you will have two islandoras, as you seem to imply in your first message. That's not bad, but you can either use `composer remove` or go in and delete the one with the old namespace.
Reply all
Reply to author
Forward
0 new messages