Test and production enviroments

Hello!

Managing numerous users in a Grist application can be challenging when implementing new features such as tables, columns, and widgets, since they must be developed and tested before being released to all users.

Is it possible to separate test and production environments in Grist?
I can duplicate my document to work on new features, but how to transfer the structural changes back to the original document after implementation?

1 Like

Hi Kostya,

To the best of my knowledge, there’s no clean way to have a test / production environment like you’re describing.

The closest suggestion I have is using “Work on a Copy” in the Sharing menu. You can make changes there, then apply them back to the original document.

However, it’s a temporary copy - I don’t know of a way to save it, then apply changes at a later date.

Hopefully someone else has some better ideas! :slight_smile:

1 Like

Very interesting question! We don’t have this function yet, so the only way to do it is a custom script that will compare schemas between docs and apply required changes.

I’d be happy to help someone in developing something like that. I wonder if we can leverage existing tools, for example MS SQL server has a very similar tool Schema comparison overview - SQL Server | Microsoft Learn.

1 Like

I’ve been wondering about this same problem, having to recreate things manually in Production after getting the desired state in Dev.
I’m a ServiceNow developer normally, this has a fairly elegant solution in the platform there.
We use Update Sets to bundle work for a piece of development and export the Update Set as an XML file when completed and import to the higher environments.
Update Sets are rows on the Update Set table, they can contain a reference to other update sets as a batch if required.
Each change to the platform is recorded in the “Customer Update” table and each row in this table has a reference to the current update set.
I could try to implement something like this myself with my own Dev and Prod Grist instances on my cluster and show you what I mean if you like.

Really interesting!
I’d like to see such solution.

And you’re right - servicenow is a good example.