Stand-Alone Form Builder

1413
11
01-14-2021 08:39 AM
Status: Open
RogerCleaves1
New Contributor III

It would be great if there was a stand-alone form builder, like Survey123 Connect, for the Field Maps forms. Right now, we deploy a robust Collector-to-Survey123 map and form, and pre-load the form layout from a template we have saved. Re-creating this in Field Maps would take hours when in Survey123 Connect it takes minutes. If we wanted to build in the fields and logic, we would have to hand-design all of the arcade expressions every time we deploy.

It would be great if we could export templates of our form designs and then be able to upload them on a new form to make designing much easier!

 

11 Comments
DougBrowning

Big upvote here.  In 123 we build a single generic template.  Then we create 11 identical states from this template.  This is all pretty quick.  And then we reach AGOL/Field Maps...and we have to create all 11 maps 1 by 1.  Add layer, change all the names, edit pop attributes, add all my arcade, custom popup text, add custom pop up URL links, change popup text colors add labels.  Repeat this for each of my 20 some layers - for each of my 11 states.  Takes days. To help with this I keep a series of notepad docs so I can copy paste.

Maybe a way to flip the source like in ArcMap would do it.  Or even a layer file type thing so I could save out symbology, popup, etc then import it into another layer.  We have huge docs detailing all the things one must do to setup a layer.  So many checkboxes and such to remember.  In ArcMap we just say import this symbology file and done.

Thanks for considering.

ColinLawrence

Hi @RogerCleaves1 ,

 

Have you looked into Field Maps Web yet? It was fully released in December and supports conditional visibility, grouping of fields, setting required fields, and more in the form builder. We will be expanding on the smart forms capabilities with further releases as well. 

In terms of importing a survey123 form directly, that is not something we support at this time. 

 

@DougBrowning for your specific scenario, would it work to save a copy of the Web Map? This carries over the layers, popup config, etc to the copied Web Map.

 

Regards,

Colin

RogerCleaves1
Hi Colin,

Yep, I've been playing around with the smartforms in Field Maps. My issue is, I have over 80 different fields in our current Survey123 form, all with different levels of conditional visibility, so re-creating this even once in a web map with Arcade would take hours. My hope would be to eventually have the ability to configure it once, and then export the arcade expressions and be able to re-import them into a new web map. Making a copy of the web map doesn't really work since the feature layer needs to be swapped out for a new county for every incident, and then the arcade expressions wouldn't carry over.
In our use case, we deploy a parcel layer to collect basic attribute info related to wildfire impacts, and then have a related table where we gather the collection info regarding household hazardous waste. We use Survey123 for the collection table and Collector for the parcel layer editing (mainly changing the status).
Thanks for the quick response, I'm excited to get this up and running for our next wild fire season.

Roger
DougBrowning

Colin I am the same as Roger.  I got 11 diff feature services so just saving a  new map does not help.  I need to swap the layer source but keep all the config (or import the config).  Also my forms are 200+ lines so way too big for the UI of Field Maps.  Esp if I had to do it 11 separate times.

Roger we do a lot of Collector as the main with 123 as the sub table also.  May want to check out my post here on relating them all together

https://community.esri.com/t5/arcgis-survey123-questions/mapping-with-survey123-within-a-polygon-or-...

You can also use FeatureSet to connect the 2 see this post

https://community.esri.com/t5/arcgis-survey123-questions/count-from-multiple-submitted-forms/m-p/100...

 

Hope that helps.

 

ColinLawrence

Thank you both for the details. I think this is something we could eventually work towards a solution for.

There is a script available that can transfer the form from one map to another. Keep in mind this is only really useful if you are using the same feature layer but it could be something to build off of:

https://github.com/Esri/field-maps-scripts/blob/master/readmes/copy_form_between_maps.md

We have had discussions around providing solution templates with pre-made forms that could be useful for starting new projects. Again just exactly solve your issues but its the direction we are moving towards. If you have other info you can provide about your workflows I can note it.

 

"Also my forms are 200+ lines so way too big for the UI of Field Maps" @DougBrowning 
You can Group and hide certain fields using the Field Maps Web App, this could help minimize the length of your form, but I understand your concern. 

 

Regards,

Colin

DougBrowning

Thanks Colin.  I just ran into this against yesterday afternoon.  We have a state that built a cool Ops Dashboard for our data collection project.  Other states like it and now want one.  But since we cannot just flip out the source we would have to build the whole thing 11 times from scratch again.  (unless I am missing something I have not used Ops much).  

In web maps I did have a coworker try and hack the JSON with the AGO Assistant tool but he never got it to work.  Not sure why.

It seems like a way to flip our the source like in ArcMap would help.  This would also be awesome when going from test to production.  Now I keep a stack of notepad docs that I copy/paste to rebuild a map - helps but still takes hours.

thanks

ColinLawrence

@DougBrowning It wouldnt hurt cross posting this over in the ArcGIS Online product page. I think a lot of what you are suggesting might apply more to AGOL functionality than Field Maps. We will of course explore additional ways of improving the map preparation workflow, but this would be more specific towards Field Maps. 

RogerCleaves1

@DougBrowning sorry I didn't see your response until now! Our current workflow involves using Collector to select the parcel you need to take an assessment on, and then clicking the url to open to survey123 and gather the related collection information in the related table. It sounds like we're in the same boat.

The real missing piece is changing a single field on the parent parcel layer that represents the status of the parcel, while also adding data to the related table. Opening Survey123 in an edit session isn't available in the app yet, so that idea is out the window, and I was hoping FieldMaps would be the answer.

DougBrowning

@RogerCleaves1 I may not be getting what you are trying to do.

I use FeatureSetByName to do a lookup and display the status of anything related.

if ($feature.EvalStatus == "Eval") {
var sql = "PlotKey = '" + $feature.PlotKey + "'";
var tbl = Filter(FeatureSetByName($map,"GAP"), sql);

var txt = ''
for (var f in OrderBy(tbl,"LineNumber")) {
    txt = txt + f.LineNumber + ' '
}
txt = Left(txt,Count(txt)-1)
if (txt != '1 2 3') {
    return "\n----Gap Line Number Issue! Found: " + txt
}
else {
    return ''
}
}
else {
    return ''
}

  In this example I am looking not only for records but a specific pattern in the related table.

Hope that helps.

RogerCleaves1

Hey @DougBrowning

Sorry, I wasn't entirely clear.

So, our field staff use parcels as the spatial representation of where to go and do household hazardous waste assessments, and they change the status on the parcel layer to signify if it's been assessed or not. This changes the symbology so they can still see on the map what has been cleared that day and what hasn't. 

Capture.PNG

If we were just pulling through data from the related table, then your arcade expression would work great. Unfortunately, we have to also symbolize the parcel. Ideally, our user could use Field Maps to change the status on the parent parcel, and then also collect the collection data in the related table, but I think we're still missing a few pieces.