Microsoft Office 2003 Editions: Overview of Developer TechnologiesSeptember 2004
You can design InfoPath forms based on custom-defined XML schema, an XML data file, an industry standard Web service or ADO record sets from Access or SQL Server. InfoPath automatically applies data-type and structural validation based on whatever schema information it has. You can also begin with a blank form and insert controls as needed. In this case, InfoPath automatically creates a schema in the background that you can modify later, if necessary. InfoPath does not have its own file format. Data entered in InfoPath forms is saved as XML in the schema that was used to create the form.
InfoPath provides an easy-to-use WYSIWYG design mode that lets form developers design or modify form templates without writing any code. InfoPath supports a rich set of controls and layout capabilities and provides default suggestions based on the underlying schema data types.
You can customize InfoPath form solutions programmatically using the Microsoft Office InfoPath 2003 Toolkit for Microsoft Visual Studio .NET. The toolkit provides language support for writing managed code including C, Microsoft Visual C#®, Microsoft Visual C++® and Visual Basic .NET, or using the Microsoft Script Editor with the Microsoft JScript® and Microsoft Visual Basic Script (VBScript) languages. InfoPath includes a robust object model that you can use to interact with the application, its forms, and the data that the forms contain. InfoPath also implements a number of events that you can use to respond to an application state, to user-initiated action or to changes in a form's underlying XML document.
A complete InfoPath solution consist of a number of files, including XML schemas, XML templates and files for view, presentation, script, and custom business logic. All these files are packed into a CAB file with an .xsn extension. One of the files is an XML file called the form definition file that serves as a manifest to describe how to construct, use, and deploy the form. This manifest is automatically created by InfoPath when you design a form, but you can also modify it manually for additional control over the solution behavior.
An InfoPath form solution is tied to a particular XML schema and you can use it to open any XML document that complies with that schema. Saved XML documents include a PI (XML processing instruction) that identifies the corresponding template solution so that you can move the document around and you can still open it with that same form template.
For processing the captured information, InfoPath interoperates with any server that is accessible through Web services, including those using ADO.NET. InfoPath also has built-in support for Access and SQL Server databases using ADO and for submitting XML data over HTTP. In addition to built-in features, you can write custom code to retrieve and submit XML data. Additionally, you can use InfoPath with form libraries in Microsoft Windows SharePoint Services for enhanced workgroup collaboration, or just save an InfoPath XML file to the local computer.
The native support in InfoPath for generic XML documents makes it easy for companies to integrate InfoPath forms into workflow processes. Microsoft BizTalk Server is a natural choice for integration because both use XML as their basis. You can post data to BizTalk using built-in support for saving XML data through HTTP, Web services, and e-mail. You can likewise easily retrieve data from BizTalk in a number of ways. InfoPath includes support for using BizTalk Server 2004 - Human Workflow Services in the InfoPath design environment to encode workflow rules based on user roles.
You can deploy InfoPath solutions as "sandboxed" solutions or trusted solutions. "Sandboxed" InfoPath solutions don’t have access to any resources of the local computer since they follow the same security model as Web pages in Internet Explorer. They are identified by URL and saved locally in an InfoPath cache. If the sandboxed solution needed for a form is not installed, it is
© 2006 Microsoft Corporation. All rights reserved. Page 23 By using or providing feedback on these materials, you agree to the attached license agreement.
To comment on this paper or request more documentation on these developer features, contact us at . We look forward to hearing from you.