ArcGIS Survey123 Blog - Page 19

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Latest Activity

(296 Posts)
IsmaelChivite
Esri Notable Contributor

Using multilingual surveys you can present questions to your audience in the language they are most comfortable with, and analyze all survey results in a single data set. This blog post explores how to author multilingual surveys in Survey123 Connect.

Read more...

more
7 29 22.6K
KhairulAmri2
Occasional Contributor

Webhook capability in Survey123 is very helpful to automate process without make a code. you can follow this link for the details : https://community.esri.com/groups/survey123/blog/2018/07/19/automating-workflows-with-survey123-and-... 

I got some challenges when use it in Microsoft Flow especially about time and date. 

  1. originally time and date from survey123 is EPOCH format.
  2. by default time zone form survey123 is UTC.
  3. I have needs to display time and date in proper string format.

Convert EPOCH to YYYY/MM/DD HH:mm:ss

if you access time and date from field directly from dynamic content, it will display epoch time. to show time and date as YYYY/MM/DD HH:mm:sss you can use expression instead of dynamic content.

expression 

expression syntax :
addseconds('1970-1-1', Div(triggerBody()?['feature']?['attributes']?['dateTime'],1000) , 'HH:mm:ss')
this part ['feature']?['attributes']?['dateTime'] is time field in your featureservice.
it will return time and date like this : 2019-01-22 02:00:00 (please bear in mind this is UTC time zone)
Convert from UTC to My City Time Zone :
as you can see on the picture above, I added my time expression into add to time plugin. this plugin is default from Microsoft Flow to add interval time into your exisiting time. my city time zone is UTC +7. so I added 7 in interval form and select hour in time unit options.
the result will be like this : 2019-01-16T13:00:00.0000000
its return time and date with full string format. 
Reformat time and date string:
in my case, I want to extract time from converted time and display it as short time pattern.I added Convert time zone plugin provided by microsoft flow. basically this plugin used for converting time zone, however there is an options to display format time and date format string. so I used "short time pattern" in format string options then convert time zone to same time zone due to my time has been converted in previous step by adding interval manually. 
then I can use time in email body like this :
or use converted time in event calendar like this :
here is the whole diagram :
Any inputs are welcome
Regards
Amri

more
3 18 9,956
IsmaelChivite
Esri Notable Contributor

In this blog post I will introduce a handful XLSForm functions that will help you work with user selections on lists.  If you are not familiar with the basics of publishing smart forms in Survey123 using XLSForms, or with selection questions, then I suggest you take a tour of the basic Video Tutorials in our Survey123 YouTube Playlist.  Below you will find a introductory video tutorial on selection questions and lists.

Using XLSForm expressions you can process user selections on lists and implement data validation rules, conditional statements to show and hide portions of your forms, and more. Here are some of the most common XLSForm functions you will be able to use:

selected(question, value)

The selected() function is used to check if a particular choice has been selected from a list. Here is an example:

typenamelabelrelevant
select_one yes_norepair_neededAre repairs needed?
textrepairs_commentRepairs needed:selected(${repair_needed},'yes')

The selected() function returns a boolean value. In the example above, I am using the function within the relevant column, to define if the repairs_comment question will be shown to the end user, or kept hidden.

The first  parameter passed to this function is the question on which the user made the selection.  You can only pass questions of type select_one or select_multiple.

The second parameter represents your test choice value. It is important to remember that the test choice value represents the name of your choice, not its label.  This makes sense because otherwise, it would be tricky to write expressions in multi-language surveys.

Do not pass the label of a choice to the selected() function. The selected() function expects the name value of your choice.  Also keep in mind that this function is case sensitive. 'Yes' is not the same as 'yes'.

  

The selected() function is particularly useful when working with multiple-choice questions (select_multiple). In the example below, I use the function to populate hidden questions with a value of 1, if a particular choice has been selected, or 0 if not selected. 

The violations question is a select_multiple. In it, the end-user can select one or more choices from the violations list. The output of select_multiple questions is a comma separated string representing all the choices selected. That is not very useful if I want to query the data later...   For each type of violation presented in the select_multiple question, I have created a corresponding hidden question. Using a calculation, hidden questions get populated with 1s and 0s based on the user selections.

typenamelabelcalculationbind:esri:fieldType
select_multiple violationsviolationsViolations observednull
hiddenoverwateringOverwateringif(selected(${violations},'10'),1,0)esriFieldTypeInteger
hiddenbrokenpipeBroken Pipeif(selected(${violations},'20'),1,0)esriFieldTypeInteger
hiddenwrongtimeTimeif(selected(${violations},'30'),1,0)esriFieldTypeInteger
hiddenwrongdayDayif(selected(${violations},'40'),1,0)esriFieldTypeInteger
hiddenwaterfeatureWater Featureif(selected(${violations},'50'),1,0)esriFieldTypeInteger

