Managing Signatures in the Inbox as a repeat.

1588
6
Jump to solution
10-24-2018 04:33 PM
SteveRichards4
New Contributor II

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

1 Solution

Accepted Solutions
JamesTedrick
Esri Esteemed Contributor

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.

View solution in original post

6 Replies
JamesTedrick
Esri Esteemed Contributor

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)?

0 Kudos
SteveRichards4
New Contributor II

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

0 Kudos
JamesTedrick
Esri Esteemed Contributor

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.

SteveRichards4
New Contributor II

Hi James,

That did the trick,

Thanks very much for your help.

I will attach the final solution.

Steve

0 Kudos
SarahLinn1
New Contributor II

Hi Steve,

I am having the same issue you did.

Would you mind attaching the final solution if you've succeeded?

Thanks!

0 Kudos
SteveRichards4
New Contributor II

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

0 Kudos