introduced an abstracted API for creating user interface lists of any plugins. This API did not undergo technical review because of the unmanageable scope of that patch. It is unnecessarily complex and is not used anywhere other than the blocks UI.
This issue is major because:
- It is part of resolving the critical , but does not itself block release.
- The unnecessary complexity and abstraction of the PluginUI subsystem is extremely confusing and makes it difficult to debug the blocks UI.
- The API was not reviewed, documented, or tested, and was only accepted into core with the explicit understanding that those things would be required.
Remove the abstracted Plugin UI API, and replace it with a block-specific implementation.
The following classes are removed:
BlockPluginUIand its derivative class
The following classes are renamed:
The following callbacks are removed:
system_forms()hook implementation is removed.
system_plugin_autocompleteroute is removed and is replaced with a block-specific route for the new
The following services are removed:
BlockListControllerno longer extends
EntityListController, and therefore no longer takes an entity type in its constructor or its
Additionally, the URLs for block listings and adding blocks per theme are changed.
PASSED: [[SimpleTest]]: [MySQL] 58,135 pass(es).
PASSED: [[SimpleTest]]: [MySQL] 57,974 pass(es).
PASSED: [[SimpleTest]]: [MySQL] 58,064 pass(es).
PASSED: [[SimpleTest]]: [MySQL] 57,580 pass(es).