As I indicated before, the output of the selected() function is a boolean. That is, either true or false. In my example, I wanted to store numbers (0 and 1) so I can more easily count values later or use the data in Operations Dashboard. That is achieved by complementing the selected() function with an if() statement. When selected() returns true, signifying that the choice was selected, I store a value of 1 and otherwise a 0.

The column bind:esri:fieldType plays an important role here too. For my select_multiple question I chose null. This indicates that the output of the question (the comma separated list of selected values) will not have a corresponding field in the target ArcGIS feature layer.  In other words, a null esri:fieldType says that we are not interested in persisting the output of that question. After all, the values in the hidden questions are really what we want to persist.

For the hidden questions, I explicitly set the esri:fieldType to esriFieldTypeInteger, because hidden questions by default are mapped to text fields. Since I know that my calculation is either going to output a 1 or a 0, and I want the output values as numbers, I set the esri:fieldType correspondingly.

To learn more about how XLSForm questions get mapped to Esri fields, check the https://community.esri.com/groups/survey123/blog/2015/08/24/xlsform-mappings-to-arcgis-feature-servi... blog post.

  

There are some other tempting options for figuring out what choices have been selected in a list. I strongly recommend that you do not get tempted by them:

One bad habit is using a straight value comparison on select_one questions:

typenamelabelrelevant
select_one yes_norepair_neededAre repairs needed?
textrepairs_commentRepairs needed:${repair_needed}='yes'

Technically, it is going to work, but if you get used to that you may be led into this...

typenamelabelcalculationbind:esri:fieldType
select_multiple violationsviolationsViolations observednull
hiddenoverwateringOverwateringif(${violations}='10',1,0)esriFieldTypeInteger
hiddenbrokenpipeBroken Pipeif(${violations}='20',1,0)esriFieldTypeInteger
hiddenwrongtimeTimeif(${violations}='30',1,0)esriFieldTypeInteger

And that is definitively not going to work!  As you may remember, the output of a select_multiple is a comma separated list of values, so if someone selects more than one option in the violations question, your calculations will not work correctly. 

Another temptation, for select_multiple questions, is the use of contains(). For example:

typenamelabelcalculationbind:esri:fieldType
select_multiple violationsviolationsViolations observednull
hiddenoverwateringOverwateringif(contains(${violations},'10'),1,0)esriFieldTypeInteger
hiddenbrokenpipeBroken Pipeif(contains(${violations},'20'),1,0)esriFieldTypeInteger
hiddenwrongtimeTimeif(contains(${violations},'30'),1,0)esriFieldTypeInteger

The use of contains() could actually work in some cases, but it is not worth the risk.

The function selected() works beautifully for both select_multiple and select_one. Use it consistently if you want to check what options were selected in them.

count-selected(question)

The count-selected() function returns the number of selected choices in a select_multiple question.

typenamelabelconstraintconstraint_message
select_multiple toppingstoppingsSelect up to 2 toppingscount-selected(${toppings})<3Pick no more than 2!

In this example I built a constraint to prevent people from getting too greedy with pizza toppings. If the number of toppings selected is not below 3, a warning message will appear and the user will not be able to submit data.

You can also use count-selected() in a relevant statement, for example to present a comments field if any issues have been found during an inspection.

typenamelabelrelevant
select_multiple compsissuesCheck manhole components with issues
textcommentsEnter comments relevant for repair effortcount-selected(${components})>0

Pretty handy!

jr:choice-name(choice, 'question')

jr:choice-name() is useful when you need to retrieve the label of a list choice. The syntax goes as follows:

jr:choice-name(${activity},'${activity}')

In the example above, I am passing with the first parameter the user selection in the 'activity' question.  The second parameter is the question in the form using the list where the choice has been made.  Very often, the first and second parameters will reference the same XLSForm question, but note that the second parameter is enclosed with quotes, because it does not refer to the value (response) of the question, but to the actual question itself.

This is a very useful function in several scenarios:

  • When you want to include the label of a selected item in the payload of a webhook.
  • When you want to store the label of a selected item in your target feature layer.
  • When you want to display the selected item's label in a note, or use it within a label (dynamic label).

Take this example:

typenamelabelcalculation
select_one prioritypriorityPriority of the incident
hiddenpriority_labelRepairs needed:jr:choice-name(${priority},'${priority}')

The hidden question, obviously, will not be shown in the form to the user, but will keep the label of the selected choice in the priority question.  This value will be stored in the target feature layer of the survey, and will also be part of the payload sent in any webhooks you configure.

