You are viewing limited content. For full access, please sign in.



Reliability of Forms Drafts

asked on June 24, 2019

We've been burned a couple of times by Forms Drafts.  I had a user activity with an attached timer (used as a reminder) that was set to interrupt the activity.  The user (my boss) had completed a meticulous and detailed series of fields that he had saved as drafts for two different iterations of the form.  When the timer event ran out and the event was interrupted, the draft disappeared, and the data it had contained was forever lost to the ether.  Another employee also lost his draft around the same time for the same reason.


We did try very hard to recover it, finding the entry ID number buried in the server and compiling the appropriate URL, but all we got was a page saying the draft had been deleted.


While nobody was happy with this result, least of all my boss, we soldiered on and removed the timers.  Unbeknownst to us, apparently the task is created with the timer activity in memory, because even though the process had been updated and saved with no timers, two more forms that had already been assigned as user tasks before the update occurred triggered the interrupting timer, and two more drafts were consigned to irrecoverable oblivion.


Now, our process has been updated so that timer events still exist to send reminders, but do NOT interrupt the attached activity; instead they just sent generic emails and leave the originating task alone.  This has been fairly thoroughly tested, but five drafts now with a substantial amount of writing that had been carefully done have disappeared on us, and our faith in the "draft" functionality is significantly shaken.


I'm now in a position where I want to tell my boss that we've figured out the cases that cause our data to be systematically destroyed and should use drafts again instead of our "homegrown draft" system that is actually just a submission to another user activity.  However, having been burned so many times now, I just don't want to stake my everything on that statement.


Can anyone speak to the reliability of drafts, how they work, and/or whether there is a way I don't know about to recover a draft if the associated activity is in some way interrupted?  Or any thoughts on other ways the draft might be interrupted and lost so that we could avoid these mistakes?


We are using Forms 10.4.0

1 0


replied on June 25, 2019

Hi Sean,

1. For the drafts on interrupted user tasks, unfortunately there is no way to recover them. The saved data were just removed from database. This is actually expected.

2. For the reason why timers were still triggered after delete:

When a user task with timer attached was created, it would save the timer info in database [cf_timers] table. When you removed the timer from user task on the process, the timer info in [cf_timers] would not be removed, so it would still interrupt the user task.

To make sure no more interrupting user tasks, you should check your db [cf_timers] table and remove the entries for the old timer, and restart Forms Routing Engine Service.

1 0
replied on June 26, 2019

Good information to have, thank you!

0 0


replied on June 24, 2019 Show version history

I'd say this is actually expected functionality. If a task no longer exists, than it stands to reason any associated drafts would be removed from the system, both for cleanup and to prevent errors.

My thoughts behind this are as follows:

  1. You wouldn't be able to submit the draft because the associated task no longer exists. If for some reason the draft was preserved, the user would just get an error when trying to submit and you'd have a whole different problem.
  2. You wouldn't want a bunch of "invalid/expired" drafts in people's inboxes or the database.

I think the biggest thing is to definitely not interrupt tasks if your users could be saving drafts to submit at a later date.

Out of curiosity, why was it set to interrupt the task?

1 0
replied on June 25, 2019

Hi Jason,

It does make some sense, and no, we wouldn't want a bunch of old drafts cluttering up the server, but this experience really demonstrated how easy it is to lose data due to that functionality.  It would be nice if there were a way to retrieve it, even if just for a short while.  I'm also looking to see if anyone has thoughts on other ways that haven't occurred to me that the task might get interrupted, and any drafts lost.


As to why it was set to interrupt, it was something I saw someone demonstrate at Empower once; they used an interrupting timer event on a user task that had an email notification to loop back on itself and resend the email.  Now I just use the email activity to handle reminders.

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.