[wp-trac] [WordPress Trac] #61281: Plugin having dependent plugins not checkable for the bulk actions

WordPress Trac noreply at wordpress.org
Fri May 24 02:22:12 UTC 2024


#61281: Plugin having dependent plugins not checkable for the bulk actions
-----------------------------+-----------------------------
 Reporter:  giuse            |       Owner:  costdev
     Type:  defect (bug)     |      Status:  assigned
 Priority:  normal           |   Milestone:
Component:  Upgrade/Install  |     Version:  6.5
 Severity:  minor            |  Resolution:
 Keywords:                   |     Focuses:  administration
-----------------------------+-----------------------------
Changes (by costdev):

 * owner:  (none) => costdev
 * status:  reopened => assigned
 * version:  6.5.3 => 6.5


Comment:

 Hi @giuse, thanks for opening this ticket!

 === Some historical context
 The scale of the Plugin Dependencies feature means that we had to make
 decisions about deferring some aspects of it, such as this one, until a
 later release. Doing so gives us time to make sure those aspects are done
 right, and we made those decisions regrettably in the short term, knowing
 that it was better for users in the long term that we did things both
 correctly and incrementally.

 The Bulk Actions checkbox for these plugins was intentionally disabled
 until such time as we can get some additional work done. In line with
 this, note that the deletion of a dependency (Plugin A in your example)
 via Bulk Actions was removed in [57620].

 === Where I stand
 I fully agree that a smoother process is needed here for Bulk Actions.
 There are a number of actions available in the dropdown menu, and enabling
 the checkbox means any of those options may be selected. That's not
 inherently a problem, but it can lead to problems.

 === What kind of problem?
 - Plugin A and Plugin B are both inactive.
 - The user checks several plugins, including Plugin A, but not Plugin B,
 then selects `Delete`.
 - Plugin A's deletion should fail.
 - However, as long as Plugin A is installed, Plugin B's checkbox will be
 disabled, meaning it can never be checked at the same time as Plugin A,
 and therefore Plugin A can never be deleted by Bulk Action.
 - Re-enabling Plugin B's checkbox means that even if both Plugin A's and
 Plugin B's checkboxes are checked, if Plugin B comes later alphabetically
 than Plugin A, then Plugin A's deletion will fail and the user will need
 to perform another `Delete` Bulk Action. Therefore, we'd only be partially
 resolving the issue in a way that makes the remaining case all the more
 frustrating for users.
 - Now, expand the `Delete` example to also cover `Activate` and
 `Deactivate`.

 === What's the additional work?
 We need an activation/deactivation/deletion order based on whether a
 plugin is a dependency, a dependent, or both. By having that order, we can
 re-enable the checkboxes for all of these kinds of situations. I plan to
 get this work done as soon as I can, with an aim of release in WordPress
 6.7 so there's plenty of time for the work to be reviewed and tested
 thoroughly when it reaches that stage.

 I fully appreciate that everyone (including me) wants to see this on a
 much shorter timeframe. Unfortunately, resources are stretched at this
 time and there aren't many people with domain awareness of this area. I'm
 mindful of the frustration this may cause, and I hope everyone understands
 that we're doing the absolute best we can to build on what we delivered in
 WordPress 6.5 as soon as possible.

 -----

 Closing this ticket as `maybelater` would be incorrect, as the plan is for
 `definitelylater`, so I'm going to milestone this ticket for `Future
 Release` to note that it's been reviewed and that it should remain open
 until a later time. I'll also assign myself as the ticket's owner.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/61281#comment:5>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list