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

Command icon 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

eelkeblok created an issue. See original summary.

eelkeblok’s picture

Title: Adjust optional configuration to new VBO schema » Adjust optional administration view to new VBO schema
Issue summary: View changes
eelkeblok’s picture

I 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).

eelkeblok’s picture

Issue summary: View changes

eelkeblok’s picture

Status: Active » Needs review
eelkeblok’s picture

Issue summary: View changes
eelkeblok’s picture

Issue summary: View changes
eelkeblok’s picture

Issue summary: View changes
eelkeblok’s picture

Issue summary: View changes
eelkeblok’s picture

Issue summary: View changes
eelkeblok’s picture

VBO 2 is no longer supported, so I think we should be OK to release this.

eelkeblok’s picture

Issue summary: View changes

I 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.

eelkeblok’s picture

Issue summary: View changes

  • eelkeblok committed d9c554f on 2.0.x
    Issue #3229888 by eelkeblok: Adjust optional administration view to new...
eelkeblok’s picture

Status: Needs review » Fixed

  • eelkeblok committed aa25ec0 on 2.x
    Merge remote-tracking branch 'origin/2.0.x' into 2.x
    
    * origin/2.0.x:...
  • eelkeblok committed d9c554f on 2.x
    Issue #3229888 by eelkeblok: Adjust optional administration view to new...

Status: Fixed » Closed (fixed)

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