If working with multi-language surveys, the jr:choice-name() function will return the label in the language active when the user submits the data.

    

A common use case for jr:choice-name() is dynamic labels. Dynamic labels are discussed in more detail in the https://community.esri.com/groups/survey123/blog/2018/11/01/understanding-dynamic-labels-in-survey12... blog post. In short, dynamic labels allow you to embed user responses and the result of calculations within labels in your survey. This is a pretty useful technique to help end users navigate along very large surveys for example, because you can bring more context to your questions, using prior responses.

typenamelabelcalculation
select_one prioritypriorityPriority of the incident
calculatepriori_labelPriority Labeljr:choice-name(${priority},'${priority}')
textcommentsDescribe why the priority is ${priori_label)

When using dynamic labels, you cannot include expressions within the label. You can only perform simple variable replacements. This is why in the example below I first add a calculate question to get the label, and then I embed the variable within the label of the comments question.  Just for clarity, the following will not work:

typenamelabel
select_one prioritypriorityPriority of the incident
textcommentsDescribe why the priority is jr:choice-name(${priority},'${priority}')

I always wonder why the jr:choice-name has the jr: prefix in front of it. I am sure there is an obscure explanation somewhere for that. I also wonder why if the function was named jr:choice-name instead of choice-label, since the output is the label, and not the name. Oh well... the function works nicely, so I would not dig to much into this mystery of the XLSForm specification.

selected-at(question, number)

 

The selected-at() function is unique to select_multiple questions. It is kind of an exotic function but I am including it for completeness. It returns the choice name selected at a specific index within the selection. This is best explained with pizza:

 

typenamelabelcalculation
select_multiple toppingstoppingsSelect your top 3 favorite toppings
hiddenmost_favoriteselected-at(${toppings},0)

 

Above, the selected-at() function is first passed the output of our toppings question. That is, a comma separated list with 3 pizza toppings selected by the user.  The second parameter indicates the zero-based index in that list for which we want to know the value.  Since we are passing 0, the output will be the pizza topping that the user selected in the first place. If we pass an index 2, it will give us the last topping that the user selected, assuming that we have limited the number of favorite toppings to 3.

This function is particularly useful when you want to know the exact order in which the user selected choices within a select_multiple question.  If the index you pass in the second parameter is not within the range of the user selection, the function returns an empty string. For example,  selected-at(${toppings},4) will return an empty string if the user only selected 3 items.

All XLSForm functions described in this document are compatible with both the Survey123 field app as well as with web forms.

  

more
17 17 38.4K
IsmaelChivite
Esri Notable Contributor

[Last updated March 4, 2019]

 

On November 6, 2018, Esri introduced the concept of User Types in ArcGIS. User Types will be available with the upcoming ArcGIS Online December 2018 update.   ArcGIS User Types are an evolution of the ArcGIS Named User licensing model, bringing more granularity into how capabilities and apps are made available to users.

 

In this blog post, I want to describe how these upcoming new ArcGIS User Types relate to the different capabilities and components of Survey123 for ArcGIS.

 

An Overview of ArcGIS User Types

 

A great resource to learn more about the upcoming ArcGIS User Types is Kelly’s What is coming in ArcGIS Online: Introducing User  Types blog post. I recommend that you read her post as a foundation for the details described here.

 

ArcGIS User Types define what capabilities and apps are available to ArcGIS users within an organization. The image below describes the different User Types that will be made available in the December release of ArcGIS Online.

 

 

From a practical perspective, your existing Level 1 Named Users will become Viewers and your Level 2 Named users will become Creators.  What this means from a Survey123 perspective is that whoever was assigned a Level 2 or Level 1 Named User will continue to be able to do exactly the same things as before. For the existing Named Users you may already have, you can consider the new User Type model as simply a name change. End-user workflows and available functionality will not change.

 

What is more interesting is that a set of 3 new User Types will now be available for purchase.  This is great news, as these new User Types will give you extra flexibility to add new ArcGIS users into your organization to perform specific tasks with Survey123.

 

ArcGIS User Types from a Survey123 perspective.

 

Let’s look in more detail at what each of these new User Types can do with Survey123.

 

Creator (formerly known as Level 2)

 

The Creator User Type is designed for those in your organization who create maps and apps for others to use. A Creator User Type (formerly known as Level 2), is what you need if you want to publish new surveys into ArcGIS. A creator, for example, can log into the Survey123 website and use Web Designer to create and publish a new survey. Similarly, creators can download and use Survey123 Connect to publish surveys using the XLSForm specification.


Other Survey123 actions that are unique to the Creator User Type include: Uploading new survey report templates, generating batch survey reports or managing survey webhooks.

 

You will always need at least a Creator User Type (or other User Types above such as GIS Professional) in order to get things going with Survey123.  You need Creators to publish and manage the surveys that people will use in an organization.

 

