I am a total newbie on SharePoint, workflows, InfoPath technology... I had never heard of any of it until about two weeks ago.

Our environment is all 2007 - SharePoint, InfoPath, everything.

I have published an InfoPath form on a SharePoint site created via SPD, and have bound that form to a workflow, also created via SPD. So far so good.

The form in question goes through a series of phases: 1 - Gather requirements 2 - Initial review 3 - Work Effort Analysis 4 - CCB review

Phases 1 and 3 especially can take a long time (days), so the user must be able to save the form as often as necessary during those phases, without the workflow doing anything with it.

But the WF needs to know when the user is done with any given step.

The same form is used during all phases... different people add different content at different times; all of it going into the same form instance.

I've read many posts here about inserting a hidden field in the form to track when the user is done via a Submit button vs just saving the form. OK in concept, but so far I've seen no explanation of the details of making this work.

Consider this scenario:

User makes updates to the form (say adds requirements) and saves the form. Then the user decides they are done, and selects the Submit button. So the button rules can set the hidden status appropriately, but now the form has changed again and must be saved again, ideally without further user action, so the WF can detect the change in status and go to the next step.

What is the best known method for handling this situation? It seems like I need to be able to do the following in the Submit button handler or rules:

a) Update the status field to the appropriate next status, for use by the WF. b) Save the updated form, transparently to the user. Not create a new one; save the current one, without changing the originator.

I can update the status field OK, but I'm stuck on step b). How to save - not submit as in create new - a form programmatically.

As hard as it has been to find the answer to this, I wonder if I'm off on the wrong track all together?


Isn't it easier to just add a final "submit" step, have a checkbox on it that's bound to a site column (boolean). When the form is saved, just have the wf check if the field is checked (true).

  • Maybe so, but for two points: 1 - There are multiple phases or changes to the status... it is not a simple true/false. But an integer counting would work also. 2 - I have not yet found how to do that... any resources would be most appreciated. – Sam Jun 21 '11 at 15:47
  • If a SPD Wf, you can write the current value of a field in the current item (i.e. the form's list item) to a variable. Perform an action based on that. For the different phases, as long as no actually jumps to the last step and sets the checkbox to true, everyone can just keep adding data. – Colin Jun 21 '11 at 16:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.