In the early 2000s, Microsoft launched InfoPath to help businesses automate forms and streamline the data collection process. As one of the co-inventors of the application, I hold four patents related to InfoPath and am intimately familiar with the product’s ins and outs. I continue to help many people who must still use InfoPath but thrive on helping people easily migrate off this sunsetted product.
This Microsoft Infopath & Sharepoint guide will cover:
Launched by Microsoft in the early 2000s, InfoPath is an application that enables the creation of user-designed form templates without coding. Form creators can use InfoPath to design and distribute forms and direct where to store the data from people who’ve completed the form. The forms can be published on a company intranet or on the internet for anyone inside or outside the company to access.
InfoPath forms can have functions like submitting expense reports or timesheets, gathering approvals for documents or projects, inventory management, submitting information about potential customers, or uploading files or photos. Form creators can include business logic and rules, as well as validate the content of form fields before submitting them. Forms can pull data from many sources before they display it. For example, if a user is identified, their address can be added to the form from a database and their employee information from SharePoint.
Different users can view a form in a variety of ways depending on their level of access, the time of day, data submitted by previous users, or other factors. Additionally, forms can also be designed to be viewed in a browser on smartphones or other mobile devices.
With InfoPath, you can store form templates in a centralized Sharepoint document library. SharePoint and SharePoint Services (other Microsoft applications) allow the templates to be stored on SharePoint and displayed in a web browser. There are a number of ways the two programs are integrated. The main ones are:
Prior to the current version (InfoPath 2013), there was InfoPath 2010, InfoPath 2007, and InfoPath 2003. Until 2015, InfoPath was part of Microsoft Office 365. At that time, the product was released as a stand-alone application (however, it still requires an Office 365 subscription). InfoPath is only available for use with Windows OS devices.
InfoPath consists of three main parts: Designer, Filler, and Forms Services. One part is for creating forms are created, and the other two are related to the function of filling out forms filled. Here’s a breakdown of the parts:
Microsoft announced in 2016 that it is discontinuing the application, making 2013 the final version. The client software will still be supported through July of 2026. That same year, Microsoft also announced an application called PowerApps, which is now their designated Microsoft Infopath replacement.
An InfoPath form template is an XML document that defines the layout and editing behavior, enforces rules to ensure data consistency, and provides the routing information that indicates where to store the data. The display information, connection information, and form information are all stored separately. This storage decision allows the appearance and the data storage data to be changed without affecting business logic in the form of the structure of the data captured.
A task form is a generic name for a form that allows a task to be completed. That task could be signing up for an email list; collecting data from customers, partners, vendors, or suppliers; or gathering insurance claim information.
An approval form template will create a workflow that allows a number of users to approve actions, documents, or the status of a project. Workflows can be affiliated with websites, such as a form that allows someone to submit feedback about their experience. Specific instructions can be found on Microsoft’s site.
One option for getting data that users entered into a form is to have it emailed. Form data sent via email can’t easily be compiled with other data, so use this if no other options are available.
Collecting data via email is accomplished by creating a submit data connection, then add the email address of where the form will be submitted. Detailed instructions can be found on Microsoft’s site.
Because of foundational differences in the way InfoPath and PowerApps manage data and business rules, there is no easy way to convert existing forms from InfoPath to PowerApps. All forms will have to be recreated in PowerApps. If an organization only has a few forms or only simple ones, the effort required is small, but for more complex forms it’s a tough slog. Microsoft has some information on their website, which is fairly generic.
PowerApps is missing some key functionality found in InfoPath. Some areas where PowerApps falls short include:
There are a number of ways to improve performance and the overall user experience when designing a form or template.
Performance Improvement Tips
User Experience Tips
Rules and Business Logic Tips:
There are many user forums for form creators to use when they have questions. Some of the most established are InfoPath Dev, started in 2003, and VisualSP, founded in 2005 by Asif Rehmani. Of course, Microsoft has numerous support pages; a web search for the topic in question is the most efficient way to find those pages.
The same Sharepoint Support sources can help answer questions about creating templates. Some sites have downloadable document templates, but those downloads will have to be customized for most uses; because creating them in InfoPath is easy, it might be less effort to start from scratch.
InfoPath themes change the appearance of the form without changing the layout or the function. Those who aren’t visually-oriented may find that themes will help forms look better. Themes are available on the Page Design tab in InfoPath Designer.
Behind the scenes, InfoPath uses an XML (Extensible Markup Language) paradigm. It’s not necessary to understand how XML and the related standards InfoPath uses work, but an explanation of what each does is below.
XML: The data outputted by an InfoPath form is formatted in XML. Many programs can read XML data, so the collected data is easy to migrate and share. XML allows complex and flexible data structures, which gives InfoPath forms the ability to gather complex and diverse data from users. Custom XML data tags can be used, allowing forms to collect any kind data desired. The form’s formatting information is separated from the data collected from users, so changing the look of the form is simple.
Document Object Model (DOM): Used to map where form elements appear when the form is displayed.
Extensible Stylesheet Language Transformation (XSLT): Information about how the form is displayed is stored in an XSLT file. So a form’s appearance can be changed without affecting the data or business logic. XSLT creates browser-ready forms.
XML Schemas: The data entered into a form is validated via schemas. For example, a schema can ensure that there are no letters in a numeric-only field, or that required fields are not blank. This ability allows a form creator to enforce business rules.
Extensible Hypertext Markup Language (XHTML): Formats any part of the form that requires rich text.
XML Path Language (XPath): Connects related form parts, such as a control to the field it affects, or a label to the thing it describes. XPath can also link related fields on the document so that when the form is submitted it can be processed in a particular order.
XML Signatures: Allows the form to collect digital signatures, if desired.
Advanced users can also use Microsoft.Office.InfoPath namespace components to create forms that incorporate business logic in code rather than via InfoPath components.
The data gathered in a form can be stored in a SharePoint list or form library, in a database, sent to a web service, or emailed to any valid address. Form data sent via email can’t easily be complied with other data, but form data in a database or on SharePoint can.
Data displayed on a form can come from SharePoint or a database, or by interfacing with web services.
InfoPath can communicate with web services via these common protocols:
InfoPath allows form creators to set permissions for forms and for form templates. Setting form permissions is a useful tool to ensure that only the right users can access it. Setting template permissions will guarantee that only authorized people can make updates to the template.
While InfoPath is a powerful tool, it falls short in some areas.
Since Microsoft is terminating support for the products, InfoPath’s future is bleak. While the app will continue to work for a few more years, like most orphan products, there won’t be much effort put into the program so improvements and upgrades will be unlikely. Therefore it makes sense to start looking at alternative options now, especially if a lot of forms need to be converted.
Alternatives to InfoPath exist. Microsoft is recommending PowerApps as mentioned earlier. Other options, each with its own strengths and weaknesses, include (but are not limited to):
|Where Your Data Is Stored|
|Customers store data (completely private)||no||no||no||yes||no||no||no|
|Vendors stores or sends your data through their cloud||yes||yes||yes||no||yes||yes||yes|
|Store data directly to customers data stores||no||no||no||yes||no||no||no|
|Support federated authentication||yes||no||no||yes||yes||no||no|
|HIPAA compliant||yes||yes||no||yes||no||yes||on demand|
|GDPR compliant||yes||no||no||yes||yes||yes||upon request|
|Live Data Connectors (native)|
|Query from Salesforce||no||no||no||yes||no||no||limited|
|Query from SharePoint libraries and lists||no||no||no||yes||no||no||limited|
|Query from Google Sheets||no||no||no||yes||no||no||yes|
|Query from SOAP web services||no||no||no||yes||no||no||limited|
|Query from REST web services||no||no||no||yes||no||no||limited|
|Submit to Salesforce||no||no||no||yes||no||via Zapier||limited|
|Submit to SharePoint libraries and lists||no||no||no||yes||no||no||limited|
|Submit to Google Sheets||no||no||no||yes||no||via Zapier||yes|
|Submit to SOAP web services||no||no||no||yes||no||via Zapier||no|
|Submit to REST web services||no||no||no||yes||no||via Zapier||no|
|Infopath Integration and Migration|
|Works with Microsoft InfoPath||no||no||no||yes||no||no||no|
|Has built in Infopath migration tools||no||no||no||yes||no||no||no|
There are many options to replace InfoPath for creating forms. Formotus is one solution that provides a seamless InfoPath migration tool that enables you to turn your existing InfoPath form into rich mobile business apps that run on any iOS, Android or Windows 10 device. Watch this video below to see how quick and easy it is.
Formotus keeps the document-centricity of InfoPath, unlike many other forms services that store the data directly in a database, losing the relationship to the business logic and form layout. One of Formotus’ easy-to-use tools converts most existing InfoPath into forms that will preserve the same layout, business logic, and data connections as the InfoPath form. The resulting form uses responsive design so it will look good on both mobile devices and computers. Click here to start a free trial of Formotus team plan with Infopath support.
What are some common InfoPath controls and elements?
Text Box: A generic term for control where users can enter text.
Rich Text Box: Allows the entered text to be formatted (bold, colors, embedded tables, etc.).
Date Picker: The user can choose a date from a calendar so the format will be correct.
Checkbox: The user can select or ignore a single item, such as “Add me to your email list.”
List Box: Allows the user to select one option from a list. The list appears in a window that may be scrollable (depending on the length of the list versus the size of the window). Generally, a list box is used if the list has eight or more items.
Multiple-Selection List Box: Similar to a list box, but it allows the user to select multiple items.
Drop-Down List Box: Allows a long list of items to be displayed without taking up much screen space.
Plain List, Bulleted List, and Numbered List: Formatting options for an item displayed in a list.
Option Button: Also know as a Radio button, it allows users to assign a variable value to an item such as providing their opinion on an interaction (e.g. 1-7), or to select a single item from a list. An Options button is generally used if the list has seven or fewer items.
Section: The generic name for a group of related controls.
Optional Section: A section that isn’t required to be filled out for the form to be submitted.
Repeating Section: Allows users to add as many items as needed, such as a list of dependents on an insurance application, or a list of past positions on a job application.
Repeating Table: Similar to a repeating section, but in a tabular format, useful for entering outlays on an expense report, for example.
File Attachment: Allows users to upload a file to the form.
Picture Control: Similar to the file attachment, but for pictures.
Hyperlink: A link to an external website or to another form.
Expression Box: Also known as Calculated Value, an Expression box is used for showing the results of calculations that need to appear as text. For example, when a form displays information about items selected, an expression box can be used to display the total price or the total number of items. The result of the calculation isn’t saved in the form, but refreshed dynamically in the form layout.
Combo Box: A text box attached to a list box that allows users to select from a list or enter their own option if their choice isn’t on the list.
Choice Group: This element controls mutually exclusive sections on a form. For example, if a user needs to pick the option of ordering a Mac or Windows computer.
Choice Section: The option picked in the choice group will drive what displays in the choice section. Continuing with the example above, if Windows is chosen, then the choice section will show the available computers that run that OS.
Person/Group Picker: Also know as a Contact Selector, a picker allows a user to enter or choose a person or group from a list residing on a SharePoint site; the entry will be validated by the form.
External Item Picker: An element that allows the form to pull data from an external data source. If the form is stored on a SharePoint site, and also retrieves data from a database, then the database is considered an external data source.
What’s the difference for a user viewing a form in an InfoPath Filler vs a web browser?
The experiences are similar. The only difference is that in a browser window, toolbars appear across the top and bottom of the form. The toolbars display options for saving, closing, printing, and updating the form that is shown in menus in the Filler app. Brower based forms have more limited functionality than InfoPath Filler forms which run in the InfoPath client application.
What’s the last version of SharePoint that supports InfoPath?
Microsoft SharePoint 2010.
What if I can’t post a template on a SharePoint or other server myself?
Depending on the company policy and security needs, some form creators must publish the template to a shared location on their corporate network, then contact a server farm administrator for assistance making it available on the server.
Administrator approval is required in the following scenarios:
If administrator approval is required, the Publishing Wizard walks through preparing the template for hand-off to an administrator.
"G Suite" is the new name for Google for Work Google, as anticipated, unveiled new…
Google Forms provides an easy way to create and send a basic business form in…
Forms are one of—maybe the—most used ways of interacting the web. That’s true for both…
InfoPath templates can be used for functions as simple as adding email addresses to a…
FORMOTUS WORKFLOWS USING GOOGLE SHEET OR SHAREPOINT Formotus has added Formotus workflows to the Formotus…
The Formotus team is excited to announce that Formotus mobile forms now support French. Our…