With a Creator User Type you can also design dashboards to display data captured from Survey123, or put together Workforce for ArcGIS projects to coordinate Survey123 field work.

 

 Creators also include all the capabilities and apps licensed for the Field Worker, Editor and Viewer user types.

Field Worker

 

This is a new User Type for those in your organization who want to use ArcCGIS mobile apps to perform field work. Field Workers get the Field Apps Bundle, which includes Workforce, Collector and Survey123 for ArcGIS.   The Field Worker User Type is a step down from the Creator User Type in that Field Workers do not have the ability to create new content such as surveys, maps and apps, but includes what is needed to submit surveys from the Survey123 field app. I am particularly excited about the Field Worker User Type because for the longest time many of you have been asking for a more affordable way to equip field crews with a complete suite of mobile GIS apps to do their job. A user type including what a field user needs, but nothing else. That's the Field Worker User Type.

 

This is the User Type you will want for those who are required to capture data with the Survey123 field app.  Think field crews performing asset inventories or inspections, damage assessments, etc.

 

Field workers also include all capabilities and apps licensed for the Editor and Viewer User Types.

Editor

 

The Editor User Type is designed for people who need to make simple feature edits (adds, updates, deletes) in ArcGIS.  The Editor User Type does not include the Field Apps Bundle, meaning that Editors cannot use the Survey123 field app, however, Editors can submit surveys from a web browser. The Editor User Type can also be a good choice for people who perform, QA/QC workflows or simple edits from web applications against data captured from Survey123.

 

If it is your preference, you can complement an Editor User Type with add-on app licenses. That is, you can buy ArcGIS apps a-la-carte and assign the licenses to your existing Editor User Types.  For example, if you feel like your field crews do not need Collector, Workforce and Survey123, instead of purchasing a Field Worker User Type license, you can buy Editor User Types and assign the Survey123 field app to them.

 

Editors also include all capabilities and apps included in the Viewer User Type.

Viewer (formerly known as Level 1)

 

Viewers, formerly known as Level 1 Named Users, are designed for people who need to look, but not update, information in ArcGIS. Viewers can for example look at real-time dashboards built on top of Survey123 data, use web apps built with Web AppBuilder to visualize information.  The Viewer User Type also grants read-only access into the Survey123 website. That is, Viewers can look at the Overview, Data and Analyze pages of surveys to inspect the results of surveys

 

Features in the Survey123 website that require permissions to create content, such as publishing new surveys, export reports in batch or configuring web hooks, will not be available to Viewers. Again, Viewers just can look at data.

 

GIS Professional

 

The GIS Professional User Type sits above all the User Types I described so far. It includes everything in Creator plus a license to use ArcGIS Pro.  I list GIS Professional last because it does not add any specific Survey123 capabilities that would be missing in Creator. Adding GIS Professionals into the mix for your Survey123 deployments could be of interest when you plan to further process or analyze data captured with Survey123 for example.

 

Using Survey123 without an ArcGIS Account

 

For completeness, I would also add that any person, even without an ArcGIS account,  can submit data using the Survey123 field and web apps if the survey has been shared  publicly. The new User Types bring no changes to public surveys.

 

Other important facts

 

To add more clarity to the different User Types and what you can do in Survey123, here is a summary of what each User Type can do. 

IsmaelChivite_0-1644547236284.png

 

Please note that through the use of ArcGIS Roles, administrators define the specific privileges that a particular ArcGIS member has access to. ArcGIS Roles can be used to restrict privileges initially included with a User Type and described in the table above. For example, if a user  with a Creator User Type is assigned a User role (which revokes privileges to publish feature layers), then that user will not be able to perform the operations above that are unique to the Creator User Type. Similarly, if a user with a Field Worker User Type is assigned a Viewer role, then its  privileges will be similar to that of a Viewer User Type.

 

Once a User Type is assigned, can it be changed? Certainly. As an ArcGIS Administrator you can switch User Types. For example, a person can be initially assigned an Editor role to submit surveys over the web and eventually be upgraded to a Field Worker to also be able to use the Survey123 Field app. Conversely, a Creator can be demoted to a Field Editor, Editor or Viewer. Now, in that case, you will want  to make sure any items owned by the Creator are  transferred to some other user with a Creator User Type, so the maps, surveys and other items can be maintained.

 

A user granted a particular User Type can also be granted access to additional apps not originally included with the User Type. For example, a Field Worker user can also be granted a license of Navigator for ArcGIS, and a Creator can be granted access to Insights for ArcGIS or other add-on apps.

 

What you cannot do is to break apart a User Type. For example,  you cannot take away from a  Field Worker the Survey123 license and give to an Editor.

 

