Feature Proposal: Automagical Updating of Foswiki
Motivation
Upgrading is hard enough to be discouraging.
Description and Documentation
Create a set of scripts that can automate as many upgrade tasks as possible.
I think that this is a way that FW could (and should) distinguish itself.
Here's a rough description of how it might act:
- Analyze the current installation (eg, plugins, settings).
- Create a parallel (but upgraded) installation, possibly using the same data files.
- Run some sanity checks to see if things seem to be working.
- Run an exhaustive comparison of rendered pages.
- Allow users to try either the old or new system.
- Once the admin is happy, allow a one-click transition.
Examples
I am currently running FW 1.0.9 on DreamHost.
I'd like to get current, but looking at
http://foswiki.org/System/UpgradeGuide,
I suspect that I'm looking at hours of tedium, punctuated by moments of angst.
Several years ago, we migrated our main server from FreeBSD to Mac OS X,
based solely on the fact that the OSX box would pretty much maintain itself.
Every so often, we run System Update...
Impact
Implementation
--
Contributors: RichMorin - 07 Dec 2011
Discussion
I agree, it sucks. I've had a lot of trouble though, trying to code a solution that allows us to reconfigure apache programmatically for the selenium tests. Supporting any arbitrary configuration/setup, as we do, is incredibly difficult, especially if we try to fit this in to existing apache environments each with their own layout & vhost flavours/conventions... But it might be feasible once we're using PSGI, and remove apache from the picture entirely.
At the Foswiki GA recently, there was discussion that packaging core as an upgradable extension via the configure UI is achievable. George did good work for Foswiki 1.1 in making the installer archive backups of the files belonging to any extension that gets upgraded.
That's for patch release updates - to make major/minor release upgrades less painful, i.e. finding & correcting deprecated/problematic wiki content - that's a big effort which I hope we can get extra help with.
--
PaulHarvey - 07 Dec 2011
UpgradeGuide makes it look more scary than it is. Heres how I normally upgrade:
- Create a brand new installation from the latest release
- Copy my old config file over
- Install all my plugins
- Symlink some webs into
data
and pub
- Run both wikis in parallel for testing
- When I am satisfied, copy all the files over and make the new install live
I'm sure there are other things we could do to help upgrading, but improving and simplifying the documentation would be a great start.
All that said, a tool like you describe would be very cool, and would automate most of my steps
Nice idea for the next
FoswikiCamp...
--
AndrewJones - 07 Dec 2011
I've been dreaming of a real installer but have no time. It could make Foswiki also available for less experienced users and help in preventing to get scared away by manual installation and related guides. Any step that lowers installation and maintenance effort reduces hurdles to use Foswiki.
--
IngoKappler - 07 Dec 2011