Survey123 Development to Production

01-20-2023 04:52 AM
New Contributor III


Hi, I wonder if anybody could point me in the right direction for resources highlighting best practice for the development to production workflow please?

We have Survey123 in use on site but the forms and workflow need continual development (following on from end-user suggestions). As I implement these changes I would like to know the best way to change specifics in the forms and test without putting them into full production/use on site or editing the feature service attached to the survey. So, essentially creating a testing environment.

Would I create a new survey which is a copy of the original, but create a new hosted feature service, or is here a better way?


Thanks very much for any advice.

2 Replies
Esri Contributor

Hi @CherylWheeler11 

I work in Tech Support rather than Professional Services but from my dealings with customers, the workflow you described where you have two surveys with separate feature classes, one for development and one for production, is very common.

Hope this helps

MVP Regular Contributor

This does seem to be the common way to do it, unfortunately. 

I really feel like Esri needs to find some way to set up a test environment for these forms that doesn't just require creating a duplicate, it feels like there should be some way to do this. It is possible to have different versions of a form out there, as you can not Require update to the latest version of this survey but there's no way to prevent users from being prompted for an update until it's ready to be pushed. I feel like this needs to be added.

If there's a concern around different schema on a feature layer when adding new fields or such, I personally feel as though this isn't a concern because the user won't see new fields until you get them to anyways. Or my other thought you be using a hosted feature layer view, there's already a _results view that gets created when you share results, could there be a _test view to store results submitted as a test? Maybe have a field in the base layer marking them as such so it doesn't get included in other steps or analysis?

0 Kudos