Will User Types be available in ArcGIS Enterprise? Yes. Starting at version 10.7, which is scheduled for release around March 2019.

 

What is the price of these User Types? It varies. My suggestion is that you contact an Esri representative. There are programs for personal use, students, non-profit, small and large organizations.

 

Summary

 

ArcGIS User Types are simply an evolution of the ArcGIS Named User licensing model.  As a Survey123 user, you should not fear the transition from the existing ArcGIS User Levels we use now, to the new ArcGIS User Types coming in the December 2018 release. Your existing Level 1 and Level 2 users will be automatically transitioned to the Viewer and Creator User Types with absolutely no impact to end users.   The transition of existing Named Users will have minor impact from an ArcGIS administrative perspective: Some minor UX changes as described in this blog post.

 

New User Types including Editor and Field Workers are of particular interest for the deployment of Survey123 within organizations. They both provide lower entry points to people who need to use the Survey123 field app (Field Workers) or submit surveys over the web (Editors).  

 

Overall, the new User Types include capabilities progressively:

  • The Viewer can view maps and the results of surveys
  • The Editor can do everything a Viewer can do and also submit data through survey123 smart forms in a web browser
  • The field worker is like an Editor but also includes licenses for the Survey123, Collector and Workforce mobile apps
  • Finally, the Creator does everything a Field Worker can do, plus also create new content, including designing and publishing surveys. 

 

Understanding all User Types, will help you maximize your investment in ArcGIS. Carefully choose the number of User Types to add into your organization, based on what people will typically do. 

more
11 10 20K
IsmaelChivite
Esri Notable Contributor

A minor update to the Survey123 field app in the Google Play and Amazon stores has just been made available. This new build, addresses BUG-000117493, which affected Android 7.0 (and newer) devices when attempting to connect to an ArcGIS Enterprise portal using non-CA-signed certificates.

BUG-000117493 "SSL Handshake failed (6)" error is generated in Survey123 app when attempting to connect from Android 7.0 or higher to an ArcGIS Enterprise portal using non-CA-signed certificate.

The new build number for the Survey123 field app on Android is 3.1.159.

more
0 6 3,130
IsmaelChivite
Esri Notable Contributor

St Kilda is a beachside suburb of Melbourne, Australia.  Among the various attractions in St Kilda is Luna Park, a theme park featuring the worlds oldest operating roller coaster. It is also known for its Sea Baths established in the19th century and of course, its beach, which is a popular summer spot for melbournites, tourists and backpackers.  My personal favorite at St Kilda is its pier, which holds a small colony of penguins.  There is only one place in the world where you can step out of a tram, walk down a pier and watch penguins, and that is St Kilda.  

In late October, while giving the final touches to this release, the Survey123 team gathered in Melbourne for a one-week team meeting.  We enjoyed visiting the pier at night and watching the penguins as they swam around and hide between the rocks.   We thought we would be devote this update to the St Kilda penguins, so here you go...

Overall, this update to Survey123 is mostly focuses on quality. We took our time going back through issues reported, sorting the most relevant and fixing them.   While fixes are a big part of this release, you will also find a handful of enhancements inspired by your feedback.

Custom Themes in Web Designer

With Survey123 Web Designer you can visually create smart forms, right from your web browser. Survey123 Web Designer grows with every release, incorporating new question types, validation rules and other improvements. Smart forms published with Survey123 Web Designer can be used from the Survey123 Field and Web Apps.

With the introduction of custom themes, you can now tightly control the look and feel of your web surveys.  Below are some examples illustrating the type of things you can do. Header colors, page and survey backgrounds, the color of the submit button... all of that can be now set so you can more closely reflect the feel and brand identity of your own organization or project.  Custom Themes are of particular interest to those of you interested in publishing surveys for use over the web.

The new themes are under the Appearance tab in Web Designer and can be applied to any survey authored in Web Designer. Custom Themes in Web Designer cannot be used with surveys published from Survey123 Connect.

Check this blog post for more details: https://community.esri.com/groups/survey123/blog/2018/11/01/introducing-custom-themes-in-survey123-w... 

User Input Validation Rules in Multiple Choice questions (Web Designer)

The validation section for Multiple Choice questions in Web Designer has been expanded so you can easily define the minimum and maximum number of choices that can be selected from the list. For example, you can now configure a Multiple Choice question so users will not be able to check more than 3 options, or at least 2, etc.

Validation rules set in Web Designer will be honored by both the Survey123 Field and Web apps. More details around multiple choice questions can be found at:  https://community.esri.com/groups/survey123/blog/2017/08/30/understanding-multiple-choice-questions-... 

Character counter in text questions (Web and Field app)

