Problem/Motivation
The taxonomy module hard-codes some node functionality that is hard-coupled in the module. Taxonomy uses default field storage to store canonical relationships between terms and fieldable entities. However in relation with the Node entity it uses a dedicated denormalized table {taxonomy_index} to avoid slow queries due to joining across multiple node and field tables with various conditions and order by criteria. It's possible for a 3rd party module to implement its own custom storage engine that uses alternative methods of denormalizing this data, but right now this is not managed by an API.
Proposed resolution
- Remove the node code from taxonomy.
- Provide a common API to make this process pluggable.
Remaining tasks
- Reroll per #16
- Add tests
- Move the
taxonomy.settings:maintain_index_tablein the Node module while still keeping BC. Add upgrade path and upgrade path tests.
User interface changes
None.
API changes
- New plugin type:
\Drupal\taxonomy\TermReferenceInterface - Add a plugin implementation for Node
- Plugin manager
Data model changes
None.
| Comment | File | Size | Author |
|---|---|---|---|
| #20 | interdiff_19-20.txt | 1.42 KB | nikhil_110 |
| #20 | 2917209-20.patch | 22.29 KB | nikhil_110 |
| #19 | 2917209-19.patch | 22.37 KB | prem suthar |
| #18 | interdiff_17-18.txt | 3.37 KB | pooja saraah |
| #18 | 2917209-18.patch | 22.41 KB | pooja saraah |
Comments
Comment #2
claudiu.cristeaGive it a first try.
Comment #3
claudiu.cristeaOps, the surgeon has left his knife inside.
Comment #5
mallezieComment #16
smustgrave commentedThis issue is being reviewed by the kind folks in Slack, #needs-review-queue-initiative. We are working to keep the size of Needs Review queue [2700+ issues] to around 400 (1 month or less), following Review a patch or merge request as a guide.
Updated issue summary with a remaining task
This still needs an upgrade path and tests
Thanks!
Comment #17
suresh prabhu parkala commentedRe-roll to the latest 10.1.x. Please review.
Comment #18
pooja saraah commentedFixed failed commands on #17
Attached patch against Drupal 10.1.x
Attached interdiff
Comment #19
prem suthar commentedTry To Fix The Failed Patch #18.
Comment #20
nikhil_110 commentedTry To Fix the Failed Patch #19
Comment #21
nikhil_110 commentedComment #22
smustgrave commentedQuick glance I don’t see if an update path was added