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_table
in 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 CreditAttribution: smustgrave at Mobomo 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 CreditAttribution: Suresh Prabhu Parkala at Specbee commentedRe-roll to the latest 10.1.x. Please review.
Comment #18
pooja saraah CreditAttribution: pooja saraah at Srijan | A Material+ Company for Drupal India Association commentedFixed failed commands on #17
Attached patch against Drupal 10.1.x
Attached interdiff
Comment #19
Prem Suthar CreditAttribution: Prem Suthar at Srijan | A Material+ Company for Drupal India Association commentedTry To Fix The Failed Patch #18.
Comment #20
Nikhil_110 CreditAttribution: Nikhil_110 at Srijan | A Material+ Company commentedTry To Fix the Failed Patch #19
Comment #21
Nikhil_110 CreditAttribution: Nikhil_110 at Srijan | A Material+ Company commentedComment #22
smustgrave CreditAttribution: smustgrave at Mobomo commentedQuick glance I don’t see if an update path was added