Bug 4082 - Installer should backup existing plugins folder in update installations from <6.5
: Installer should backup existing plugins folder in update installations from ...
Status: CLOSED INVALID
Product: Logitech Media Server
Classification: Unclassified
Component: Misc
: 6.5b1
: PC All
: P2 normal (vote)
: ---
Assigned To: Chris Owens
http://forums.slimdevices.com/showthr...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2006-09-11 00:02 UTC by Michael Herger
Modified: 2009-09-08 09:11 UTC (History)
4 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Herger 2006-09-11 00:02:46 UTC
Installing SlimServer 6.5 over an existing 6.3 (or earlier) will break many of the plugins. Eg. RandomPlay would display numbers instead of genres in the web display due to old style templates remaining in the HTML folder. Another critical folder might be Cache (html templates again).

It might be best to back them up or rename them and start from scratch. Users will have to update most plugins anyway.
Comment 1 Chris Owens 2006-09-11 17:59:58 UTC
This seems like a good idea to me, although it's too late at this point to put it in to 6.5
Comment 2 Michael Herger 2006-09-11 23:52:31 UTC
But then it should clearly be said that earlier installations have to be removed. Old HTML templates surviving the update lead to trouble.
Comment 3 Chris Owens 2006-09-14 10:14:16 UTC
cc'ing Dean as well for him to ponder
Comment 4 Blackketter Dean 2006-09-14 10:37:42 UTC
Crap.  It's too late for this.  Please update the readme files appropriately.  

Also, if there are well-known bad actors, can we disable them in PluginManager.pm explicitly by name/version?
Comment 5 Michael Herger 2006-09-14 14:04:16 UTC
Skins are already cleaned up. Is it hard, adding the plugins folder, too? Just purge before installing. And add a note to the readme, too.
Comment 6 Michael Herger 2006-09-14 14:11:07 UTC
Ok, I hate people doing what I'm going to do. I'll do it anyway: isn't it as simple as adding something like 

DelTree(NewServerDir + AddBackslash('Plugins') + AddBackslash('RandomPlay'), true, true, true);

to the installer script (on Windows, obviously)? 
Comment 7 Dan Sully 2006-09-14 18:19:43 UTC
It would be better to do this in SlimServer, IMO - so then we don't need to alter each of the installers.

The only problem child I know about is kdf's old RandomPlay plugin, which is now part of the server.

Kevin - what was the name of that before? Plugins/RandomPlay.pm ?
Comment 8 KDF 2006-09-14 18:40:41 UTC
yup.  i believe that was it.
Comment 9 Michael Herger 2006-09-14 21:57:37 UTC
I also see issues with Live365, MoodLogic, MusicMagic: they will keep old, incompatible skins.

Oh, and there's a first comment about this in the forums:

http://forums.slimdevices.com/showthread.php?t=27415
Comment 10 Dan Sully 2006-09-14 22:01:12 UTC
The other issue here is that plugins must be loaded to check for ::enabled() - which is broken.

Also - Slim/Utils/PluginManager.pm line ~196.

We checked to see if the enabled() function exists to run it - but continue on our merry way if the enabled() function DOESN'T exist, which should by it's very nature indicate an old plugin.
Comment 11 Michael Herger 2006-09-14 23:25:52 UTC
> We checked to see if the enabled() function exists to run it - but continue on
> our merry way if the enabled() function DOESN'T exist, which should by it's
> very nature indicate an old plugin.

You mean >=6.5 compatible plugins _must_ have enabled()? Didn't know that (and thus mine don't have it all)
Comment 12 Please remove this user, thanks 2006-09-15 14:05:30 UTC
My thoughts:
This 'bug' is mainly a support and customer satisfaction issue. If nothing is done it will generate extra support calls and forum traffic. When users install and the first thing they notice is that the server does not start the will be unhappy (ask my kids if how long the server is allowed to be unavailable..)

If you decide to do something with this bug it must be done before going live with 6.5. After release of 6.5 you can close this bug as the harm is done.
It's too late for well thought complete solutions.
The easy way is to rename the current plugin directory and point the user in the readme.txt to information which is needed to get the pluging working again. This should then be the first item in the readme (IMHO) as it concerns removing functionality which the users added himself.

Pointing them to the wiki page and tell them to look for 6.5 versions of their favourite plugin.

Buy some time(?):
Do not put in the automatic update feature before 6.5.1 and solve it there. You can assume that most techies will find out the existence of 6.5 through the forum and webpage and many can solve the problems with some pointers.
The average user will then be prompted to update after 6.5.1 and then a full blown migration solution is in place.. :-)
Added value is that 6.5 is then tested in a large community before released to the 'rest of the world'.

Thanks, Willem Oepkes
Comment 13 Dan Sully 2006-09-17 13:39:33 UTC
Michael - as it's written, no - you don't need enabled() - but what is the point of having it, if the PluginManager code doesn't force you to have it?
Comment 14 Michael Herger 2006-09-17 13:49:11 UTC
> Michael - as it's written, no - you don't need enabled() - but what is the
> point of having it, if the PluginManager code doesn't force you to have it?

If enabled() doesn't exist just give it a try - which doesn't mean it won't work even if it's an old plugin. I do have some plugins made compatible with the whole 6.x server series. I never bothered about checking the version to enable/disable it. Not forcing the existing of enabled() is legacy.
Comment 15 Dan Sully 2006-09-18 11:08:23 UTC
Ok - so for 6.5, we're going to ignore the old RandomPlay plugin.

For 7.0 we're going to revamp the plugin architecture.
Comment 16 Dan Sully 2006-09-18 13:28:25 UTC
I've commited change 9842 which removes some known bad plugins.

If there are any more, please let me know.

Other plugin issues will need to be resolved in 7.0
Comment 17 Ross Levine 2007-05-30 13:51:09 UTC
Is this bug still valid?
Comment 18 Michael Herger 2007-05-30 22:17:23 UTC
I'd assume it's still true, but of little importance by now as the masses are already on 6.5.x
Comment 19 Chris Owens 2007-10-16 09:56:52 UTC
The plugin architecture change has now been completed.
Comment 20 Chris Owens 2008-03-07 09:03:48 UTC
This bug is being closed since it was resolved for a version which is now released!  Please download the new version of SqueezeCenter (formerly SlimServer) at http://www.slimdevices.com/su_downloads.html

If you are still seeing this bug, please re-open it and we will consider it for a future release.