Updated: Comment #0
Aggregator module is doing too much.
Especially the category handling is responsible for loads of custom code, which frankly we don't need in core.
The CRUD logic is everywhere, from entity-storage controllers, forms to legacy procedural functions. Of course nothing is alterable there are no hooks.
We tried to make things at least swappable by introducing the CategoryStorage, but eventually figured out (
One could say we can mark this field as locked, but then this issue loses much of its point.
We do not hardcode fields elsewhere in core, why do it now?
Instead of getting stuck for one more release with code that is totally out of sync of core APIs, remove it from core, let it advance to contrib, by correctly using fields and views, because lets face it not much people care about it in core.
Completely remove the category handling code and transfer it to contrib (aggregator_category). I am willing to maintain the code with any upgrade path needed, and in the long run turn everything to fields/views.
Write patch, review, commit.
User interface changes
No more categories in UI.
All category related functions are removed.
PASSED: [[SimpleTest]]: [MySQL] 59,132 pass(es).
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch drupal-aggregator_categories-2127725-15.patch. Unable to apply patch. See the log in the details link for more information.
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch drupal-aggregator_categories-2127725-8.patch. Unable to apply patch. See the log in the details link for more information.
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch drupal-aggregator_categories-2127725-1.patch. Unable to apply patch. See the log in the details link for more information.