Paul Galvin's (old) SharePoint space [SharePoint

Just another WordPress.com site

Quick and Simple: Make an InfoPath Form Read Only (InfoPath Forms Services in MOSS)

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>

Subscribe to my blog.

Advertisements

5 responses to “Quick and Simple: Make an InfoPath Form Read Only (InfoPath Forms Services in MOSS)

  1. Joe April 30, 2008 at 5:44 am

    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.

  2. Paul April 30, 2008 at 9:09 am

    eugalatha,
     
    Good point and the approach I describe above would have to be modified.  If I had to conditionally allow certain fields to be updated, then we\’re probably back to multiple views, or a lot of conditional enable/disable logic.  The fundamental idea would be the same — use flags to manage which bits of the form are enabled and have workflow set those flags as needed. 

  3. Sanjeev April 30, 2008 at 11:39 am

    Paul,
     
    Can you use conditional formatting in an InfoPath form? I have a dataview form in sharepoint which is read-only using the conditional formatting to make it \’appear\’ greyed out to the user – depending on their name. I just don\’t know if you can do that in the Infopath form?
     
    Regards
     
    ThiNg

  4. Unknown March 12, 2009 at 10:01 am

    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

  5. Paul March 18, 2009 at 10:24 am

    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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: