The Community forums are being phased out in favor of a new Slack group.
Add your email address below to get an invitation to join the community slack group
Saving multiple drafts
Hi,
I am trying to find out if there is a way to allow a single user to save multiple drafts of a form. Am using WP-Members for user registration/logins so that they can save a draft of the form, but would like them to be able have multiple saved drafts (users are doctors completing medical assessments for workers as part of industry requirements).
Cheers,
Mark
July 2, 2018 at 12:49 am
Hi Mark,
At the moment Formidable Pro doesn't allow for multiple drafts to be saved per user but you can allow them to edit existing entries.
You can also vote for Multiple Saved Drafts as a feature here: https://formidableforms.com/help-desk/save-more-than-one-draft/
Thanks
July 2, 2018 at 6:32 am
I need to understand your requirements better. Why do you want to save multiple drafts?
As Ronoi said, Formidable can't do this out of the box, but it is possible to do this with custom code. I did this to address a requirement for keeping an audit trail of all edits to an entry. Later, I produced a report to display the historical audit trail.
July 3, 2018 at 11:31 pm
In a nutshell, the form is designed for doctors or their practice nurses to complete a medical assessment. But the form is mammoth, and filled with conditional logic because the original word doc they were using was 15 pages and has a lot of "if you answered yes then answer these questions" kind of stuff in it.
Here's where it gets tricky. Part of the form process is to attach medical tests and key in some test results into the form. These are not always available so hence the 'save draft' option. Complication arises if the test results are not back yet, but the doctor needs to see 10 patients that day, all of whom don't have that test result back (they come back in batches), so if we could save a draft for each patient (based on say last name as the key ID), the doctor can then just recall the one he needs from a list (he's logged in via WP-Members), complete it, and hit submit. Our forms must be completed in full for submission, it's a legislated requirement.
July 4, 2018 at 3:30 am
When I hear the term "save multiple drafts", I envisioned saving 1 form multiple times so you end up with many copies of the same draft where each displays its incremental changes.
If I'm understanding you, what you want to do is save a draft, edit the form, and save it again. It doesn't sound like you're interested in multiple copies, but rather saving the form each time it's edited, just like you would edit a Word document and come back to it later. Is that correct?
If so, then yes, Formidable can do this out of the box.
July 4, 2018 at 10:36 am
Many thanks for the reply.
You can do this with one form but when you have a dropdown similar to what Mark has stated - and I have a similar requirement - you cannot come back to a draft that has the same settings depending on a dropdown.
The only way around this is I think to have a separate form per patient or per field in the drop down - unless anyone else can think of a better way ?
Stephen
July 4, 2018 at 6:04 pm
Vfontjr,
Not multiple saves of a single form instance. Single saves of multiple form instances. Let me explain. Here's a scenario:
Dr Smith is a medical assessor. He has 4 patients booked in.
Patient 1 arrives. Dr completes 50% of assessment but is missing some medical test results. Saves draft. Sends patient away.
Patient 2 arrives. Dr completes 70% of his assessment but is missing some medical test results. Needs to save that patient in draft but NOT overwrite Patient 1.
patient 3 arrives, same scenario, Dr needs to save a draft, but not overwrite either Patient 1 or Patient 2.
That's the first problem.
Problem number two, once we've solved how you can possibly save more than one draft without overwriting the first one...
How does Dr Smith then recall Patient 1's draft when his medical records arrive, so that he can complete the assessment form and hit submit. Or patient 2, or patient 3 and so on.
Hope that helps.
Cheers,
Mark
July 5, 2018 at 12:37 am
Hi Mark,
I am having a similar problem as you - unable to save copies of multiples views of the same form - with the same form id. Just to confirm, that you have one form for this (ie one form id) ?
I think the only way around this which seems to work for me and I am just testing this - is to have a separate form per entry - or for you - a patient. That way the information on the form will be saved and be present when you return to it.
Would that work for you ?
Stephen
July 5, 2018 at 12:59 am
Steveo,
We have 23,000 patients. Granted a doctor may only see five a day, there may be delays of up to 5 days to get some results back... that's the potential for about 25 forms per doctor. There are 30 doctors so far, with another 70 about to be accredited... that's 100 doctors, with worst case 25 'save draft' forms each, I'm sure you can do the math here...
If each doctor only has one WP login, connected to one email address, how do they store 25 half completed forms (worst case scenario).
Cheers,
Mark
July 5, 2018 at 4:05 am
Thanks for clarifying Mark. Out of the box, Formidable does not allow for the saving of multiple form drafts per single user. To save a draft, a user must be logged in. The draft is saved and recovered for editing by user ID, but Formidable assumes one draft form per user ID.
What you want to do is possible, but only through custom code. You can create a page that displays a header and view. In the header area, you would have a button for Add New Form that allows you to start and save multiple forms. Below that, I would use jQuery Datatables in a view to display a list of all forms for a specific doctor. You could include features to filter, search, and edit. The status of the form would be displayed in this view (draft, complete, or whatever).
This is a complex process and you would have to work around some of Formidable's limitations. You would have to write custom SQL triggered through Ajax, as well as custom code for saving multiple drafts, displaying all drafts, and processing them when complete. Don't be surprised if you had to save the drafts to a non-Formidable staging table before they were submitted. You would also have to have a way of knowing when a form is complete. The standard way is pressing submit, but you may need a hidden field to store a status. I wouldn't know unless I was doing the detail design.
If you have the budget, I would hire a developer unless you have advanced programming skills. As a best guess, this will probably take a man-week or more of custom development work. And with the skills required, you're looking at premium pricing that could easily run you upwards of $5,000 in the US.
I did something like this for the Federal Mediation and Conciliation Service. I built an application for them out of Formidable that required functionality similar to yours, but also with many-to-one child forms. It was very complicated and took a lot of time. I'd love to show what I did for them, but it required secret clearance and it sits behind a security layer that requires vetted access.
BTW, to the best of my knowledge, there isn't any form builder tool that will provide the desired functionality out of the box. I've worked with the most popular and always return to Formidable for custom applications because its architecture lends itself well to custom work.
There are plenty of developers listed on the "Hire a Pro" page, myself included. I wish you the best in getting this done, but want to encourage you not to let pricing be a show stopper. You're providing a high value to your doctors. Consider the cost of not doing this?
July 9, 2018 at 3:55 am
Hi All,
I may be missing something in the logic here but what's the difference in "saving a draft and coming back to edit it later" and "submitting the form to come back and edit later"?
Apart from a technical difference the usability seems the same.
You could create a view to be able to filter and search through the entries, and select the one you want to update when the new information (test results etc) become available.
We have several forms that work in this way and that also allow multiple users to log in and view a form that someone else has started and updated the information.
The only initial issue i can see is what technical definition of 'submission' you need to adhere to when you say "Our forms must be completed in full for submission, it's a legislated requirement" although it sounds as though you could achieve this using an optional tick-box to indicate that the form is 'Complete'.
As i said, i may be missing something but that seems to offer everything you asked for.
Chris
July 16, 2018 at 6:44 pm
Hi All,
I've had this issue multiple times before. Since I know the limitations of "Draft" functionality, my solution always involves totally ignoring Draft feature and builds my own draft feature with the help of an additional status column. It not only solves the problem but also opens up additional possibilities. For example, I've built workflow functionality using it e.g. Draft --> Reviewing --> Approved --> Closed
In Mark's scenario, the workflow is "Draft" --> "Completed"
Here how you do it,
1. Add a status column in your form - could be hidden field. I prefer a drop-down with the list of possible statuses and sets it's visibility to Admin user.
2. Sets its default value to the first status in the workflow. "Draft"
3. Let your users submit the form as normal. Entries will now be in "Draft" status.
4. Create a View to list all entries in a table with columns "Status", "Edit", "Delete", "Next action" along with other details about your entries. Make sure to enable "Edit" and "Delete" button when the status is "Draft". This step can vary depends on your requirements. For example, you can have a page (view) only for draft entries and another page (view) for all other entries. In this case, use View filters to hide the statuses you don't want to include in the page.
5. Add a button under "Next action" column to update your status from "Draft" to "Completed". This can be easily done with "frm-entry-update-field" shortcode.
https://formidableforms.com/knowledgebase/insert-a-link-to-change-the-value-of-a-single-field/
e.g. Replace xxx with your field id.
[if xxx equals="Draft"]
[frm-entry-update-field id=[id] field_id=xxx value="Completed" label="Complete" message="You've completed this record"]
[/if xxx]
Note that link is displayed only when current status is "Draft"
In real projects, this code will be wrapped under your HTML button / Icon.
6. The downside of this approach is, you can't use Formidable forms "Form Actions" to trigger something when entry is created because that would trigger when entry is in our custom "Draft" status. The common example is to send an email after entry is submitted.
Fortunately, following approach will work. Create your email Form action to trigger on "Update" instead of "Create". To avoid getting emails every time form is updated, enable conditional logic in the Email form action only when "Status" column equals to "Completed". The assumption here is that once the form is completed, no more editing.
There is one last step required here. Updating a field with "frm-entry-update-field" shortcode is not considered as an "Update" action for some reason So the above trigger will not work. Formidable forms provides a snippet to enable that
https://formidableforms.com/knowledgebase/insert-a-link-to-change-the-value-of-a-single-field/#kb-send-an-email-after-field-is-updated
I've built complex workflow systems with this approach. Some of them involve some additional steps I ignored here for simplicity but the core concept is same as described above.
Hope it helps and let me know if you have any questions.
Cheers,
Sujeevan
Discussion closed.