When we think of approval processes in the context of SharePoint, we immediately think of the Content Approval functionality and workflows. But these aren’t the only options that are available to us. What most people don’t realize is that we can build an approval process directly into an e-mail-enabled InfoPath form. In this article, we will take a look at this new approach.

But first, let’s have a quick review of the other options. By using Content Approval, users get a simple solution that allows them to approve list items. This is a very basic solution that is not task-based and does not track status or errors, or process log entries.

Moving up in the chain of options, we get to workflows. Whether they are from the out-of-the-box Approval Workflow template, SharePoint Designer 2010 workflows or Visual Studio 2010 workflows, users and developers can create solutions to provide a wide variety of process components. These solutions are typically task-based, meaning that a user notified of an approval task would have to navigate to the tasks list where they could view the task and related item. Then they would have to open the item in a new window, review the material, then go back to the task and perform the required step to complete the task.

Although workflows provide a very thorough solution and can log various process messages, at the end of the day, they still require users to navigate to several places to approve content. By leveraging an InfoPath approval process, we can eliminate this need for tasks, while still being able to track and record status and process.

When we create InfoPath Web-enabled forms, we have several features available to us: Views, Rules, Data Connections, Submit Connections, and Form Formatting. These features, combined with some SharePoint Designer 2010 workflow actions, allow us to create an InfoPath form solution that has an approval process built-in.

The way that it works is that a view is created for each approval step. During the process when users open the form, the view of the content changes so that only the necessary information is available to them. If you are a submitting user, you will only see the fields that you are able to fill out and submit, but if you are an approver, you can view all the information as well as the options for approving/rejecting the submission.

Using hidden fields in the form, we can track the process/view that is being used, as well as capture all the approval/rejection information: date, user, comments, etc. When we add the e-mailing and permissions control actions of SharePoint 2010, we can notify users throughout the approval process as well as control which users can access or edit the form for the given status.

With the smooth integration that exists between SharePoint 2010 and InfoPath 2010, we can easily submit or receive information between these two applications. In the end, what we get is a solution that is a little easier for users to work with. There is a bit more work up front, but if we can improve the user experience, it is worth it in the end.

For a complete look at this solution, click here. Enjoy!

Chris Caravajal is a consultant with SharePoint911.