Hi,
I have come up with what I think is a way to manage adding a signature to a survey once the survey has been submitted and retrieved through the Inbox.
The Survey is set up to work against a submission_url to a feature class and related tables hosted in our SQl Database.
I have put the signature inside a repeat and will use a function to make it visible at the right time - I am using a Yes/No select_one at the moment.
This is working but of course the user is free to add as many signatures as they like, I really only want one.
The solution I think is to put 1 in the repeat_count parameter, however when I publish the survey I am getting "The custom feature service submission_url is not compatible with this survey (Fields not found in the feature service: 1)"
If I remove the 1 from the repeat_count then it publishes fine, I just potentially end up with multiple signatures
Q1/ Am I on the right track?
Q2/ Is this a bug?
I may be able to implement using a count to make the repeat 'disappear' after one signature is entered but this feels like a work around.
Survey Template Attached
Solved! Go to Solution.
Hi Steve,
You may need to add a field "SX_Test_Actions_count" to the main layer of the form - when publishing with a repeat_count, an "_count" field is expected.
Hi Steve,
You are on the right track. A couple of things to check for:
- you are using submission_url to work with an existing feature service. Does that feature service have a related table with attachments enabled?
- can you republish the layer and tables so they do not have database names (particularly periods)?
Hi James,
Thanks for your response.
The Feature Service does have a related table with attachments - this is for the signatures.
I have republished the service and removed the periods.
I can publish the survey and it works i.e
Fill in the top part of the form
Submit
Retrieve from Inbox
Sign
Submit
The signature saves as expected in the attached Feature Class - if you sign first time around it does not get retrieved from the inbox - this is documented and expected, I am not going to make the signature field available until it has been submitted once.
As I am using a repeat to hold the signature - I want to limit the repeats to 1 so it only gets signed once.
As soon as I try and limit the repeats to 1 then I get the publishing error
Looks like this:
Remove the repeat limit and publish
Steve
Hi Steve,
You may need to add a field "SX_Test_Actions_count" to the main layer of the form - when publishing with a repeat_count, an "_count" field is expected.
Hi Steve,
I am having the same issue you did.
Would you mind attaching the final solution if you've succeeded?
Thanks!
Hi Sarah,
I have managed to attach the solution to my reply now - I was struggling with that yesterday. I have linked it here as well.
https://community.esri.com/servlet/JiveServlet/download/223329-1-205569/SX_Test_Sig_FINAL.xlsx
The key to getting it working is that the Feature Service for the main layer must have a field with _count at the end:
Here is the schema for my main layer:
Layer: SX_Test
Fields:
Name ( type: esriFieldTypeString , alias: Name , editable: true , nullable: true , length: 50 )
Location ( type: esriFieldTypeString , alias: Location , editable: true , nullable: true , length: 50 )
GlobalID ( type: esriFieldTypeGlobalID , alias: GlobalID , editable: false , nullable: false , length: 38 )
created_user ( type: esriFieldTypeString , alias: created_user , editable: false , nullable: true , length: 255 )
created_date ( type: esriFieldTypeDate , alias: created_date , editable: false , nullable: true , length: 8 )
last_edited_user ( type: esriFieldTypeString , alias: last_edited_user , editable: false , nullable: true , length: 255 )
last_edited_date ( type: esriFieldTypeDate , alias: last_edited_date , editable: false , nullable: true , length: 8 )
OBJECTID ( type: esriFieldTypeOID , alias: OBJECTID , editable: false , nullable: false )
SignNow ( type: esriFieldTypeString , alias: SignNow , editable: true , nullable: true , length: 500 )
SX_Test_Actions_count ( type: esriFieldTypeString , alias: SX_Test_Actions_count , editable: true , nullable: true , length: 500 ) #It kept saying my field length was too short 500 is probably too big ☺
The layer for the attachments (signatures) is:
Layer: SX_Test_Actions
Fields:
parentGlobalID ( type: esriFieldTypeGUID , alias: parentGlobalID , editable: true , nullable: true , length: 38 )
ActionName ( type: esriFieldTypeString , alias: ActionName , editable: true , nullable: true , length: 50 )
GlobalID ( type: esriFieldTypeGlobalID , alias: GlobalID , editable: false , nullable: false , length: 38 )
created_user ( type: esriFieldTypeString , alias: created_user , editable: false , nullable: true , length: 255 )
created_date ( type: esriFieldTypeDate , alias: created_date , editable: false , nullable: true , length: 8 )
last_edited_user ( type: esriFieldTypeString , alias: last_edited_user , editable: false , nullable: true , length: 255 )
last_edited_date ( type: esriFieldTypeDate , alias: last_edited_date , editable: false , nullable: true , length: 8 )
OBJECTID ( type: esriFieldTypeOID , alias: OBJECTID , editable: false , nullable: false )
Email me at srichards@hnrg.com<mailto:srichards@hnrg.com> if you can’t download the file
Steve