Problem/Motivation
\Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase implements \Drupal\Component\Plugin\ConfigurablePluginInterface which was deprecated in Drupal 8.7.0.
------ ------------------------------------------------------------------------------------
Line src/Action/ViewsBulkOperationsActionBase.php
------ ------------------------------------------------------------------------------------
17 Class Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase implements
deprecated interface Drupal\Component\Plugin\ConfigurablePluginInterface:
Drupal\Component\Plugin\ConfigurablePluginInterface is deprecated
in Drupal 8.7.0 and will be removed before Drupal 9.0.0. You should implement
ConfigurableInterface and/or DependentPluginInterface directly as needed. If
you implement ConfigurableInterface you may choose to implement
ConfigurablePluginInterface in Drupal 8 as well for maximum compatibility,
however this must be removed prior to Drupal 9.
------ ------------------------------------------------------------------------------------To put this in some context, ConfigurablePluginInterface extends DependentPluginInterface, which contains the single method calculateDependencies(), and adds to it methods getConfiguration(), setConfiguration() and defaultConfiguration(). The new ConfigurableInterface, that deprecates ConfigurablePluginInterface, does not extend DependentPluginInterface, but only contains said configuration methods.
Proposed resolution
Replace ConfigurablePluginInterface with ConfigurableInterface in the implemens list of ViewsBulkOperationsActionBase.
Remaining tasks
- Reach concencus about solution
- Implement
- Review
- Commit
User interface changes
None.
API changes
Instead of ConfigurablePluginInterface, plugins extending ViewsBulkOperationsActionBase will now implement ConfigurableInterface. If they implement calculateDependencies, they should themselves declare to implement DependentPluginInterface.
Data model changes
None.
Original report by Graber
As in title. The ConfigurableInterface was introduced in Drupal core 8.7 so we'll have to wait with this until earlier core versions are no longer supported.
Comments
Comment #2
eelkeblokWith the release 8.8 versions prior to 8.7 are not supported anymore.
Comment #3
eelkeblokFleshed out summary.
Comment #4
eelkeblokBecause of the mentioned API changes, I guess this constitutes a reason to introduce a 4.0?
Comment #5
eelkeblokComment #6
eelkeblokComment #7
eelkeblokComment #8
eelkeblokComment #9
eelkeblokThat's all there is to it (well... let's see).
Comment #10
graber commented@eelkeblok, looks good! I don't think we need to bump the version of the module, action plugins will be implemented the same way if using the base class and if not - they can implement anything really and the
ViewsBulkOperationsActionInterfacestays the same.We'll need to bump the required core version in the .info.yml file though.
Comment #11
mustafa_ab commentedThere is a reference to
calculateDependencieswhich depends onDependentPluginInterfaceinterface, it can be removed since it is not used. Included a patch that removes that block of code.Comment #12
avpadernoComment #13
graber commentedBoth patches are included in one single patch that works fine in the parent issue. Closing this. Thanks!