[wp-trac] [WordPress Trac] #22316: Plugin Dependencies (Yet Another Plugin Dependencies Ticket)

WordPress Trac noreply at wordpress.org
Sat May 13 16:55:00 UTC 2023


#22316: Plugin Dependencies (Yet Another Plugin Dependencies Ticket)
-------------------------------------------------+-------------------------
 Reporter:  Viper007Bond                         |       Owner:  afragen
     Type:  enhancement                          |      Status:  assigned
 Priority:  normal                               |   Milestone:  6.3
Component:  Upgrade/Install                      |     Version:  3.4.2
 Severity:  normal                               |  Resolution:
 Keywords:  dev-feedback has-patch needs-        |     Focuses:
  design-feedback needs-dev-note has-unit-tests  |
  2nd-opinion changes-requested                  |
-------------------------------------------------+-------------------------

Comment (by costdev):

 Thanks for your input @knutsp! My response below is also written for those
 less familiar with the feature plugin and PR, so apologies for anything I
 mention that you're already aware of.

 > On install, these dependencies should be handeled in about the same way
 as the minimum required version restrictions (WP/PHP).

 This is a concern of mine about the suggested change to the UX to
 ''prevent installation'' of a dependent without its dependencies -
 particularly (but not exclusively) for manual uploads.

 We would need to parse the `Requires Plugins` header, detect whether all
 dependencies are installed, and if not, block the install. So each
 dependency would need to be manually installed in the exact right order
 before allowing a dependent's "Install" button to be clicked or allowing a
 manual upload of the dependent. While this is something we as developers
 are used to, it may be much less familiar for general users. Installing
 the dependent that they want, then being told to install the extras it
 needs, may be a smoother process for them.

 The feature plugin and PR currently allow the installation of a dependent
 without its dependencies, but in order to activate it, the dependencies
 will need to be installed and activated, which is what I believe you
 mention after:

 > And we can't assume a plugin with unmet dependencies will never be
 installed. There are other ways. So this must also be checked before
 allowing activation (UI and API level), plus, maybe, even after
 activation, forcing an immediate deactivation.

 The feature plugin and PR currently prevent activation of a dependent
 plugin if its dependencies are not installed and activated.

 In addition, the feature plugin and PR currently deactivate any dependent
 plugin should its dependencies suddenly become unavailable (such as if a
 dependency's directory is manually deleted).

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


More information about the wp-trac mailing list