This version of the WordPress plugin has a lot of new features, and, quite probably, a lot of new bugs, too. In fact, it’s so experimental it even glows in the dark 😛
The plugin, which I’ve alternatively called “One Click Updater” and “Single Click Updater” in the past (no doubt to confuse everyone, including me), is now way more than a “plugin updater” plugin. Version 2.0 deals with plugin/theme installation, allows you to determine if and when WordPress checks for updates, and more. It was designed with WP 2.5 in mind, but most of the functions will still work in WP 2.3.
At the moment, the new version is only available from the WordPress.org plugin database.
- Displays the number of active plugins and available upgrades right below the “Plugin Management” headline in the “Plugins” tab.
- An “Upgrade All” option right next to the above (only in WP 2.5). It does exactly what you’d expect – download and install all of the available plugin updates.
- Plugin and theme installation. I’m encroaching on the OneClick’s territory here… oh well, I haven’t seen a new version of that for a while. You can install a plugin/theme by providing an URL of a .zip file, or uploading the archive file yourself (see Plugins -> Install a Plugin and Themes/Design -> Install a Theme). The installer uses direct filesystem access (for now), so you’ll need proper file permissions for this to work. Eventually, I’ll add support for the new filesystem classes introduced in WP 2.5.
- Autodetection! The plugin can parse a ZIP file and determine if it’s a plugin or a theme. Some salient data (such as name and version) is also extracted. You can see this in action by going to any of the installer pages (see above) and selecting “Detect automatically” from the “Type” dropdown.
- Configure how often WordPress checks for plugin updates and new WordPress versions. You can also turn them off (not recommended) and select which “module” to use for plugin upgrades – this plugin, or the built-in updater in WP 2.5. All this is available
for the small price ofin the Plugins -> Upgrade Settings page.
- Security. Most functions now use the WordPress nonce mechanism to prevent possible exploits (by the way, the abovementioned OneClick plugin is vulnerable).
- Compatible with the OneClick Firefox Extension (unfortunately autodetection doesn’t work with this, yet).
- The new interface is built for WP 2.5 and might not look as good on WP 2.3.x.
- There are major changes to the internal handling of installation and upgrades – most of the relevant code has been rewritten from scratch. I think it is more elegant now, but new code = new bugs. Beware.
- The “debug mode” flag is finally available on the “Upgrade Settings” page. Previously you had to change the plugin file itself to get any kind of execution log.
- Multiple algorithm fallbacks for downloading files – the plugin can use either cURL, fopen() or sockets (via Snoopy) to download something. I only wish I could make filesystem access so robust as well.
- Better error reporting (I think).
- Unlike the built-in updater, this plugin calls both the deactivation and activation hooks for every plugin it upgrades.
- Again, unlike in the WP 2.5 plugin updater, it doesn’t extract the whole archive to memory. I’ve made it extract and analyze archives file-by-file to avoid exceeding PHP memory limits. The limits can be very low on some shared hosting servers and might cause the built-in updater to crash if it encounters a very large ZIP file.
- Some code (notably the directory creation routine) has been “borrowed” from WP 2.5.
In The Future There Will Be Robots
Or, in other words, where am I going with this plugin? Seeing as WP 2.5 already includes a plugin updater, which will undoubtedly get improved in the next version of WP, it might seem that the One Click Updater is becoming obsolete. After all, it’s a near certainty that WordPress will eventually also include it’s own plugin/theme installer and whatnot.
Does that mean I should just stop developing this plugin? Sure, it might work better than the core updater of WP 2.5 (for some people), but that likely won’t last.
The answer is – I don’t have the slightest idea 😛 I like my plugins, but I don’t want to “fight” WordPress. What do you think?Related posts :