Display Creator field

471
3
01-27-2020 11:09 AM
KenMorefield
Occasional Contributor

I have built a survey on top of an exiting feature service that has Editor Tracking fields enabled (Creator, Creation Date, Editor, Edit Date).  I want to be able to add the Creator field into my survey as Read Only, so that the user of the survey can use the field for filtering of the Inbox.  I can't seem to figure out how to add the Creator field into the survey and then publish the survey - I keep getting the message that "The custom feature service submission url is not compatible with this survey (Field Creator in myTableName is not editable).  How can I add the Creator field into the survey so that it can be used for filtering?  

Tags (2)
0 Kudos
3 Replies
DougBrowning
MVP Notable Contributor

I think editor tracking does not happen until you submit the form to the feature service.  Which makes sense because the feature service is handling editor tracking not 123.  The bummer I have seem is created date gets the date it was synced to the feature service and not the date they actually opened the form.  We added a field called FormDate with a now() in the form to get around this.  (note date is a reserved word)

To get creator in the form see this post

https://community.esri.com/thread/219669-survey123-parsing-creator-field-value-to-get-clean-user-nam... 

0 Kudos
ChrisPetzold
New Contributor

I will go one better:  The creator field in my case is the person's email and I want to use it to send the response telling them that they have in fact submitted a survey--do I really have to have a field asking for their email when I already know it?

0 Kudos
IsmaelChivite
Esri Notable Contributor

Hi. I think there are a couple of use cases described here.

The original question by Ken Morefield‌ seems to be related to the filter in the Inbox. How can I use the creator editor tracking field to filter the contents of the Inbox? If I understand the question correctly, this can be done by entering a WHERE statement in the Inbox filter property as shown below. Note that you in this WHERE statement you can include fields not included in your form. As long as the field exists in the target layer, the query will execute fine.

The second use case from Chris Petzold‌ is slightly different. In Chris's case the idea is to be able to retrieve the ArcGIS user name or email of the currently signed in user within the form, so that value can be used in an XLSForm expression, or passed to a web hook.  If you need the value for an expression in your XLSForm, you can use the username and email question types and then reference them within your expression. If you do not want to store the username and email as attributes in your feature layer, then you can set the esriFieldType to null in your XLSForm.

If you want to get the email of the user that has submitted a record from a web hook, you do not even need to include that value in your survey. The payload of the sent record generally includes the userInfo collection, from which you can get the username and email in your web hook.

0 Kudos