I have noticed the following error in the logs and wonder how it occurs and what steps are required to resolve or recover from this situation. I have not encountered this before, so am not familiar with it.
ApplicationException: Submission Service Error: Your submission is out of date. Server Revision Number is 3, Your Revision Number is 2. Last modified user was null.
Is this affected by the 'Submission Expiry Days' setting for the form on the Form > Details page?
What is a common setting for the number of expiry days?
When a form is first open it will have a revision number of 1.The form is subsequently saved. The server revision number is 2.
A. When it is opened again it will get a revision number of 2.
B. At the same time the form may have been opened by the same user in a different tab or browser (Or alternatively a different user) then saved. The server revision number is now 3.
The error occurs when the form at A is then saved. Transact will not allow this form to be saved as its revision number is behind the server revision. Allowing it to be saved would overwrite the saved FormXml data at B.
The behavior of transact is to disallow the save of A and raise the Submission Service Error.
As the last modified user was null this may indicate that a system process has updated the record. There is not enough information to determine if the submission has expired. Can you log a support ticket, include screen shots of the transaction in question.
thanks for all the detail; that makes sense now that I have some background detail.
The default value on your system can be found by going to menu:
System → Data Retention Management
Look for Saved Transactions (days)
thanks for the details.
I was also curious about the 'Submission Expiry Days' field on the Form > Details page:
I have inherited some code in services that handles this data, but does not do it very cleanly (I'm wondering why it handles it at all). I'm wondering if we need this at all, and if so what is a useful setting for this value.
From documentation it seems that I don't need to collect and manipulate this field, in service code, as the 'Submission Expiry Date' will be set in the form if the 'Submission Expiry Days' value is set.