Problem/Motivation
The update module assumes that update.drupal.org might not be the only update server and allows fetching XML from a different URL for each project.
We can't be sure if anybody is actually running an update server for Drupal 8 sites.
There are reasons to think nobody is:
- #3074993: Use "current" in update URLs instead of CORE_COMPATIBILITY to retrieve all future updates we updated to use a new endpoint,
/currentfor the update server regardless of whether it is update.drupal.org or not. Alternative servers would have had to add the endpoint. - #3074993 also changed the expectation as far as what XML would be returned. If an update server was still returning back the old format, as soon as the sites using that update server updated to Drupal 8.8.3 they would see no updates for core or any modules.
To test this on 8.8.x site you can revert this single line change and point to old XML endpoint
Then going to admin/reports/updates will return no updates - This issue was released in Drupal 8.8.3 on March 4, 2020, 2 weeks ago as of opening of this issue
- Any update servers that did not 1) create a new /current endpoint and 2) provide XML in the new format would stop working for Drupal 8.8.3 sites.
- No one comment on #3074993 about these changes either before after the commit that this will/did break their update server
- There have been no issues filed since 8.8.3 was released that any non update.drupal.org update servers have broken.
There is 1 issue filed #3120168: No available releases found but it is likely that this is because we didn't had a "post_update function to reset the Update manager's cache of fetched data".
It was closed in 1 day with a suggestion that they need to click "check manually". The original poster did not mention they were using a non drupal.org update server and has not commented back they the solution did not work for them.
We could file an issue to the post update function. It would help those that skip 8.8.3.
It possible that someone is running an update server but all the sites connecting have not updated to 8.8.3 and that the developer running the update server does not run test on the latest supported release of Drupal and has found this out yet.
It also possible no one is running an update server that Drupal 8 sites are connecting to.
Proposed resolution
Try to find out if any body is running an alternative update server
If no one is than we should:
- deprecate this ability and warn sites.
- In our test try to mimic the connect to Drupal.org as closely as possible.
This would mean keeping our XML test fixtures as close as possible to what update.drupal.org provides. So won't to do issues like #3113798: Remove unused (and generally wrong) <tag> markup from Update module test XML fixtures which diverge our test fixtures from update.drupal.org.
Remaining tasks
User interface changes
API changes
Remove an update server API
Comments
Comment #2
tedbowComment #3
dwwI started making some edits to the summary so it's more legible and clear. But I stopped since I didn't want to completely re-write your proposal. ;)
A few initial responses:
<tag>anywhere, and we can/should remove all that bogus data from our test fixtures. We should not necessarily remove<tag>from the release history feeds, since other tools can/do consume that information (e.g. drush, upgrade manager, etc). Even if Update manager doesn't care about<tag>, that doesn't mean no one cares about it and we're free to rip it out of the feeds.All that said, yes, probably no one is still using this, and it'd simplify some things to deprecate it and eventually remove it. But that also wouldn't let us assume that only Update manager is reading the info from updates.d.o, so let's not entangle our assumptions too much.
Thanks,
-Derek