[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