We have a project that has public user register for an event. We planned on doing this with a Laserfiche form and having an admin for events approve it, but one of the requirements of the project is to allow the user to edit a registration. From what I see, this isn't possible because once the form is approved, it goes into the event repository and can't be recalled. I want to make sure I don't miss anything as I'm a little new to Laserfiche. If it isn't easily done, we'll probably have to go with a custom solution.
Question
Question
Answer
Laserfiche Forms doesn't allow a direct interaction with a public/non-authenticated user after initial submission. That's the primary limitation here. The Save as Draft suggested would work to allow the editing of the form BEFORE submission but if the requirement is to capture the submission and begin some sort of process and then edit it LATER that wouldn't work to Save as Draft.
If the form is simple enough why not build the process to allow a re-submission of the form and have workflow look for a duplicate submission and then keep the new submission? I'm not sure what might be edited but that's the line I'd look down.
One thing that could be done to make things simple for the user would be to send them back a URL with all their data built into the token system that Forms allows to pre-populate fields in the URL itself. That way they could have all/most of their previous data pre-populated in the Form.
There are variants of this that we've used by performing a lookup on a hidden field where it pulls the data from an external database to prepopulate a "re-submission" but if the data is sensitive that URL could be "hacked" to find other people's submissions.. In those cases we'll use a hashing mechanism to scramble the actual instanceID. That's more advanced than I have room for in this response but at least this hopefully gives you a map of what your options are.
How does the workflow find a dupe submission?
As far as the re-population, I had a similar idea. Include a guid (or something similar), to recall the info.
Another question, how can I send the form info to an external DB, not the forms db?
To write the Form data to another DB, have your submission trigger a workflow that retrieves the form variables and then pushes them into the other DB.
As far as "how to find a duplicate submission", if you were passing a guid back to be filled automatically through the URL then you could call workflow to look for that guid in either metadata or sql and determine if it already exists. If it did you could signal Forms to go down a different path (you can wait for a workflow to complete before allowing Forms to proceed further).
Again, apologies that this isn't super detailed but you can tell me if you'd like to drill into the nitty gritty.
Thank you, Jeremy! I created a proof of concept to present to my boss, and it looks like this might work. I still need to work on the duplicate submission part, but this might be our solution.