888888.888888.88""Yb..dP"Yb..8888b..Yb..dP.88b.88....db....8b....d8.88..dP""b8..dP"Y8
88__...88__...88__dP.dP...Yb..8I..Yb.YbdP..88Yb88...dPYb...88b..d88.88.dP...`".`Ybo."
88""...88""...88"Yb..Yb...dP..8I..dY..8P...88.Y88..dP__Yb..88YbdP88.88.Yb......o.`Y8b
88.....888888.88..Yb..YbodP..8888Y"..dP....88..Y8.dP""""Yb.88.YY.88.88..YboodP.8bodP'


88b.88.888888.888888.Yb........dP.dP"Yb..88""Yb.88..dP
88Yb88.88__.....88....Yb..db..dP.dP...Yb.88__dP.88odP.
88.Y88.88"".....88.....YbdPYbdP..Yb...dP.88"Yb..88"Yb.
88..Y8.888888...88......YP..YP....YbodP..88..Yb.88..Yb

June 4, 2008

Automatic updates create a new problem for plugin authors. Users no longer have to download and install a plugin, and in the process see what has changed, they now just update it and hope it all works out. My question today is, what should plugin authors do if they know the latest update is liable to break things?

One option is to release an intermediate version. A version which contains a warning message that the next version will have major changes and so users shouldn’t update without thinking things throught first.

Another options if to bundle a previous version of the plugin. The they can either upgrade but ask the user if they want to go back, or alternatively explain the changes and then ask the user if they want to proceed with them.

Lastly, they could simply prepare to field the inevitable support queries and hope enough users read the updates page before going ahead.

I am still trying to decide which option to go for with some changes to one of my plugins.

Do you ugrade without checking the changes? I know I tend to. If so which option do you prefer? or is there something I have missed?

Using Wordpress As A Php Framework
Using wordpress as a framework?
2 comments
page 335
Using Your Own Url Shortener
Rewriterule shorten url?
4 comments
page 1190
Post Image The Easy Peasy Way
Finding attached image with post in wordpress?
26 comments
page 1065
My Experience Of Flexx
How to edit flexx theme wordpress?
4 comments
page 1026
Wordpress 25 Exif Fields
Wordpress exif plugin?
12 comments
page 230
Post Image The Easy Peasy Way
List image attachments wordpress?
26 comments
page 1065
Html 5 Gallery
Html 5 photo gallery?
6 comments
page 1305
Post Image The Easy Peasy Way
Wp image attached linkable?
26 comments
page 1065
Post Image The Easy Peasy Way
Wp get first image for post?
26 comments
page 1065
Updating Code Snippets Here
Cacheaboutblank?
no comment
page 1338
Html 5 Gallery
Html5 photo gallery?
6 comments
page 1305
Quick N Dirty Admin Login Screen
Simple login screen css?
no comment
page 128
Six Million Ways To Die Choose One
One million ways to die?
14 comments
page 1128
Updating Code Snippets Here
Interesting wordpress websites?
no comment
page 1338
Post Image The Easy Peasy Way
Attachment images in wordpress single posts?
26 comments
page 1065
Six Million Ways To Die Choose One
Is there an easy way to die?
14 comments
page 1128
Quick N Dirty Replacement Text
Addaction replacement?
no comment
page 122
Html 5 Gallery
Html5 photo gallery?
6 comments
page 1305
Are Child Themes The Best Option
Thesis child theme?
15 comments
page 1262
Charcoal Theme Available For Wordpress
Charcoal wordpress site admin?
2 comments
page 959
Post Image The Easy Peasy Way
Finding attached image with post in wordpress?
26 comments
page 1065
How To Add Sidebars To A Theme
Register sidebar in functionphp?
10 comments
page 1053
Html 5 Gallery
Html5 chat?
6 comments
page 1305
Why I Ditched Disqus
Disqus themes?
5 comments
page 1175
Post Image The Easy Peasy Way
How to use wp get attachment url?
26 comments
page 1065
Post Image The Easy Peasy Way
Finding attached image with post in wordpress?
26 comments
page 1065
What A Body
Whatabodybiz?
11 comments
page 1126
Adding Settings To Admin Pages
Admin add field wordpress?
3 comments
page 793
Wordpress Chat
Wp chat page?
3 comments
page 1308
Html 5 Gallery
Html5 and tabs?
6 comments
page 1305
Post Image The Easy Peasy Way
Finding attached image with post in wordpress?
26 comments
page 1065
Creating Custom Urls
Custom url rewrite wordpress?
6 comments
page 80
  1 query every 1562 seconds, updated 1 seconds ago.
Thursday, 6am
 __
(__)
   `

 Andrew Rickmann

Lothar, you are right. The first thing I looked at was the plugin upgrade code because I had assumed that the actual upgrade command would feature an optional version number so a plugin author could choose to trigger a roll back.

Out of all the options I personally favour including an older version of the plugin which is enabled automatically, but which has an added page for the user to trigger the replacement.

I may be trying this out fairly shortly on my fun with sidebar tabs plugin because I need to change the class based system to an ID based system and I want to change the structure of the html. There could be a fair amount of breakage.

Thursday, 3am
 __
(__)
   `

 Austin

I always test plugin upgrades on a development site before pushing them live, but I don’t think the sites I manage are typical of the kind of people who use the automatic update anyways.

What I mean is that the people who automatically upgrade without checking the code are not likely to have checked the code even without the automatic update, so probably the only thing that has changed with 2.5 is the likelihood that users will upgrade, not their degree of caution.

But to answer your question, if breaking upon upgrade were unavoidable, I think I would check for the existence of the earlier version and then disable the main functionality, with a prominent admin area warning (like Akismet’s “you don’t have an API key” message). Then the user could opt in to the breakage, or (by following a link) re-install the previous version.

Wednesday, 10pm
 __
(__)
   `

 Lothar

I think that the automatic update function is missing one important feature: it should version-control. So if I publish a plugin for WordPress 2.6 this should be checked by the function and it should only update, if my installation is 2.6 or newer. If I still have 2.5.x, it should not update, but give me a message. That would be the only usefull solution.

Wednesday, 9pm
 __
(__)
   `

 Christopher

Apart from the odd moment of weakness I will always try and check out the authors website for notes about changes etc – though sometimes there is no hint of a changelog :(

Personally I wish the upgrade process would pause once it has downloaded the zip file and display the readme file (and / or perhaps a changelog file) – and only resume installation once the file has been scrolled through / read and a button pressed.

Having a link to the readme file of each plugin on the plugin page might also be quite useful, and I think I have seen a plugin that does that (and more) – but I can’t remember the name of it.

Wednesday, 8pm
 __
(__)
   `

 Ian Stewart

I upgrade w/o checking for changes

Wednesday, 8pm
 __
(__)
   `

 Frank

! correctly,
and the update-function is to bad. The users like the function and upload all files, incl files screenshit and many language-files.

No visits for a update or read the history :(