I’m in the middle of another attempt to use xTuple Admin Utility to do an upgrade. I just used it to install xTuple onto a fresh install of Ubuntu and then restored my production 4.8.1 (manufacturing edition) database to it. This all went fairly well. I logged into the restored database with the windows client for testing. Everything checks out. I actually did this three times, once with Ubuntu 16.04 on a local server, once with 18.04 in a virtual cloud server, and once again with 18.04 locally. This part of the server install is really great.
I noticed xtuple-utility had seen several new commits since I tried it last year. I thought that I might get a little further using it for updates, but no such luck. My database is web-enabled so I can’t use Updater. In the past I used xtuple-server which worked fine for upgrades, until it didn’t. Since then I have been stuck at 4.8.1 waiting for an upgrade path, periodically trying xtuple-utility. I’m at the point where I really need some of the newer features/bugfixes so I am going to have to figure this out. Since the xTau guide on xTuple university does not reflect the current software, I suppose the source on Github is my next option. I plan to familiarize myself with the various scripts and config files involved, then try to methodically locate where the breakdown is occurring on a clean install. Like last year, it still seems to be related to downloading the wrong versions and/or putting them in the wrong paths. This may have to do with incorrect config files. Maybe there is a config file that I need to edit manually. My test system definitely has the wrong options by the time if gets down to build_app.js and build_all.js. For one thing, it seems to download v4.12.0-beta regardless of the version I choose in the menus. I may need to run some of the commands manually and/or hack together some intermediate scripts for debugging.
Anyway, should I document this through the issue tracker or on Github? What would be helpful is an overview of how xtuple-utility should work in theory. What are it’s steps for an upgrade scenario? Which files should it download and where should it put them? Which config files should it read and which config files should it write? What dependencies should it check for?