"Survey123 field app" to load a predetermined survey on startup

1685
31
Jump to solution
01-22-2018 08:20 PM
Highlighted
Occasional Contributor III

I’d like to replicate the "Survey123 field app" to load a predetermined survey on startup.

Similar to how the Quick Report template works.

e.g. On startup I want it to look like a standalone application for collecting water quality data or collecting tree data, etc….

Any help is greatly appreciated

Thanks,

Gee

Reply
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Esri Regular Contributor

Aurélie,

If you prefer to go for the 2nd option from my suggestions above, which is customizing the source code of Survey123 field app. This is the simplest code change I could think of, this is done on template/SurveyGalleryPage.qml 

Component.onCompleted: {
 app.openParameters = JSON.parse('{"itemID":"814e2804146341c89c237d166de19b0b"}');
}

So I instead of opening the Survey123 using custom URL scheme explained above (1st option from my suggestions), we are going to add a block of code setting that `openParameters` as if we have a parameter, which is the itemID of the survey that you want to open. 

I have tested this, now the Survey123 field app will open a predetermined survey that you set in that block of code. But please take this solution with a grain of salt, as this is just a quick hack to prove that it is easy to do. 

Also please note that this will open a survey that is public as you are required to login for surveys that are private or shared with an organization. 

I hope this helps,

Erwin. 

View solution in original post

31 Replies
Highlighted
Esri Regular Contributor

Hello Gee, 

The easiest way to achieve this without creating custom Survey123 app, is to use custom URL Scheme as explained in this blog, https://community.esri.com/groups/survey123/blog/2016/07/30/understanding-survey123s-custom-url-sche...  

Something like, 

arcgis-survey123://?itemID=89bc8c78xxxxxx

Hope this helps,

Erwin.

Highlighted
Occasional Contributor III

Hi Erwin Soekianto‌,

Thanks for this suggestion.

But, I'd like to create a standalone application with our own branding, that would load a predetermined survey on start-up.

I am aware this may not be a quick exercise. But, I'd like to know if this is possible and how to go about it. sprasad-esristaffMVertzonis-esristaff

Thanks,

Gee

Reply
0 Kudos
Highlighted
Esri Regular Contributor

Yes you can customize Survey123 using the template supplied in AppStudio as little or as much as you like. Id suggest that you use the template to re-brand the app, and then using the URL scheme that Ewin suggests, to launch your re-branded app with the survey you want. You can go further if you like, but that's really up to you and how much time and skill you have to put to the customization task. Re-branding should be minimal effort

Highlighted
Occasional Contributor III

Thanks all.

Gee

Reply
0 Kudos
Highlighted
Occasional Contributor II

where does one put this URL scheme in? I have changed in the app settings, is it in the parameters? Are there any documentation or help files that explain where to input the custom URL and how?

I am talking about appstudio. I have downloaded the survey123 template...then what? Where does one customize the app in QTcreator? where can one find the URL scheme and change it? Where can someone like me, who is not a programmer find a simple documentation on how to either:

open a survey from an appstudio app

or

open a specific survey123 from the appstudio app template?

The documentation is seriously lacking for a commercial package that ESRI sells for over 1000USD.

Reply
0 Kudos
Highlighted
New Contributor II

Hi Erwin,

I am not sure if this is the same as Gee but I am also looking to create a Survey123 app that will launch a single predetermined Survey. Consider the Map Tour template where you can enter a Map ID to skip the map gallery and have it launch a predetermined web map on launch. 

Is it possible to configure the Survey123 template code to skip the Survey portal\gallery and launch a predetermined (public) survey on launch? That way, I could create and distribute a specific application for a specific survey. 

Reply
0 Kudos
Highlighted
Esri Regular Contributor

Hello Matthew, 

This is the same question as above. 

  • The easiest way to achieve this without creating custom Survey123 app, is to use custom URL Scheme as explained in this blog, Understanding Survey123's custom URL Scheme  

     

    Something like, 

    arcgis-survey123://?itemID=89bc8c78xxxxxx

  • You can also change the source code of Survey123 field app to open a specific pre-determined survey, I would start from template/SurveysGalleryPage.qml. The function `checkOpenParameters` is the one responsible to handle the above functionality on the URL Scheme parameter `itemID`, I believe that is the best place to start. 

Let me know if this helps,

Erwin

Reply
0 Kudos
Highlighted
Occasional Contributor II

I am currently viewing the SurveysGalleryPage.qml and searched for 'itemID' and 'checkOpenParameters' and nothing came up....

It should be simple enough to enter an itemID and have the app load an existing survey? I thought that was what the URL schema did, but it does not work either...

Reply
0 Kudos
Highlighted
Esri Frequent Contributor

Hi Gee and Matthew,

We are currently working on some new beta features in Survey123 that would allow further workflow extensibility options where the initial loading of the app, galley page etc could be customised, enabling you to launch directly into a single survey for example, and many other workflow related Survey123 tasks. Keep an eye out in the Early Adopter Community for when we make this beta feature available to be tested. No timing as of yet, but we are working on it. In the meantime the best option is to modify the source code and build you own custom app as Erwin explains above.

I have updated the internal issues with your comments and requests.

Phil.