Problem/Motivation
Views Bulk Operations had a new configuration schema since a few versions. The optional administration view in this module still uses the old schema.
Proposed resolution
- Update the configuration.
- Add a conflict on VBO 2 in the composer.json
- Release as a new minor version
- Add instructions in the release notes for updating a faulty admin View
Bug fixes should be applied to 2.0 for a while still, until VBO 2 support can be dropped.
WRT the last point, sites may well be in a situation where Views Bulk Operations was installed afterFragments, in which case the installed admin View will be misconfigured for VBO. We could add an update hook that tries to run the VBO update hook (it is sufficiently robust so that it will not run for Views that are already in the new format), but that would mean we would need to keep track of any possible changes to VBO in the future (as we might be running the update hook at an inappropriate time, so this is more hassle than its worth with 59 sites reporting using this module.
Release notes snippet: Compatibility with Views Bulk Operations
In this version, the optional admin view has received a long overdue update for current versions of Views Bulk Operations (VBO).
If you previously installed a version of Views Bulk Operations newer than 8.x-3.3 while Fragments was already installed, or you installed Fragments while you already had VBO in a newer version than 8.x-3.3, you may have had a version of the administration view for Fragments installed that has incompatible VBO configuration. In that case, go and configure the Fragments administration view at admin/structure/views/view/fragments. Under Fields, select Global: Views Bulk Operations and make sure appropriate operations are selected. By default, Fragments adds the delete operation. This will fix your admin view to something similar that comes with this release.
If you previously installed VBO and Fragments together when VBO was still on version 8.x-3.3 or older, the update hooks for VBO will have made the required changes to Fragments' administration View and you will not have to do anything.
In case you newly install this version of Fragments on a site that already has VBO and that version is version 8.x-3.3 or older you will now end up with a misconfigured admin view. You can manually fix this in the same fashion. However, your VBO installation is then severely outdated; please update.
If you do not have VBO installed at all, this does not affect you. It is, however, highly recommended; the basic administration view that does not use VBO is minimally maintained.
Remaining tasks
Create MR- Review
- Merge
Backwards compatibility
Note: this point has basically been made moot by the passage of time. VBO 3 is no longer even the recommended version and the change this is about has been made over two years ago. Also, this is about optional configuration, so let's not make things more difficult than they need to be.
In order to determine what the appropriate course of action for the version number would be (major - 3.0 - or minor - 2.1), I am writing down some possible scenario's. As part of this issue, a conflict will be added to the composer.json that marks the release as incompatible with VBO smaller than 3.0. For now, let's assume we release this as 2.1.
| Fragments | VBO | Remarks |
|---|---|---|
| Not installed | Not installed | Installing either Fragments of VBO first will install a compatible version. |
| Installed (old version) | Installing | Composer will install the latest version of VBO, because Fragments does not mark is as a conflict. Broken admin View will get installed. Nothing we can really do about this, since this version is "out there". |
| Updating (old version) | Installed, <3.0 | Composer will not update to 2.1, since it is marked as conflicting with the VBO version |
| Updating (old version) | Installed, >3.0 | Composer will update to 2.1. Depending on the order of installs and updates (see e.g. 2nd scenario), the system may have a version of the admin View that is broken, because of an old way of configuring the VBO actions |
| Installed (new version) | Installing | Composer will install the latest version of VBO. This is fine, because the new Fragments version is compatible |
| Installing | Installed, <3.0 | Composer will install Fragments 2.0.x, since 2.1.x is marked as conflicting with the VBO-version |
| Installing | Installed, >=3.0 | Composer will install Fragments 2.1.x, since the VBO version is compatible |
At least with a minor version update, more users will update to a version that properly marks compatibility. The scenario where a site installs VBO while on an old version of Fragments would suggest we need to make sure our admin View is updated, in that scenario.
User interface changes
None.
API changes
None.
Data model changes
None.
Issue fork fragments-3229888
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
eelkeblokComment #3
eelkeblokI am wondering whether the assessment that it should be fine to release this in a new minor; a scenario I did not consider is when a site already installed VBO, but it is still version 2, and Fragments gets added. With VBO3-config, this would break. At least this means we will need to support the old config for a while (until D8 is no longer supported, which will also mean VBO 2 is no longer supported).
Comment #4
eelkeblokComment #6
eelkeblokComment #7
eelkeblokComment #8
eelkeblokComment #9
eelkeblokComment #10
eelkeblokComment #11
eelkeblokComment #12
eelkeblokVBO 2 is no longer supported, so I think we should be OK to release this.
Comment #13
eelkeblokI removed the conflict from composer.json, because there is no actual hard conflict, and it is polluting the code base. I'll adjust the release note snippet to point out the small incompatibility.
Comment #14
eelkeblokComment #16
eelkeblok