Microsoft InfoPath

Microsoft InfoPath is a discontinued software application for designing, distributing, filling and submitting electronic forms containing structured data. Microsoft initially released InfoPath as part of the Microsoft Office 2003 family. The product features a WYSIWYG form designer in which the various controls (e.g. text box, radio button, checkbox) are bound to data, represented separately as a hierarchical tree view of folders and data fields.

InfoPath 2013 became available for the first time as a freestanding download on September 1, 2015, when Microsoft made it available in its Download Center. However, unlike previous versions of InfoPath, the standalone version of InfoPath 2013 requires an active ProPlus subscription to Office 365. The current version of InfoPath 2013 (15.0.4733.1000) is designed to be an optional component to the Office suite of applications for users that need it. Its indirect successor is Microsoft Forms, which is free to anyone with a Microsoft Account.

Features
In order to use InfoPath to fill in a form, a designer must develop an InfoPath template first. According to Jean Paoli and John Godel, two of its developers, a key architectural design decision was "to adhere to the XML paradigm of separating the data in a document from the formatting." A patent filed in 2000 by Adriana Neagu and Jean Paoli describes the technology as "authoring XML using DHTML views and XSLT."

All the data stored in InfoPath forms are stored in an XML format, which is referred to as the "data source". The form template must have one primary data source for submitting data and can have multiple secondary data sources for retrieving data into the form. Secondary data sources can be built into the form or they can be accessed through an external data connection to SharePoint or a Web service. The files of the InfoPath form template are saved as an archive in the cabinet file format with the file name extension.

InfoPath provides several controls (e.g. textbox, radio button, checkbox) to present data in the data source to end-users. For data tables and secondary data sources, "Repeating Table" and other repeating controls are introduced. Template parts and ActiveX controls can also be added as custom controls in the designer.

For each of these controls, actions (called "rules") can be bound in. Rules come in three types: formatting rules such as hiding or coloring a control, validation rules (e.g. allow only a nine-digit number), and action rules such as setting a field's value based on other fields. Rules can be triggered either by a user action such as clicking a button or by the evaluation of various conditions such as field values. For example, a conditional rule could be: "Set field 'Total' to 100 when field 'field1' is not blank".

Paradigm

 * Rules apply specific actions when triggered by button clicks or changing values in the form. They can change the values of fields in the data source, submit to and query databases, display messages, open and close forms, and switch to different views of the form.
 * Data validation tests the validity of input into fields by comparing the input to patterns, checking for the correct data type (such as a string or an integer), and in other customizable ways.
 * Conditional formatting can be used to change the appearance or visibility of objects based on values in the form.
 * InfoPath has many different ActiveX Controls, all of which have a value bound to a field in the form's data source. Common controls include list boxes, radio buttons, text boxes, buttons, and check boxes. Info Path also uses controls such as Calculated Values, which display the result of xPath expressions, and sections, which are containers for other controls. InfoPath also includes repeating fields and sections, which can store many different values.
 * XPath expressions and functions can be used to calculate values by applying functions to the value of fields in the form, such as " " (the concatenation of the sum of two fields, the string "#;", and the value of another field). XPath functions for manipulation of strings, simple mathematical operations, and many other operations are included in InfoPath. In addition, data can be filtered (select individual values from a repeating field or database).
 * InfoPath supports connections to external datasources. SQL, Microsoft Access, and SharePoint databases can be connected to and submitted in the form.
 * JScript, Visual Basic, C#, and other languages can be used to extend InfoPath's capabilities by adding custom HTML taskpanes, iterating through data, using Active Directory, and generally accomplishing tasks that are impossible in the InfoPath design environment. The language support is facilitated by Visual Studio, although a specific version of Visual Studio is required to use with each version of InfoPath.
 * SharePoint integration (see Integration with SharePoint).
 * User roles can customize a user's experience by changing views or using conditional formatting based on the identity of the user.
 * InfoPath's formatting capabilities and user interface are similar to Microsoft Word 2003 and 2010, depending on version.

Usage
InfoPath is used to create forms to capture information and save the contents as a file on a PC or on a web server when hosted on SharePoint. InfoPath can be used to access and display data from divergent sources (web services, XML, databases, other forms) and have rich interactive behaviors based on Rules, Conditions and Actions. An InfoPath form requires the client to have InfoPath Filler or InfoPath Designer installed, or by viewing the form in a browser when hosted on SharePoint. InfoPath is mostly used in business rather than by individuals, as it is a collaboration tool used to gather data from multiple individuals in a structured method, and to deploy requires either a SharePoint host and/or individual licensed Filler copies. InfoPath forms can be viewed on mobile devices if viewed from a browser (hosted on SharePoint) or by using a third-party product.

To run as a Web browser form, the file needs to be uploaded to a server running InfoPath Forms Services. The advantage of this is the client doesn't need InfoPath, just a Web browser. The form can then be set up to be e-mailed when completed or its fields can be added directly to a SharePoint list.

Integration with SharePoint
One common use of InfoPath is to integrate it with Microsoft SharePoint technology. InfoPath forms can submit to SharePoint lists and libraries, and submitted instances can be opened from SharePoint using InfoPath Filler or third-party products. Alternatively InfoPath Forms Services enables a browser-enabled InfoPath form to be hosted on a SharePoint installation and rendered as an HTML page with client-side script and post back behaviors similar to an ASP.NET page.

In SharePoint, a "Form Library" is a document library having an InfoPath template as the designated document type. InfoPath fields can be promoted when publishing to SharePoint so they can be read and displayed as a "Column" data in a library View. As with other SharePoint documents, InfoPath forms can have workflows associated with them that can access the promoted fields.

Support
On January 31, 2014, Microsoft announced that InfoPath was discontinued and will be replaced by a more cross-platform solution called PowerApps, released in late 2016. On March 1, 2016, Microsoft announced that the InfoPath 2013 client application will be supported through July 2026. Microsoft specifies that "InfoPath Forms Services is included in the on-premises release of SharePoint Server 2016, as well as being fully supported in Office 365 until further notice." Microsoft MVP Roger Haueter states that InfoPath is still expected to be supported in SharePoint Server 2019 On-Premises.

Server-side components
Forms Server 2007 is a discontinued product that converts InfoPath client forms into Ajax HTML forms that can be accessed and filled out using any browser, including mobile phone browsers. Forms Server 2007 supports using a database or other data source as the back-end for the form. It requires Microsoft Windows SharePoint Services 3.0 and the .NET Framework version 2.0.

InfoPath Forms Services (or Office Forms Services) takes over the features of Form Server 2007, allowing InfoPath forms to be hosted in a SharePoint web site and served via web browser. Originally a component of Microsoft Office SharePoint Server 2007 Enterprise edition, in 2013, it was made available with: On January 31, 2014, Microsoft said they are discontinuing InfoPath Forms Services. Later in an undated update to the original post Microsoft changed the plan and announced that InfoPath Forms Services would be included in SharePoint 2016 after all.
 * SharePoint Online Plan 2
 * Office 365 E3/A3/G3 or higher
 * SharePoint Server 2013 Enterprise CAL

InfoPath Forms Services is available to Office 365 Education subscribers (Office 365 A1, Office 365 A3 and Office 365 A5 plans).