Follow-up Issue

This is a potential follow-up issue to #1903346: Establish a new DefaultPluginManager to encapsulate best practices, which changes the behavior of plugin managers to use a base plugin manager class. The patch in that issue only addresses 5 plugin managers - ArchiverManager, ConditionManager, BlockManager, ConstraintManager, ImageToolkitManager. The rest of the plugin manager classes need to follow the new behavior.

Proposed resolution

This may be done in this issue or this issue may be a meta issue to document individual plugin manager classes listed below:

Class Issue
ActionManager #2039021: Convert ActionManager to extend DefaultPluginManager Assigned to: Xano
AggregatorPluginManager #1957330: Make possible for parsers and fetchers to expose configuration through plugins
CKEditorPluginManager #2039425: Convert CKEditorPluginManager to extend DefaultPluginManager Assigned to: Wim Leers
EditorManager #2039433: Convert EditorManager to extend DefaultPluginManager Assigned to: Wim Leers
EntityManager #2039435: Convert EntityManager to extend DefaultPluginManager
FilterPluginManager #2039521: Convert FilterPluginManager to extend DefaultPluginManager
FormatterPluginManager #2034563: Switch field plugin managers to DefaultPluginManager
InPlaceEditorManager #2204621: Convert InPlaceEditorManager to DefaultPluginManager
LayoutManager
MockBlockManager
PluginUIManager #2039535: Convert PluginUIManager to extend DefaultPluginManager Assigned to: jlindsey15
ResourcePluginManager
SelectionPluginManager #2016589: Add a dedicated @EntityReferenceSelection annotation
TestPluginManager
TipPluginManager #2038233: Convert TipPluginManager to extend DefaultPluginManager
TypedDataManager #1867856: Use annotation discovery for data type plugins
ViewsHandlerManager #2204635: Convert ViewsHandlerManager to DefaultPluginManager
ViewsPluginManager #1969388: Change notice: Add dedicated annotations for Views plugins
WidgetPluginManager #2034563: Switch field plugin managers to DefaultPluginManager

Remaining tasks

  • Write patch(es)

API changes

API changes per #1903346: Establish a new DefaultPluginManager to encapsulate best practices.

Berdir asked to create this follow-up issue.

Comments

Berdir’s picture

Title: Change plugin managers to use non-discovery-based base plugin manager class » Change plugin managers to use non-decorator-based caching/altering base plugin manager class

Slightly changing title, we still use discovery and discovery decorators but we no longer use decorators for alter hooks/caching/processing.

neclimdul’s picture

I was about to have a very serious discussion with people :-D

linclark’s picture

FYI, neither RdfMappingManager nor SiteSchemaManager was a plugin manager. They are also being removed.

Berdir’s picture

Yes, not all of those are plugin managers.

The other issue went in, so work on this one can start.

Have a look at the changes in the other issue to e.g. ArchiveManager and Conditionmanager, it should be quite easy to apply that pattern to the others here. Define the arguments in the corresponding services file, update the constructor and change the class that is being extended from.

You probably want to update only a few at the time and run the tests, make sure to update the list and mark non-plugin managers as such and check those off that are already converted. I think we don't need a meta issue for this, shouldn't be that big. Views is going to be a bit more complicated, and I'd wait with EntityManager for now.

ParisLiakos’s picture

Issue summary: View changes

Add the issue for aggregator

tim.plunkett’s picture

Issue summary: View changes

updated list

tim.plunkett’s picture

Title: Change plugin managers to use non-decorator-based caching/altering base plugin manager class » Change plugin managers to use DefaultPluginManager

Added a table, will add an issue or two.

tim.plunkett’s picture

Issue summary: View changes

turn into table

tim.plunkett’s picture

Issue summary: View changes

added TipPluginManager

tim.plunkett’s picture

Issue summary: View changes

added widget/formatter

amateescu’s picture

Issue summary: View changes

Added the issue where SelectionPluginManager was converted.

Berdir’s picture

Issue summary: View changes

Updated issue summary.

star-szr’s picture

Title: Change plugin managers to use DefaultPluginManager » [Meta] Change plugin managers to use DefaultPluginManager

Making this more clearly a meta, that seems to be what was decided :)

star-szr’s picture

Issue summary: View changes

Add aggregator issue, again

aks22’s picture

Issue summary: View changes

New issue created.

tim.plunkett’s picture

Issue summary: View changes

Updated issue summary.

aks22’s picture

Issue summary: View changes

New Issue Created.

aks22’s picture

Issue summary: View changes

New Issue Created.

aks22’s picture

Issue summary: View changes

New Issue Created.

aks22’s picture

Issue summary: View changes

New issue created needs title to be reviewed

aks22’s picture

Issue summary: View changes

New Issue Created please review..

Berdir’s picture

Issue summary: View changes

Added #2204621: Convert InPlaceEditorManager to DefaultPluginManager and #2204635: Convert ViewsHandlerManager to DefaultPluginManager, #2039435: Convert EntityManager to extend DefaultPluginManager now also has a patch that needs review.

The only left over plugin managers are test implementations, Typed Config which is "special" and therefore not default, Action is blocked on #2155635: Allow plugin managers to opt in to cache clear during module install.

Please review, want to close this issue :)

Berdir’s picture

Status: Active » Fixed

Awesome, all done!

Opened #2271363: Remove CacheDecorator and ProcessDecorator to discuss the removal of the decorators that we no longer need/want.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.