Make WordPress Core

Opened 6 months ago

Last modified 5 months ago

#60507 new feature request

Add a view for plugins with missing dependencies

Reported by: desrosj's profile desrosj Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Plugins Keywords: has-screenshots
Focuses: Cc:

Description

Instead of directing the user to review their plugins or look for plugins that cannot be activated, it would be really useful to have a filter (similar to Active, Update Available, etc.) that can be linked to. Maybe "Missing Requirements" or "Unmet Requirements".

I don't love either of those names, but I prefer those over "Missing Dependencies" or "Unmet Dependencies".

Attachments (1)

Screenshot 2024-02-12 at 9.36.38 AM.png (35.8 KB) - added by desrosj 6 months ago.

Download all attachments as: .zip

Change History (9)

This ticket was mentioned in Slack in #core-upgrade-install by desrosj. View the logs.


6 months ago

#2 @costdev
6 months ago

Thanks for opening this ticket @desrosj!

Some related background:
The feature used to have a "Dependencies" tab in Plugins > Add New where all dependencies would be shown in plugin cards, which would show their status (Install Now, Activate, Update Now, Active). This was removed during 2023 as it was felt that this wasn't appropriate.

For a view within plugins.php, my memory fails me on whether a discussion about this ever surfaced (pinging @afragen, @pbiron, @azaozz in case they remember). Linking directly to a view that shows just what the user needs certainly sounds beneficial though. If those pinged can first add some historical context, if any, I think a discussion on this is well worth having.

#3 @afragen
6 months ago

There was some discussion regarding a filter in the plugins.php page, but as that page is only for installed plugins it didn't seem the appropriate location.

#4 @pbiron
6 months ago

I think we discussed something like this at some point (in the context of removing the "Dependencies tab" mentioned above, but I can't find that discussion. I may have just had that conversion w/ myself ;-)

With the current functionality as committed, the only way there can be unmet dependencies is if things are modified "outside of the normal workflow", e.g., dependency removed via FTP, etc.

I will try to do a POC implementation today of such a view (pedagogical point: I think it's cleaner to speak about what is being proposed by the correct term, since "filter" has specific meaning in core that is different from what is being proposed) so that I can play w/ various scenarios where requirements could be unmet to decide (for myself) whether such a view would be useful. Will report back after I've done that.

#5 @pbiron
6 months ago

@desrosj just to make sure I understand what you're asking for: you want a convenient way to list all plugins that have unmet dependencies, right?

For example, if plugin A depends on plugin B, and plugin B is either not installed or not active (because the site owner has mucked with things "out of band") then plugin A should be listed in the new view.

#6 @desrosj
6 months ago

  • Summary changed from Add a filter for plugins with missing dependencies to Add a view for plugins with missing dependencies

Correct. All plugins that cannot be activated because there are unmet dependencies. I should have avoided "filter" to avoid confusion with the actual filter API. Updating the ticket description to use "view", which is the nomenclature used in WP_List_Table classes.

Last edited 6 months ago by pbiron (previous) (diff)

#7 @pbiron
6 months ago

Thanx @desrosj

What do you think of Cannot be Activated as the text for the new view?

#8 @azaozz
6 months ago

There was some discussion regarding a filter in the plugins.php page

Yea, there were some discussions about another "filtered view" on the Plugins screen. Think I proposed it initially but now I'm "on the fence" about this. The reason is that when a plugin has unmet requirements it is in an abnormal/erroneous state. Generally this is quite rare and can only happen if a plugin with unmet requirements was installed from FTP, or a plugin that is required by other plugins was deleted from FTP.

Also as @desrosj points out above the filtered view would have to show all installed plugins with unmet requirements, including any that require newer PHP or WP versions. These cases also are quite rare as far as I know and can generally happen when using FTP (without verifying that WP and the server meet the plugin's requirements), or perhaps when moving a site to a server with older PHP version.

I can see this as a possible enhancement, but maybe something for 6.6 (after some more user testing)?

Related: #60491.

Last edited 5 months ago by azaozz (previous) (diff)
Note: See TracTickets for help on using tickets.