Microsoft InfoPath

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

On January 31, 2014, Microsoft announced that InfoPath was discontinued.

Features
InfoPath as a Microsoft Office product features a different usage-scenario from the other Office applications, such as Word and Excel. In order to use InfoPath to fill in a form, a designer must develop an InfoPath template first. According to Jean Paoli, one 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.

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.
 * 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.

Server-side components
Forms Server 2007 is 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.
 * SharePoint Online Plan 2
 * Office 365 E3/A3/G3 or higher
 * SharePoint Server 2013 Enterprise CAL