Mattermost, Inc.

Wanted: Better server upgrade experience

The current process for upgrading a Mattermost server (found here) is somewhat painful, and feels like it takes longer than it should.

Ideally, I’d like to be able to trigger a server upgrade from the System Console, and have it take care of things for me. The same goes for server plugins… currently the administrator needs to watch the GitHub page for every plugin (or follow @mattermost onTwitter). The same goes for the desktop Mattermost client. Mobile clients get automatically updated whenever a new version is released (perfect!).

What needs to be done to make this happen?

The desktop client is probably fairly straightforward… things like Discord and Slack tell you when you need to update, you click a thing, it updates. Maybe Electron has a canned API for this, or maybe there’s a commonly-used technique?

For plugins, the server code will have to have a way to see what version(s) are available, and (presumably) what server API level they require.

For the server, I have no idea. Split plugins into “comes with the server code” vs. “added later by admins”, to make it safe® to update? Move user data out of the mattermost directory completely? Do other Go-based servers have a good method for handling this?

1 Like

For the time guess one have to be creative on this side, we’ve built an internal script based on the upgrade process, yet because of all folder move involved it will need more knowledge from me to improve the script.

I believe because of the Docker being supported and for many other ways to deploy Mattermost it leaves users to be open like the source and add their ways or improvements on the process.

  • The easiest upgrade* way would be to have this built in the application. (*Most modern application if they respect themselves and their users, will have one click upgrades/modules updates built in the application)

  • The upgrade process described there can be automated outside mattermost, yet I am not sure what solutions are for Go available on this side.

One last thing one could try is to add the idea if not already planned here:

Someone made an attempt to make a suggestion here:

Yet that is not the way one should propose a feature. Thats why personally trying to give feedback directly to those involved in process, pitty not many companies take such feedbacks, they will loose a lot. :wink: we all learn from loosing at first.

Personally places like USerVoice has never been proved efficient, and are way much better to gather feedback to improve product, and customer experience.