Problem/Motivation
In #2152459: [Policy] Deprecate RDF module and move it to contrib we are considering removing RDF from core entirely. The world has moved on to newer formats such as JSON-LD, but we still ship RDF module in the Standard profile and as such it is apparently used on 80% of Drupal sites, although we assume that most don't even know what it does or that they have it installed at all (see #3158669: [policy, no patch] By default deprecate non-experimental modules that are used by less 5% of sites before the next major version for more discussion on this).
Steps to reproduce
Proposed resolution
Remove RDF module from the Standard profile for Drupal 10.
Check usage during the Drupal 10 lifecycle and consider removing RDF module in Drupal 11.
Remaining tasks
User interface changes
API changes
Data model changes
Release notes snippet
The RDF module is slated for removal from core in Drupal 10. To this end, RDF has been removed from the Standard profile in Drupal 9.4.0. This change does not affect existing sites, only new sites installing the Standard profile for the first time. For more information, see the change record on RDF's removal from the Standard profile.
| Comment | File | Size | Author |
|---|---|---|---|
| #49 | 3243121-d10-49.patch | 11.2 KB | alexpott |
| #49 | 3243121-d9-49.patch | 14.54 KB | alexpott |
| #49 | 46-49-interdiff.txt | 2.61 KB | alexpott |
| #48 | 3243121-d10-48.patch | 7.77 KB | alexpott |
| #48 | 3243121-d9-48.patch | 11.12 KB | alexpott |
Comments
Comment #2
larowlanComment #3
chi commentedComment #4
longwaveKicking this off. I guess if we remove this from Standard we should also remove it from Umami?
Comment #6
spokjeStab at making TestBot go green.
Comment #7
longwaveComment #9
longwaveComment #10
andypostComment #11
longwaveComment #12
andypostI think it needs release snippet and change record, otherwise RTBC
Comment #13
longwaveComment #14
quietone commentedAh, thanks for making this issue. I've have updated Module or theme removal process to add a step for removing the module from profiles.
Comment #15
quietone commentedI am pretty sure the 'Needs product manager review' tag can be removed. All the sign offs happened in the policy issue. Specifically the product manager approval was given in #2152459-79: [Policy] Deprecate RDF module and move it to contrib and the tag removed in the following comment. Removing RDF from the standard profile is a natural consequence of that decision. Therefor, removing the tag.
Comment #16
yogeshmpawarRerolled patch against 9.4.x branch & reroll diff added.
Comment #18
spokjeGreenifying TestBot.
Comment #19
spokjeAdded draft CR and Release note snippet.
Comment #20
spokjeComment #21
spokjeComment #22
spokjeComment #23
andypostChanges looking good, CR filed, release note is valid
Comment #24
yogeshmpawarUpdated patch with reroll diff attached.
Comment #26
andregp commented6 of the 7 fails at #24 were unrelated to the patch, although the reroll missed one line of change (which triggered the 7th error).
I'll wait for the HEAD to pass the tests first to then queue tests on this patch.
Comment #27
yogeshmpawarUpdated patch with reroll diff attached.
Comment #28
rinku jacob 13 commentedI have applied patch#7 for drupal 9.4.x dev.
Before applying the patch, the RDF module is a part of the installed module. after the patch, the module is part of the disabled(uninstalled) module.
I think as per the requirement of this issue, the RDF module need not be shown in extend list. But After applying the patch also, the RDF module is part of the list of extend. Can anyone suggest to me if it is wrong or not?
Comment #30
catch@Rinku Jacob 13 the module will still show in the extend list, it just won't be enabled when you install Drupal with the standard profile.
Patch looks great to me, just tidying up various tests that depend on RDF being in the standard profile.
Comment #31
lauriiiI think we might be losing some test coverage if we just remove this test. I'm wondering if we should just modify this test to install Standard and then install RDF on top of that, and run the same assertions?
Comment #32
spokjeI can see your point about maybe loosing test coverage,
but we can't change the test to installstandardand whack RDF on top until RDF is removed from it first I think.So maybe this is something for a follow-up issue?Comment #33
xjmDid not land in 9.4, so untagging.
Comment #34
spokjeComment #35
spokjeAddressed #31
Comment #36
spokjeComment #37
longwave#31 was addressed by moving the RDF standard config to a test module, and keeping the test case intact otherwise.
Comment #38
catchNeeds a re-roll.
Comment #39
skipper-vp commentedRerolled the patch
Comment #40
spokjeSince
10.0.x-devdoesn't have the Aggregator module any more, we need a separate D10 patch.Comment #42
spokjeComment #43
spokjeComment #44
catch#42 looks great - back to RTBC but since it's a straight re-roll I'll pretend it was already RTBC and commit it a bit later unless someone beats me to it.
Comment #45
alexpottI think we should consider moving the RDF config from standard to the optional folder in the rdf module and adding an enforced dependency on the standard module (yes it is a profile but for config dependencies we'll treat it as a module).
This way if someone installs the rdf module on 9.5.x on top of standard it is the same as doing so on 9.4.x.
I guess there is a slight downside when the module moves to contrib because the maintainers will have to deal with changes to standard / decide whether to continue to support it. But the 10.x supporting version of RDF could always decide to drop the standard requiring config.
This would allow us to remove the rdf_standard_profile_test module and just install RDF on top of standard in core/modules/rdf/tests/src/Functional/StandardProfileTest.php
Comment #46
alexpottHere's #45 implemented.
FWIW the contrib module maintainers will have the problem with #42 anyways… because they’ll have to decide what to do with \Drupal\Tests\rdf\Functional\StandardProfileTest and the weird test module…
The benefit of this approach is that there is less change for 9.5.x and the dependency on standard of this config is explicit.
Comment #48
alexpottDoh of course... this configuration belongs in standard's optional configuration. Then when we remove RDF from core we remove it from the optional config in standard and we're good to go. Then the Rdf contrib module maintainers can decide what to do with Standard test move it has moved to contrib.
Also as #4 mentioned we need to remove from Umami as well. We should have a separate issue to discuss that.
Comment #49
alexpottHmmm actually being able to move the config completely out of standard is nice and keeps all the rdf stuff together... let's fix the tests in #46.
Comment #50
catchI wasn't sure about moving the config to standard, but it means no change in the behaviour when you install standard + RDF (until RDF is actually removed from core in 10.x) and looks pretty clean to me.
Comment #52
larowlanJust got one question about whether we should loosen the dependency to make RDF do something for some fraction of sites if it gets installed after the initial profile install. And a comment about scope that I don't think should hold things up here, even though technically our scope rules say it should.
But does this really rely on standard profile or does it actually just rely on the existing dependencies, e.g. the page node type.
E.g. if you have a site not based off standard, and you have a page node-type and then you decide to install RDF, shouldn't this config be installed?
Similarly for the vocabularies.
Or are we taking too much liberty there and placing too much emphasis on the happy collision of a node-type machine-name?
The issue is that without this config, installing RDF does nothing. You'd install it and go, what did that do. And then go looking in the UI and find nothing. And as there's no UI to add a config so you would have to know to go looking for RDF UI module - https://www.drupal.org/project/rdfui. I am happy if the answer is yep, nothing 🤷 but figured I should ask
Side note, I think the number of sites reporting usage of that module is probably a more reasonable estimate of the number of sites using RDF, plus/minus a handful who hand edited the YML.
Are all these comment changes in scope? Technically no, but is it worth holding this issue up for, I don't think so.
Same comment here re scope
Comment #53
longwaveThis is no different from the existing behaviour though? If you set up a site on
minimaland then install RDF module, you don't get any mappings. IMO this is a feature request for the RDF module in contrib, and in fact it probably makes sense for rdf and rdfui to be combined in contrib, if anyone cares to do so.Comment #54
catchYeah I think #52 would have been a very good idea when we added RDF to core, but less so now when we're trying to remove it.
/me looks at the usage stats 0.o
Comment #55
larowlanMakes sense, lets move this forward
Saving issue credits
Crediting catch for 4 or 5 reviews and comms in slack
Crediting quietone for meta-issue and related issue wrangling
Crediting andypost for reviews and review of the change-notice and release note
Crediting lauriii for a review
Comment #58
larowlanCommitted to 10.1.x and backported to 10.0.x
Committed the 9.x patch to 9.5.x
Published the change record - great work here folks