Keeping forms in source control

Hi community,

We’re trying to be good developers and keep our forms in source control to track changes and revert if necessary. Our forms are fairly complex with heavy use of Gravity Flow addon, hence the need to stay on top of changes.

We’ve been utilising the import/export function to manage our changes which works reasonably well for the most part however there are some issues with it.

Firstly, when we update a form in dev then move to production we have to import the updated form which creates a new form id. This means we have to relink all pages referencing the form to the newly created form. We also lose the entry history.

I’m wondering if there is another way to manage this process, as I’m sure we can’t be the first developers to run into this requirement. Would love to know if/how others have dealt with the challenge.


1 Like

Hello. There have been a couple attempts at this issue, but this is the only one that has produced anything, as far as I am aware:

Thanks Chris. The plugin looks great.

If you decide to use it, please let us know how that goes. Thank you.

Will do Chris.

I have reached out to the developer to find out if this plugin is still in active development as there are no updates since October '19. I’m yet to hear back. Will keep you posted.

Thank you. I have seen a couple other attempts over the years, but no solution yet, as far as I know.

Chris, correct me if I’m wrong but having looked into this further it seems I could import the json directly in to the database to update the forms which would allow me to keep the IDs the same. Perhaps I am missing something, or is this possible? Presumably this is how the plugin takes care of it.

It’s worth a try. However, if the edited form does not account for all the fields that are stored in existing entries, that would be broken. It’s worth trying. It’s not version control, but it would allow you to replace a form in the database with your edited form.

Thanks Chris.

Could you elaborate on what would it would mean for the stored entries to be broken? Would it prevent the entries screen loading, or would it load but with missing data?

Normally the entries screen will still load. If you added fields to the form, but there were no entry data recorded yet, those entries will work properly (just missing data where no data was yet collected.) When you remove a field that existed previously, the data you collected would not be displayed anywhere. If you edit the choices of the field, the data that is displayed will be inaccurate.

This is definitely worth experimenting with.

That sounds pretty workable. In our case, we push the data out of GF into our ticketing system so we always have a record of the data. I think we can make this work, thanks for your help and for being so responsive! Just another reason to love this product.

1 Like


You’re welcome

Just wanted to mention that I recently bought the FormSync plugin and it does seem to work as advertised. It took me a couple attempts to reach the developer, but he responded and confirmed the plugin is still maintained. While it hasn’t been updated in a while, he claims it’s a stable version that works with the latest GF. I haven’t used it extensively yet, but I did test it on a fairly elaborate form that also uses GravityWiz perks, and it worked.

1 Like

Good news; thank you for the update James.

My two cents here with a free plugin from the WordPress repo that seems actively maintained:

Adds a feature called Local JSON that maintains .json file exports of each form when forms are edited and allow forms to be updated by loading their .json files. Local JSON works similarly to ACF and enables forms to be put into version control with themes or plugins.


1 Like

I tested with it (a year ago perhaps?) and at that time there were a few certified add-ons which FormSync didn’t support cleanly incl. Gravity Flow. The issue had to do with the ordering of steps getting swapped when duplicating or importing through it. I believe was something that other feed based add-ons would be at risk of impact from. I love the idea of it, so if you do get into the ‘using it extensively’ with good results that would be wonderful to hear.

That looks slick! Thanks for linking Dario.

1 Like
© 2008 - 2021. Gravity Forms is a project by Rocketgenius Inc.