Multi-line questions now display a character count, helping users keep track of how much text they can add before reaching the maximum limit set by the survey owner.

The character counter is implemented in both the Survey123 Web and Field apps and can be set from Survey123 Web Designer as well as through Survey123 Connect.

Dynamic Question Labels

As of 3.1, you can include XLSForm variables within the label of a question or note.  In the example on the side, the Type of Violation and Offender Name entered by the user are embedded in the labels of questions in the survey.

If used appropriately, Dynamic Question Labels will help you make questions in your survey more meaningful to end-users and facilitate navigation.

For more details around dynamic labels refer to this blog post:  https://community.esri.com/groups/survey123/blog/2018/11/01/understanding-dynamic-labels-in-survey12... 

For a complete list of enhancements in the Survey123 Website, Field App and Connect, refer to the What is New Help topic.

Main Fixes and Enhancements to Survey123 Website and Web App

  • BUG-000116143 The Survey123 for ArcGIS website works slowly when generating a report and generates an error while downloading custom reports exceeding 10 MB in size.
  • BUG-000112528 Custom Reports fail to load with an error indicating the parser failed to execute if a field it cannot read or does not exist has a formatting set.
  • BUG-000116436 In Survey123 web Design, Rule Setting disappear when you log out if “Show” questions are in a Group. The settings, however, is still honored in the App or Web when submitting surveys.
  • BUG-000116368 Getting error when trying to export to KML on Survey123 Portal website "Error executing function. failed to execute (export service). failed."
  • BUG-000110646 When publishing a survey from Survey 123 for ArcGIS online website to Survey 123 connect for ArcGIS then publish the survey back to online the survey loses the background image
  • BUG-000115084 When utilizing a choice filter in Survey123 for ArcGIS, if images are used against filtered questions, the label fails to display properly on the Data and Analyze tabs
  • BUG-000113561 The Survey123 for ArcGIS web app does not allow user to enter decimal '.' values when using Dutch language in ArcGIS Online
  • BUG-000114313 The survey background sets in Survey123 Connect for ArcGIS is not honored if the survey is accessed using web browser
  • BUG-000114658 A publicly shared Survey123 survey hosted on a federated Portal for ArcGIS or ArcGIS Server is not accessible from a public ArcGIS Online web map when signed in to ArcGIS Online
  • BUG-000115903 In Survey123 website, a question configured using pulldate ("@geopoint") does not get populated even when the Geopoint question is filled (reverse geocode)
  • BUG-000115045 Surveys created in the survey123.arcgis.com website fails to open in the Safari browser of iOS devices, where the iOS version is below 11.0.0
  • Added support for the XLSForm version() function in the Survey123 Web App.
  • ENH-000113657 Question visibility settings are now persisted across multiple sessions
  • ENH-000105733: You can now apply filters to data displayed in the Analyze page
  • Image questions in Web Forms now let users leverage the built-in camera or webcam attached to laptops and computers.
  • Major architectural changes have been made in the Feature Report Service to accommodate user load and also to make the rendering of maps in your reports more robust.  Many of the map rendering issues that we have targeted are summarized in this GeoNet thread: Am I the only one having issues with Survey123 Reports?  We also have enhanced the error descriptions to help you debug report template syntax. Our goal is to move the Feature Report functionality into general release around May 2019. We greatly appreciate the feedback that all of you are providing, please keep your comments coming.

Main Fixes and Enhancements to Survey123 Field App and Connect

The build number for the Survey123 Field app is 3.1.158 and it is available for download in the App Stores and our  Survey123 for ArcGIS | ArcGIS Download page. The Survey123 Connect build is 3.1.126.

  • Apple Transport Security supported on iOS.
  • Two new appearances have been added: predictivetext  and nopredictivetext. They are meant to be used with text type of questions and allow the survey owner to enable or disable the predictive text functionality included with the Android and iOS operating systems.
  • BUG-000105983: Survey123 Connect will hang while attempting to publish if the survey includes a repeat block with no questions in it.
  • BUG-000110646 Website background images not maintained when survey republished in connect.
  • BUG-000116622 An error message is thrown when submitting from Survey123 for ArcGIS if the survey contains a geopoint question within nested repeats
  • Fixes for the autocomplete appearance:
  • BUG-000106380 Default Value set in Survey123 Connect is not applied when survey includes cascading select and autocomplete
  • BUG-000097421 In Survey123 Connect for ArcGIS, if a time field has a calculation all time field's defaults are ignored
  • Fixes to repeat_count:
  • Survey123 surveys not showing in app despite being downloaded 
  • BUG-000117394 "The INSERT statement has conflicted with the FOREIGN KEY constraint" error is thrown when Survey123 is pointing to an existing feature service that contains multiple tables all relating back to one parent layer
  • Coordinates passed via custom_url through the center parameter are ignored
  • Under certain conditions, map returns to current location after an address is entered in geosearch
  • On certain iOS6 devices, taking a photo using the Survey123 built-in camera causes an application crash
  • On iOS devices with auto-orientation locked down, images captured using the front-facing (selfie) camera are upside down when the phone is rotated in landscape mode
  • BUG-000116932 When an image is set as a default value for an annotate question outside of a repeat in Survey123 for ArcGIS, the annotate option fails to appear.

