There’s a common business scenario like this:
- User fills out an InfoPath form.
- Submits form.
- Long-running workflow process kicks off.
- While the workflow is running, we don’t want anyone to change the content of the form.
This office.microsoft.com example describes how to create a separate "view" and mark the whole view as read-only. This is a workable approach but has the drawback that you’ve effectively created two entire versions of the same form and must now keep them in sync manually. If you add a field to the editable view, you must then add it to the non-editable view as well. Over time, with different developers, there can be some divergence.
This alternative might work better in some cases:
- Add a new field to the form called "IsEditable".
- Set its default value to true.
- Promote it when publishing to MOSS.
- In the workflow, set the value of IsEditble to false.
- Go back to the form.
- Add a rule that "upon open of the form", disable your save button when IsEditable is false.
The drawback to this approach is that all the fields will still be editable on the screen. The user can get a false impression that they can actually change content. You can mitigate that by putting in some text that the form is disabled, possibly in big red letters across the top of the page.
In one project, I created a "workflow status" view. As the workflow progressed, it would update specific status fields that had been promoted from the form. When the user opened the form, the "open form" rule automatically switched to that view and the user had a nice little summary status.
</end>
Dan, you wrote "Pardon my ignorance, but when you refer to the "Save" button, are you referring to the button that appears on the top of the infopath form when displayed in Sharepoint, which I think is enabled in the "Open and Save Form options" when designing the form? If so, how can it be disabled by a rule – I’ve looked but must be missing something that is obvious. thanks, Dan"
In my experience, most "real" production forms end up having a specific button used to save the form. The default save function in InfoPath will prompt you for a file name and usually we want to generate that file name automatically. So, I mean to disable your custom submit button. HTH,
–Paul Galvin
Pardon my ignorance, but when you refer to the "Save" button, are you referring to the button that appears on the top of the infopath form when displayed in Sharepoint, which I think is enabled in the "Open and Save Form options" when designing the form? If so, how can it be disabled by a rule – I’ve looked but must be missing something that is obvious. thanks, Dan
What happens in the scenario where you want to collect signatures for approval/denial as your workflow runs? If you disable the save – no further editing allowed – so if I’m looking at this correctly you got to leave the form editable to collect signatures = no solution.