[wp-trac] [WordPress Trac] #48850: Plugins Screen: introduce "Automatic updates" column / option
WordPress Trac
noreply at wordpress.org
Wed Feb 5 20:30:02 UTC 2020
#48850: Plugins Screen: introduce "Automatic updates" column / option
-------------------------------------+-------------------------------------
Reporter: jeherve | Owner: audrasjb
Type: feature request | Status: accepted
Priority: normal | Milestone: 5.4
Component: Plugins | Version: 3.7
Severity: normal | Resolution:
Keywords: has-patch needs-testing | Focuses: administration,
has-screenshots dev-feedback | multisite
needs-dev-note needs-design |
-------------------------------------+-------------------------------------
Comment (by desrosj):
[attachment:"48850.12.diff"] primarily overhauls how the auto-updates were
triggered in the previous patches by moving that code into the auto-update
classes. It should be just built in and not added with a filter. In
summary:
- UI related changes are not included so that direction can be finalized
there.
- If a plugin that is auto-updating is active, then the site is now
entered into maintenance mode. Previously, this did not seem to be the
case. After triggering an auto-update, I was able to trigger the WSOD
protection screen, or cause the plugin to be disabled when visiting the
plugin screen in the admin because of a PHP error. This should be
prevented now. Note: it is a bit clunky in that the site will enter and
leave maintenance mode before and after each active plugin is auto-
updated.
- A `Plugin_Updater::should_update_to_version()` method was added. This
method is meant to have similar responsibilities to the one in the
`Core_Upgrader` class. It will detect the constant or use the stored site
option to determine if the current plugin should be auto-updated. It then
passes the `$update` result through a general filter. In `Core_Upgrader`,
the code goes a step further by determining whether the update being
attempted is a major, minor, or development update and
[https://core.trac.wordpress.org/browser/trunk/src/wp-admin/includes
/class-core-upgrader.php#L337passes each type through its own filter]. By
adding this method, it allows plugin auto-updates in the future to become
more flexible based on the version being offered. Imagine being able to
allow only `security` releases to be auto-updated for plugins. Minor/major
was also mentioned above, but I don't think that is currently realistic
because there is no standardized versioning for plugins. Authors are
allowed to version however they please.
- A `WP_Automatic_Updater::after_plugin_update()` method was added to
perform any required actions after any plugins are auto-updated. This
again is meant to be similar to the accompanying
`WP_Automatic_Updater::after_core_update()` method, but perform actions
specifically for plugins. Right now, it determines if there were any
successfully updated plugins, any updates that failed, and then triggers
an email. The accompanying core method tracks when emails are sent out, to
whom, for which results (fail, pass, etc.), and for which versions. The
same needs to be considered and added for plugins so that multiple emails
are not sent for the same plugin updates (especially if a specific update
fails multiple times).
- `WP_Automatic_Updater::send_plugin_email()` was added to construct and
send an email to the site owner when any plugins are successfully or
unsuccessfully auto-updated. The tone of these emails needs to be
reviewed. I tried to match the core update ones, but there is not "mixed"
result for core updates. What guidance should we be giving in the mixed
updates for plugins? Failed?
--
Ticket URL: <https://core.trac.wordpress.org/ticket/48850#comment:70>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list