What is coming next

Survey123 3.2 is already on the works and our plan is to make it available in January 2019 across all supported platforms.  Version 3.2 will focus on quality, addressing specific software defects that we could not accommodate into the 3.1 update.

Through the Early Adopter Program, we regularly offer early cuts of the software, which you can use to test your existing surveys as well as new features on the works. The main new Early Adopter Program feature in the Survey123 Field App is support for direct connection to external GNSS receivers (scheduled to be generally available around March 2019.  We strongly encourage you to read the Early Adopter documentation, test the latest available builds and report your findings.

more
10 10 5,806
IsmaelChivite
Esri Notable Contributor

Do you want to give your surveys a nice cosmetic touch? Learn about custom themes!

Read more...

more
5 1 8,925
IsmaelChivite
Esri Notable Contributor

Starting with version 3.1, you can dynamically change the label of a question, using answers from other questions in the form. Dynamic question labels are particularly handy when working with very long forms, making questions in your survey more meaningful to end-users.

The Water Violation survey sample on the side, for example, shows how you can insert the Type of Violation and Name of Offender in the photo and signature questions that follow.

This is quite a simple example to illustrate the idea. As your survey includes questions across multiple groups, repeats and even pages, dynamic labels become critical to aid with form navigation and to avoid user input errors. 

The dynamic labels technique is often described in survey jargon as question piping, where user responses are inserted or piped into questions further into the survey.

You can add dynamic labels to your forms using Survey123 Connect for ArcGIS. Once published, dynamic labels will work in both the Survey123 web as well as the field apps.

The basics of dynamic labels in XLSForm

In order to insert text dynamically within a question label, you must add XLSForm variables in the label column of your survey. The syntax is quite simple. Insert ${QuestionName} exactly where you want the answer to a particular question in the survey to appear in your label.  This is what the Water Violation example illustrated above looks like in XLSForm.

You can add multiple variables to the same label but it is important to highlight that the use of full XLSForm expressions within the label column is not supported.  Survey123 will only replace XLSForm variables. For example, this is valid:

But this is not valid:

While you cannot use full XLSForm expressions within the label, you can use them in a calculate question, and then reference your calculate question in the label. Calculate questions will not show in your form, but will help you hold the output of full XLSForm expressions, so you can insert those values in a label. For example, lets pretend you want to use a dynamic label in a note to describe the total cost of repairs of a pipe, given its length:

The cost question is a calculate. It will not be shown in the form to the end-user. We use the cost calculate question to run a full expression that evaluates the total cost, and once we have that, we simply use it for our dynamic label.

Working with different data types

 

As you work with dynamic labels, you will notice that things are straight-forward when you want to insert values from questions of type text, decimal or integer.  All you will need to do is to reference these questions directly exactly as shown above.  When working with other types such as dates or select questions, things are a bit more complicated and you will need to pre-process user values through calculate questions before you insert them into the label.

  • Select_one questions: If you want to bring a user selection from a select_one question into a dynamic label, you have to keep in mind that by default, you are going to get the choice name value, not the label of the selected choice.  If you want to display the label of the selected choice, then I suggest you use a calculate using the jr:choice-name() function.

Support for the XLSForm jr:choice-name() function was introduced in Survey123 in version 3.1 in both the field and web Survey123 apps.  This function takes two inputs: a string representing a choice name, and a second string representing the name of the select question. Note that the second parameter requires you to enclose the question with quotes.


The output of this function is the label of the choice name passed-in.  If this function is used in a multi-language survey, the label returned is that of the active language.  

  • Select_multiple questions: Select_multiple questions let you choose one or more values from a predefined list. The output of a select_multiple question is a comma-separated string representing all the values selected by the user. This output, as is, is not the easiest to handle with dynamic labels, but again you can use other calculate questions to properly massage the output before it is added to your question label.  The https://community.esri.com/groups/survey123/blog/2017/08/30/understanding-multiple-choice-questions-...  blog post describes in more detail how multiple choice questions behave and how you can work and control its outputs.

Other things to consider

 

There are some obvious and not so obvious things to consider when working with dynamic labels:

  • If you reference in your label a question for which the user has not provided an answer, then your question is going to have some missing text.  You can choose to be clever with the label. For example, in our Water Violation Example it is not evident when the violation type is missing. You will either read “Photo of the violation” (No violation type chosen) or “Photo of the Broken Pipe violation” (if Broken Pipe has been chosen).  In practice, you will not always get so lucky when the variable is missing.  In the pipe cost repair example above, it is evident that we are missing something in the total cost note when a dollar amount is not present.  You can choose to use a relevant statement to hide questions with dynamic labels until the variable to be replaced (in our example the cost or repair) has a valid value. In these cases, you can use the string-length() function as shown in the following example.

  • Your dynamic labels will certainly look great in the survey, but what about when you bring your survey layers into web maps? Or when you look at your survey data in the Survey123 website? On this one, it is important to understand what really happens when your survey is published, and how the Survey123 website as well as other ArcGIS apps work with your survey layers.

When you publish an XLSForm document with Survey123 Connect, we take the values in the name column of your survey spreadsheet and we use them to create new fields in the survey feature layer.  By default, we use the contents of the label XLSForm column to define the field aliases of your attribute fields.  Typically, ArcGIS apps will use the field alias for display purposes. This is the case in the popup of a web map as well as throughout the Survey123 website.

When you insert a dynamic label, your field aliases will include the variable placeholder and that will not look very nice.  If you are worried about this, make sure you set the alias value for your attribute fields in the esri::bind:esriFieldAlias XLSForm column.  Alternatively, you can also refine the field aliases, after the survey is published, from the Item Details page of the feature layer item.

If used wisely, dynamic labels can help you build better and more user friendly smart forms.  We hope this new feature is useful to you!

more
14 16 22.5K
JamesTedrick
Esri Esteemed Contributor

When you have a multiple choice question in a survey, have you wondered why the data in a popup looks different than in the form?

When Survey123 publishes a single choice question, by default it takes advantage of geodatabase domains to write the default label into the feature layer as well – this allows the label to appear automatically in popups in the Map Viewer and other applications in your ArcGIS Organization. 

With multiple choice questions, this is more difficult.  Survey123 stores multiple choice questions as comma-separated values in a text field.  That means there isn’t a built-in way to view labels for these questions. 

However, Arcade can be used to take the values stored and substitute appropriate labels.  Arcade is a cross-platform expression language for ArcGIS, and is currently supported in web map pop-ups and ArcGIS Pro.  Previously, Carmel Connolly showed how to use Arcade with ‘other’ choices in questions.  For multiple choice label substitution, a template attribute expression is available at the Esri’s Arcade Expressions GitHub repository; you will need to enter in: 

  • The name of multiple-choice question’s field 
  • The list of values and labels to be substituted 

// Replace the field name here 
var fieldName = "like_fruits";
 
// Replace the choices here 
var choices = {}; 
choices['apple'] = 'Apple   '; 
choices['banana'] = 'Banana   '; 
choices['grapes'] = 'Grapes   '; 
choices['kiwi'] = 'Kiwi   '; 
choices['orange'] = 'Orange   '; 
choices['peach'] = 'Peach   '; 
choices['strawberry'] = 'Strawberry   '; 

function formatLabels(inText) { 
    return Concatenate("", inText); 
} 

function formatMulti(inField, d) { 
    var values = Split(inField, ','); 
    var labels = []; 
    for (var i in values){ 
        labels[i] = formatLabels(d[values[i]]); 
    } 
    var outText = Concatenate(labels, TextFormatting.NewLine); 
    return outText; 
} 

formatMulti($feature[fieldName], choices);


You can see this expression in this webmap.

more
7 21 8,175
MarikaVertzonis
Esri Regular Contributor

Do you or your colleagues know a little about Survey123, need to learn more, but dont know where to start? If so, we have created three learning paths to help you take you to that next level.

We know there is already a LOT of information available to help you, and that the sheer amount can be overwhelming. To help focus your attention, learn paths are collated around a theme or a learning objective. They are made up of different types of content - some of the content has already been around for a while, some are new - and include videos, tutorials, blogs and formal documentation.

For true beginners start with Try Survey123. In this path you'll use a survey first hand, build one yourself and take a look at the data that can be collected with a survey.

Take your surveys further does just that. Learn how to make your surveys open to the public, use offline maps, connect to existing feature services to collect data and customize how your data is delivered to stakeholders.

Creating your first few surveys can be straight forward: add questions, style and publish. But there's almost no limit to how smart you can make your form. Explore XLSForms for Survey123 will show you how to dynamically populate answers based on previous questions and data from external files, and how to translate your survey for multilingual use.


These paths are hosted at Learn ArcGIS. Let us know what other Survey123 paths you would like to see created.
 

more
5 5 2,088
515 Subscribers