Microsoft Office Infopath 2007
Microsoft Office Infopath 2007
Like most people, you probably fill out business forms on a regular basis, including expense reports, time cards, surveys, or insurance forms. You may even be responsible for designing, distributing, and maintaining these forms in your organization. You can use Microsoft Office InfoPath 2007, which is part of the 2007 Microsoft Office system, to both design and fill out electronic forms.
What is InfoPath?
In InfoPath, you can do the following:
Design form templates You can design and publish interactive, user-friendly form templates in design mode. In addition to inserting standard form controls, such as text boxes or list boxes, on a form template, you can insert controls that offer users the flexibility to add, remove, replace, or hide sections of a form. The form templates that you design can range from simple form templates for collecting data from your immediate team to complex form templates that are part of a much larger business process. InfoPath form templates can be used on their own, or you can design them to work with existing databases or Web services. Form templates can be published to and accessed from a common location on a company network, such as a shared folder, a Web server, or a library located on a Microsoft Windows SharePoint Services site. In addition, if you have access to a server running InfoPath Forms Services, you can design a single form template that can be filled out either in InfoPath, in a Web browser, or on a mobile device. Fill out forms Users can fill out forms that are based on the form templates that are created in design mode. When filling out a form in InfoPath, users can use familiar, document-like features. For example, they can check spelling in their form or insert formatted text and graphics into certain fields. Depending on the design of the form template, users may also be able to merge the data from multiple forms into a single form or export the data to other programs. If a form template is browser-enabled, users who don't have InfoPath installed on their computer can fill out the form in a Web browser or on a mobile device instead.
InfoPath is based on Extensible Markup Language (XML). When you design a form template, InfoPath creates an .xsn file, which is a cabinet (.cab) file that contains the files necessary for the form to function, such as XML Schema (XSD) and XSL Transformation (XSLT) files. When a user fills out a form in InfoPath, the data in that form is saved or submitted as industrystandard XML. However, you don't have to know anything about XML to design a form template or fill out a form. The point is that XML can make it easier for your organization to repurpose the data that it collects by using forms. For example, a single InfoPath form template for trip reports can be used to provide XML data to a customer relationship management system, a petty cash system, and a travel planning system.
You can use InfoPath to collect business data from the people whom you work with, including your colleagues, partners, suppliers, and customers. For example, you can use InfoPath to create a form template for expense reports for the people in your organization.
InfoPath form templates can be straightforward, simple form templates that are used by several people in a small workgroup. For example, a 10-person sales team can use an InfoPath form to informally collect and share information about sales calls. The data in those forms can be merged into a single summary report that is sent to management each month.
Alternatively, organizations can design highly sophisticated form templates that are connected to existing corporate databases or integrated into existing business systems. For example, the developers in your information technology (IT) department can design an InfoPath form template to manage the expense reporting process for your organization. The form template can include views and business logic features that enable different categories of users to submit the expense report, review it, approve it, and reimburse the submitter.
Wider access to forms If you use InfoPath and a server running InfoPath Forms Services, you can design browsercompatible form templates in InfoPath and enable them for use on internal and external Web sites. This lets you share business forms with a variety of users, including employees, customers, suppliers, and partners. Users aren't required to have InfoPath installed on their computers to fill out a form, nor are they required to download anything extra from the
Seite 2
Web. All users need is access to a browser, such as Windows Internet Explorer, Apple Safari, or Mozilla Firefox. If users do have InfoPath installed on their computers, they can display and fill out the form in InfoPath rather than a browser. You can even design your form template so that users can open it and fill it out by using a mobile device.
Office system integration InfoPath works with a number of other programs and servers in the Microsoft Office system, including Microsoft Office Outlook, Microsoft Office Excel, and Microsoft Office Access. For example, you can design and fill out InfoPath forms in e-mail messages, export form data to worksheets, submit form data to a database, or query data from a SharePoint list. In addition, developers can embed InfoPath forms without menus, toolbars, or other aspects of the user interface into custom applications. For more information, see the How InfoPath works with other programs and technologies section later in this article.
Reusable data The data that users enter in an InfoPath form doesn't have to remain locked inside that form forever; it can be reformatted or reused in a variety of ways. This flexibility enables the developers in your organization to integrate the form data into existing business processes. For example, the data collected in sales reports forms can be used to update your company's Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) systems. This allows people throughout the company to access the data when and where they need it, so that they can make better-informed decisions. With more timely updates on sales numbers, it is easier for other groups, such as operations and finance, to make accurate forecasts of production and costs.
Consistent, accurate data InfoPath includes a number of features that help users avoid data-entry errors and fill out forms more quickly. For example, you can use formulas to automatically calculate mathematical values for users, use conditional formatting to draw the user's attention to data, or enable the spelling checker so that users can check for spelling errors before submitting their forms. In addition, when users fill out a form, the data that they enter can be checked for data validation errors. If your form template is connected to a database or Web service, users won't be able to submit data until they correct these errors. This helps you ensure that the data that you collect is accurate and error-free, and that it conforms to whatever standards you specify. The following illustration shows how a data validation error appears to the person who is filling out the form.
Low overhead Unlike paper forms, which have to be reprinted when a change occurs, InfoPath form templates can easily be modified and republished. In addition, InfoPath automatically detects when a form template has been updated so that users always have the latest version.
Seite 3
Offline support InfoPath forms don't have to be filled out while a user is connected to a network. Users can save forms to their computer, work on them offline, and then submit them to the corporate network when they are reconnected. This is especially useful for people who have intermittent or limited access to network resources, such as employees who travel frequently.
Fewer forms Instead of distributing and maintaining multiple paper forms for the same business process, you can create a single form template in InfoPath that includes multiple views. For example, in a form template for expense reports, you can create one view for employees who enter expenses, a second view for managers who approve expenses, and a third view for employees who process reimbursements. By default, users can switch views by clicking commands on the View menu. You can also create rules that automatically switch views when users open the form, submit the form, or click a button on the form.
Flexible controls In addition to standard controls, such as text boxes and list boxes, InfoPath includes a number of controls such as repeating tables, choice groups, and optional sections. These types of controls let you design a flexible form template that accommodates your users. For example, in a form template for expense reports, you can use a repeating table to allow users to enter only as many expense items as they need.
You can also create template parts, which are portions of a form template that can be saved and reused in multiple form templates. A typical template part consists of controls and a data source and may also include features such as data connections, data validation, and rules. Using template parts can save you time and help ensure that the form templates in your organization are consistent in tone, structure, and behavior.
Tablet PC support If users have a Tablet PC, they can use a tablet pen to write directly in fields on a form. InfoPath then converts that ink into text. You can also provide Tablet PC users with a dedicated field on the form where they can write or draw. This can be useful when you want users to be able to sketch something that is fairly complicated or technical, such as a mathematical formula or a diagram of a particular business process. In this case, InfoPath saves the ink along with the form rather than converting it to text.
To get the most out of InfoPath, you will likely want to use it with other programs, servers, and technologies, including the ones listed in the following table.
Program or technology
You can design a browser-compatible form template and publish it to a server that is running InfoPath Forms Services. Users can then fill out forms that are based on your form template in a Web browser or on a mobile device. In addition, InfoPath Forms Services provides a central location to store and manage form templates for your organization. Find links to more information about InfoPath Forms Services in the See Also section.
Users can choose to export data from one or more InfoPath forms into a new Excel worksheet. In addition, some organizations use Excel workbooks as forms to collect data. These workbooks usually include blank cells for users to enter data. You can convert an Excel workbook to an InfoPath form template by using the Import Wizard in InfoPath.
You can distribute form templates to users by publishing the form template to a list of e-mail message recipients. Similarly, you can design a form template so that users can submit completed forms as an attachment in an e-mail message. In Office Outlook 2007, users can additionally open, fill out, and submit InfoPath forms as e-mail messages. They can also reply to or forward the form in an e-mail message, just as they can with any other e-mail message. In their Inbox, users can store collections of related forms in a dedicated InfoPath Forms folder. By displaying data from each form in columns in the folder, users can quickly group, filter, and sort the data from multiple forms.
You can connect your form template to an existing Access database. Users can then query or submit data to that database. Similarly, you can populate list boxes with values from the database or bind controls to the fields and groups associated with the database. In Office Access 2007, you can additionally create an InfoPath form template based on an Access database and then publish the form template to a list of recipients as an e-mail message.
Although you can use Word to create a document that looks and feels like a form, Word works best as a wordprocessing program, not a form-designing program. Conversely, InfoPath was created specifically for designing and filling out electronic forms. If you want to convert existing Word documents into InfoPath form templates, you can use the Import Wizard in InfoPath to do so.
InfoPath works with SQL Server databases in any of the following formats: Microsoft SQL Server 2000 through Microsoft SQL Server 2005. You can design a form template that is connected to a SQL Server database. Users can then use the form to query or submit data to the database. Similarly, you can populate list boxes with values from the database or bind controls to the fields and groups associated with the database.
Seite 5
You can publish form templates directly to a library on a server that is running Windows SharePoint Services. This enables related forms to be stored in a single, convenient location. For example, a sales team can use a SharePoint site as a place to fill out, save, and view data from sales report forms. In the library, users can fill out forms that are based on your form template, export the data from completed forms to Excel, or merge the data from several forms into one form. You can also set up a data connection in your form template that receives data from a SharePoint list or library or submits data to a library. You can additionally publish a form template as a site content type on a server running Windows SharePoint Services 3.0. This enables you to assign multiple form templates to a single library or assign a single form template to multiple libraries across a site collection.
Office SharePoint Server 2007 is an integrated suite of server applications that extends the core functionality of Microsoft Windows SharePoint Services. You can publish form templates directly to a library on Office SharePoint Server 2007 and then enable them for use on the Web. In addition, you can take advantage of the following features:
Data connection libraries If multiple form templates will use the same or similar data connections, you can store the settings for the data connection in a data connection file in a data connection library on an Office SharePoint Server 2007 site. When a user opens a form that connects to a data connection file, InfoPath uses the settings in that file to connect to the external data source. In this way, multiple form templates can use the same data connection file, so there is no need to create the same data connection from scratch for each form template. Moreover, if the location or connection settings for an external data source change, you need to update only the data connection file, not each form template. Workflows If you use InfoPath in conjunction with Office SharePoint Server 2007, you can participate in server-based document workflows directly within InfoPath. You can start a workflow on a form template, track the status of a workflow in progress, or complete a workflow task. Office SharePoint Server 2007 includes several predefined workflows that are designed to manage common business processes, such as document approval, document review, or signature collection. Document Information Panels In many Microsoft Office system programs, you can update properties for a server document in a Document Information Panel, which appears as a set of editable fields at the top of a document. For example, in a Microsoft Office Word 2007 document, you might be required to edit properties for author name, date of creation, and document type. This ultimately makes it easier for you to find what you're looking for on the server. For example, you can quickly find all press releases where the customer property matches the name of a particular customer. You can use InfoPath to create or edit a custom Document Information Panel for use with a site or list content type. This enables you to control the look and feel of the Document Information Panel or use InfoPath features, such as data validation and conditional formatting, to customize the behavior of the form fields in the panel.
You don't need programming expertise to design an effective form template. However, it is possible to use Microsoft JScript or Microsoft Visual Basic Scripting Edition (VBScript) in your form template by accessing the Microsoft Script Editor (MSE) from design mode.
If you know how to write managed code, you can access VSTA from design mode in order to create, edit, and debug Microsoft Visual Basic or Microsoft Visual C# code.
You can integrate InfoPath design-mode features into the Microsoft Visual Studio 2005 development environment by downloading and installing Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System on your computer. You can then open Visual Studio 2005, create an InfoPath form template project, and use design-mode features to design your form template. For information on downloading Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System, see the InfoPath Developer Portal on the Microsoft Developer Network (MSDN) Web site.
Seite 6
Web services
You can connect your form template to a Web service in order to exchange XML data with other programs or systems. For example, you can use a Web service to receive data from or submit data to an Oracle database, which is not directly supported by InfoPath. You can also populate list boxes with values that come from the Web service or bind controls to the fields and groups associated with the Web service.
XML Schemas
To help ensure that the data collected in forms is accurate and consistent, you can base your form template's design on an XML Schema (.xsd) that is already being used by your organization. For example, if your organization uses a specific .xsd file for expense reports, you can base the design of a form template for expense reports on that .xsd file. If you don't have an existing schema, InfoPath builds one for you when you add controls to your form template.
You can use Microsoft Office InfoPath 2007 to both design and fill out electronic business forms. Office InfoPath 2007provides better integration with other 2007 Microsoft Office system programs and servers, which helps improve the way that you collect, organize, and manage data.
Fill out and submit data In Office Outlook 2007, users can open, fill out, and submit InfoPath forms that were sent to them as e-mail messages. They can also reply to or forward the forms, just as they can with any other e-mail messages. Store data in folders In Office Outlook 2007, you can use a new type of folder, called an InfoPath Forms folder, to store collections of related forms. For example, if you publish a expense report form template to a list of e-mail recipients, you can store the completed expense reports in an InfoPath Forms folder in your Inbox. You can also
Seite 7
choose to show the data from each form in columns in that folder. This allows you to quickly group, filter, and sort data from multiple forms. For example, in an InfoPath Forms folder for expense reports, you can sort by the amount of total expenses.
Merge data You can consolidate the data from many e-mail forms into one form. For example, if you collect status report forms from your team by using Office Outlook 2007, you can merge the data from those forms into a single summary form for your manager. Export data If you want to perform a detailed analysis of form data, you can export it from your InfoPath Forms folder in Office Outlook 2007 to Microsoft Office Excel 2007. In the workbook, you can analyze the data, create charts or graphs, or save or export the mapped data as standard XML so that other users or systems can process it.
For example, imagine that you are designing an expense report in InfoPath. Your expectation is that most users who fill out the expense report form will have InfoPath installed on their computers. However, some users, such as employees who are
Seite 8
travelling for business, may not have access to computers with InfoPath installed on them. To accommodate both sets of users, you can design the expense report as a browser-compatible form template and publish it to a server running InfoPath Forms Services. Users can then fill out the expense report form in a browser, if necessary.
InfoPath Forms Services also provides a central location to store and manage form templates for your organization.
Seite 9
Seite 10
Form developers can now embed the InfoPath environment for filling out forms in a custom Windows application or on a Web (.aspx) page. This feature allows developers to integrate InfoPath form templates into existing business applications or create custom applications that include embedded InfoPath form templates. For example, an insurance company might embed controls and other form template functionality inside a custom application for processing insurance claims.
In addition, you can download importers and exporters from third-party companies and individuals who list services on the Microsoft Office Marketplace Web site.
In InfoPath 2003, users could export their completed form to an Excel worksheet or Single File Web Page (MHTML) (Single File Web Page (MHTML): An HTML document saved in MHTML format, which integrates inline graphics, applets, linked documents, and other supporting items referenced in the document.) file. Office InfoPath 2007 now supports exporting files to the following formats:
Portable Document Format (PDF) PDF is a fixed-layout electronic file format that preserves document formatting and enables file sharing. The PDF format ensures that when the file is viewed online or printed, it retains exactly the
Seite 11
format that you intended, and that data in the file cannot be easily copied or changed. The PDF format is also useful for documents that will be reproduced by using commercial printing methods. XML Paper Specification (XPS) XPS is an electronic file format that preserves document formatting and enables file sharing. The XPS format ensures that when the file is viewed online or printed, it retains exactly the format that you intended, and that data in the file cannot be easily copied or changed.
You can save as a PDF or XPS file from a 2007 Microsoft Office system program only after you install an add-in. For more information, see Enable support for other file formats, such as PDF and XPS.
Read-only views Create a read-only view when users need to view the data in a form but don't need or want to manipulate it. Read-only views can provide a fast way to create reporting and other types of data that you don't want users to change. Printed views In the new Print Multiple Views dialog box, you can specify exactly which views can be printed for your users, as well as the order in which those views are printed. Targeted views When designing browser-compatible form templates, you can create different views for the different environments where users will be filling out the form. For example, you can create one view for users who will fill out your form in InfoPath and a second view for users who will fill out your form in a browser. You can include features and controls in the InfoPath-only view that you couldn't otherwise use in a browser-compatible form template.
Combo box control A control that combines an edit control with a list box. This allows users to type an entry or choose one from a list.
Multiple-selection list box A control that allows users to select more than one item in a list of check boxes.
Seite 12
Horizontal region A control that enables you to place two areas side-by-side on your form template. When forms based on your form template are resized, the horizontal region grows or shrinks to fill the available space. Horizontal repeating table A control that enables users to add as many columns as needed when filling out a form.
Enhancements to existing controls In addition to providing more controls, Office InfoPath 2007 improves the way that you work with existing controls. Among other things, you can specify auto-advance options for text boxes, allow linked images in rich text boxes, use additional date and time functions, and define input scopes to improve handwriting or speech recognition in form controls.
Seite 13
In addition to reusing controls and layout, you can reuse business logic, including rules (rule: A condition or action, or a set of conditions or actions, that automatically performs tasks based on events and values in the form.) and data validation (data validation: The process of testing the accuracy of data; a set of rules you can apply to a control to specify the type and range of data that users can enter.). After designing a template part, you can add it to the Controls task pane, where you can then insert it into your form templates. You can reuse the template part wherever you need to, share it with other form designers, and update it, if necessary.
LOGIC INSPECTOR
In the Logic Inspector dialog box, you can review all of the data validation settings, calculated default values, rules, and programming features that are associated with your form template. By doing so, you can avoid the time-consuming process of opening each control individually in order to review these settings.
WORKFLOW INTEGRATION
The term "workflow" refers to the automated movement of documents or items through a specific sequence of actions or tasks that are related to a business process. Workflows can be used to consistently manage common business processes,
Seite 14
such as document approval or review. By using InfoPath form templates together with the workflow management features in Microsoft Office SharePoint Server 2007, you can automate business processes in which forms are passed from one user to another. For example, as a manager, you can use an approval workflow to route an expense report form through a list of approvers. Approvers can approve or reject the expense report form, reassign the approval task, or request changes to the form. In InfoPath, users click commands on the File menu to participate in the workflow. On the server, they can point to the name of the form in the library, click the arrow that appears, and then click Workflows to participate in the workflow.
In addition, you can add rules to your form template that respond to changes in the workflow. For example, you can design a form template for expense reports so that when an employee submits the form, a rule automatically switches to a view that shows a high-level summary of expenses and routes the form with that view open to the employee's manager for approval.
Seite 15
By using Office InfoPath 2007 and InfoPath Forms Services, you can easily share, manage, and update data connections (data connection: The connection between an InfoPath form and an external data source, such as a database, Web service, SharePoint library, or XML file. Data connections are used to query and submit data.) in a form template by storing them outside of InfoPath, in a data connection file (data connection file: A file that stores information about a connection to a data source, such as an Access database, a spreadsheet, or a text file, and that facilitates data source administration.) in a data connection library (data connection library: A document library, located on a site running Microsoft Office SharePoint Server 2007, that contains a collection of universal data connection (.udcx) and Office data connection (.odc) files.). Among other things, data connection libraries eliminate the need to open your form template and reconfigure the existing data connection settings every time those settings change. This can be especially useful when you need to move a form template from a staging server to a production server.
Seite 16
You can now print specific data from user forms in the header or footer. For example, if you are designing a legal form template, you can make the case name appear automatically in the footer of the printed form. In a form template with multiple views, you can specify exactly which views should be printed when a user prints the form, and in what order.
Form template Asset Tracking Expense Report Meeting Agenda Status Report Travel Request
Use to Track information about computer equipment and other business assets. Track and submit business expenses. Organize and summarize a business meeting. Track progress and issues for projects and assignments. Request travel arrangements, such as flights and hotel accommodations, for a business trip.
Top of Page
Seite 17
HOSTING OPTIONS
Seite 18
You can now host the InfoPath editing environment in custom Windows applications or Web (.aspx) pages.
To host an InfoPath form in a custom Windows application, you use the Microsoft Office InfoPath Form Control, which is available as either an ActiveX control or a .NET component. For example, your company might use the InfoPath Form Control to include InfoPath user interface elements and features inside a custom program for filling out business forms, such as the one shown here.
To host an InfoPath form in a custom Web page, you can use the Microsoft Office InfoPath XmlFormView control, which is an ASP.NET Web control that is available on servers running InfoPath Forms Services.
The following table lists the publishing options that are available in the Publishing Wizard.
Seite 19
Description You can use this option to publish a browser-compatible form template to a server running InfoPath Forms Services. You can also publish a regular form template to a library or as a site content type (content type: A reusable group of settings for a category of content. Use content types to manage the metadata, templates, and behaviors of items and documents consistently. Content types are defined at the site level and used on lists and libraries.) on a server running Microsoft Windows SharePoint Services 3.0. In InfoPath 2003, you used the Send Form as Attachment command (File menu) to send a form template as an attachment in an e-mail message. In Office InfoPath 2007, this feature is now part of the Publishing Wizard, so that all publishing features exist in one place. By publishing a form template to a list of e-mail recipients, you enable users to open, fill out, and submit InfoPath forms in the body of an e-mail message. Use this option to publish a form template to a shared folder on your computer or on a network. In InfoPath 2003, a specialized Software Development Kit (SDK) tool was required to package and deploy custom installed form templates (custom installed form: A form that is installed with a custom setup program and that usually has access to files and settings on the computer.). In Office InfoPath 2007, however, you can use the Publishing Wizard to create a Microsoft Windows Installer (.msi) (Microsoft Windows Installer (MSI): A tool that is used to create installation packages for software that is to be deployed on Windows operating systems.) setup file that can install and register the form template on your users' computers. To do this, you must have Microsoft Visual Studio .NET 2003 or Microsoft Visual Studio 2005 installed on your computer. If you do not have Visual Studio installed on your computer, you can save a copy of the form template to a shared network folder and create a Microsoft JScript (JScript: An interpreted, object-based scripting language that borrows from C, C++, and Java. It is the Microsoft implementation of the ECMA 262 language specification.) (.js) file that registers the form template on your users' computers. In this case, both the form template and the script file must be copied to the users' computers. After copying both files, the administrator or someone with administrator permissions can run the script to register the form template. Advanced form designers can design form templates that function as Document Information Panels, which appear to the user as editable fields at the top of their document. If you are creating custom Document Information Panels in InfoPath, an additional option appears in the Publishing Wizard that allows the form template to be published as a Document Information Panel template.
As a Document Information Panel template for a SharePoint site content type or list content type
ARCHIVING OPTIONS
Organizations often archive forms as the last step in the form-design life cycle. In Office InfoPath 2007, you can archive a completed form by opening the form and exporting it to one of the following formats:
Portable Document Format (PDF) PDF is a fixed-layout electronic file format that preserves document formatting and enables file sharing. The PDF format ensures that when the file is viewed online or printed, it retains exactly the format that you intended, and that data in the file cannot be easily copied or changed. The PDF format is also useful for documents that will be reproduced by using commercial printing methods. XML Paper Specification (XPS) XPS is an electronic file format that preserves document formatting and enables file sharing. The XPS format ensures that when the file is viewed online or printed, it retains exactly the format that you intended, and that data in the file cannot be easily copied or changed.
Seite 20
You can save as a PDF or XPS file from a 2007 Microsoft Office system program only after you install an add-in. For more information, see Enable support for other file formats, such as PDF and XPS.
If your organization uses Office SharePoint Server 2007, you can archive completed, server-based forms (.xml files) by converting them into Web pages.
NOTE
When you convert a form into a Web page, the resulting file may be slightly different from the original file. You
should verify the results of the conversion to make sure that it serves your needs. For example, if a data connection to a secondary data source was used to populate a list box on the form, you wont see all of the list box values in the archived form. Instead, you will see only the value that the user specified when they filled out the form.
UPDATE OPTIONS
When you update a published form template, InfoPath can automatically replace the original form template on your users' computers with a more recent version. However, if necessary for regulatory or other reasons, you can now allow users to opt out of updating the form template.
If you have published an administrator-approved form template (administrator-approved form template: A browsercompatible form template that has been uploaded by an administrator to a server running InfoPath Forms Services. An administrator-approved form template can include code.) to a server running InfoPath Forms Services, you can replace that form template with a new version without causing data loss to users who are currently filling out your form in a browser. If you have a compelling reason, such as a security fix, you can choose to immediately overwrite the form template.
OFFICE DIAGNOSTICS
Microsoft Office Diagnostics is a series of diagnostic tests that can help you determine why your computer is crashing. The diagnostic tests can solve some problems directly and may identify ways that you can solve other problems. Microsoft Office Diagnostics replaces the Microsoft Office 2003 Detect and Repair and Microsoft Office Application Recovery features.
Seite 21
and exchanging data. In InfoPath, form templates are based on XML technologies, and form data is saved or submitted in XML format. InfoPath makes use of the following XML technologies:
XSL Transformation (XSLT) (XSL Transformation (XSLT): A language that is used to transform XML documents into other types of documents, such as HTML or XML. It is designed for use as part of XSL.) XML Schemas (XML Schema: A formal specification, written in XML, that defines the structure of an XML document, including element names and rich data types, which elements can appear in combination, and which attributes are available for each element.) Extensible Hypertext Markup Language (XHTML) (Extensible Hypertext Markup Language (XHTML): A markup language that extends HTML and reformulates it as XML.) XML Path Language (XPath) (XML Path Language (XPath): A language used to address parts of an XML document. XPath also provides basic facilities for manipulation of strings, numbers, and Booleans.) Document Object Model (DOM) (Document Object Model (DOM): A World Wide Web Consortium specification that describes the structure of dynamic HTML and XML documents in a way that allows them to be manipulated through a Web browser.) XML Signatures (XML Signature: An XML-based digital signature that can be used to help secure the data contained in XML documents. XML Signatures are a standard governed by the World Wide Web Consortium (W3C).)
NOTE
You can learn more about these technologies by going to the World Wide Web Consortium (W3C) Web site
These technologies are governed by the World Wide Web Consortium (W3C) (World Wide Web Consortium (W3C): A consortium of commercial and educational institutions that oversees research and promotes standards in all areas related to the World Wide Web.), which recommends a specific set of rules, guidelines, and conventions for producing files that are easy to generate and process by different computers and applications. In addition to the XML technologies that InfoPath supports, InfoPath makes use of special processing instructions (processing instructions: Information stored in the prologue of an XML document. This information is passed through the XML parser to any application that uses the XML document.) and namespaces (namespace: A mechanism that uniquely qualifies element names and relationships to avoid name collisions on elements that have the same name but are coming from multiple sources.), and has a number of methods for accessing the DOM through the InfoPath object model.
Although it is not necessary to understand all of the details of these XML technologies, the following table will help you understand how these technologies are used in InfoPath.
Name
Description
Seite 22
XML
XML is the output format that is produced by an InfoPath form. XML is also used to contain the sample data that is displayed in the fields of a form before a user fills it out. InfoPath uses the XML version 1.0 standard. XSLT is the format of the view files that are produced when a form template is designed. InfoPath does not support the use of XSL Formatting Objects (XSL-FO) for the presentation of XML data, nor does it support the importing of arbitrary .xsl files. InfoPath uses the XSLT version 1.0 standard. XML Schemas are used as the primary means of data validation (data validation: The process of testing the accuracy of data; a set of rules you can apply to a control to specify the type and range of data that users can enter.) in a form, and they provide the underlying structure of the XML document that is produced by the form template. In addition, an XML Schema is used to define the structure of the form definition (.xsf) file (form definition file: An XML file with an .xsf extension that contains information about all other files and components used within a form, including user interface customizations, XML Schemas, views, business logic, events, and deployment settings.) that is generated by InfoPath when a form template is designed. InfoPath does not support schemas that comply with the XML-Data Reduced (XDR) or Document Type Definition (DTD) specifications. InfoPath uses the XML Schema version 1.0 standard. XHTML is well-formed HTML and is primarily used when developing rich text areas. InfoPath uses the XHTML version 1.0 standard. XPath expressions are used when binding (bind: To connect a control to a field or group in the data source so that data entered into the control is saved. When a control is unbound, it is not connected to a field or group, and so data entered into the control will not be saved.) controls to fields and groups in a form template's data source (data source: The collection of fields and groups that define and store the data for an InfoPath form. Controls in the form are bound to the fields and groups in the data source.). XPath expressions are also used for data validation and conditional formatting (conditional formatting: The process of changing the appearance of a control, including its visibility and read-write state, based on values entered into the form.) expressions. InfoPath uses the XPath version 1.0 standard. The DOM is used to programmatically access the contents of the source XML document that a form template produces. It is also used to provide read-only access to the contents of the .xsf file. InfoPath uses the DOM version 1.0 standard. XML Signatures are used to digitally sign InfoPath forms. If enabled, each InfoPath form can contain one or more digital signatures. InfoPath supports digital signing of portions of a form, as well as the form as a whole. The XML processor is used to load the source XML of a document into the dynamic memory of the computer, validate it using the XML Schema, and produce the view of the document by using XSLT. The XML processor supported by InfoPath is Microsoft XML Core Services (MSXML) version 5.0. Earlier versions of this processor are not supported.
XSLT
XML Schema
XHTML
XPath
DOM
Seite 23
The controls (control: A graphical user interface object, such as a text box, check box, scroll bar, or command button, that lets users control the program. You use controls to display data or choices, perform an action, or make the user interface easier to read.), labels, and instructional text that appear on the form. The way that controls behave when users interact with them. For example, you might make a particular section appear when the user selects a check box and disappear when the user clears the check box. Whether the form has additional views (view: A form-specific display setting that can be saved with a form template and applied to form data when the form is being filled out. Users can switch between views to choose the amount of data shown in the form.). For example, if you are designing a permit application form, you may have one view for the electrical contractor, another view for the receiving agent, and a third view for the investigator who approves or denies the application. How and where the data in a form is stored. For example, your form template might be designed to let users submit data to a database, either directly or through the use of a Web service. Or you might have users save their form to a shared folder. The fonts, colors, and other design elements that are used in the form. Whether users can customize the form. For example, you can let users add extra rows to a repeating table, repeating section, or optional section. Whether users are notified when they make mistakes in the form or forget to fill out a required field.
After you finalize the design of a form template, you make it available to your users by publishing it as an .xsn file.
TIP
In addition to designing form templates, you can also design template parts, which are custom controls that you can
use in other form templates or Microsoft Office documents. For example, you might create a template part that includes fields for collecting contact information. You could then use that template part in several different form templates. Find links to more information about template parts in the See Also section.
Seite 24
To illustrate the relationship between a form template and a form, imagine that you designed a permit application form template for electrical contractors to use. Each permit application that an electrical contractor fills out is a form. That form is just an .xml file that contains the data (and only the data) that was entered into the form. All of the other things that make up the form are provided by the form template. This means that whenever your users open a form, that form must locate and use its associated form template in order to function properly. Otherwise, when your users opened a form, they would see only XML markup tags and data.
To link a form template and the forms that are based on it, InfoPath includes several lines of code, called processing instructions (processing instructions: Information stored in the prologue of an XML document. This information is passed through the XML parser to any application that uses the XML document.), at the top of each form file. This code links the form file to its associated form template.
The supporting files that make up a form template can include one or more XML Schema (XML Schema: A formal specification, written in XML, that defines the structure of an XML document, including element names and rich data types, which elements can appear in combination, and which attributes are available for each element.) files, an XSL
Seite 25
Transformation (XSLT) (XSL Transformation (XSLT): A language that is used to transform XML documents into other types of documents, such as HTML or XML. It is designed for use as part of XSL.) file for each view in the form template, an XML file for the data that appears by default when users first open a form that is based on that form template, script files or managed code assemblies, and a form definition file (form definition file: An XML file with an .xsf extension that contains information about all other files and components used within a form, including user interface customizations, XML Schemas, views, business logic, events, and deployment settings.), called Manifest.xsf.
To familiarize yourself with the files that make up a form template, you can use the following procedure to view the source files for a form template.
InfoPath saves a copy of the form template as a set of files inside the folder.
4.
The following table describes the supporting files of a form template. These files are always included in a form template.
Description The file that contains information about how the form template is put together, including the XML Schemas that it uses and the resource files that it contains. InfoPath automatically generates this file when you design a new form template. As you design and modify the form template, the file is automatically updated to reflect your changes. The file or files that constrain and validate the data in a form template. The contents of XML Schema files the elements, attributes, and so forth are represented by groups (group: An element in the data source that can contain fields and other groups. Controls that contain other controls, such as repeating tables and sections, are bound to groups.) and fields (field: An element or attribute in the data source that can contain data. If the field is an element, it can contain attribute fields. Fields store the data that is entered into controls.) in the Data Source task pane. Each data source (data source: The collection of fields and groups that define and store the data for an InfoPath form. Controls in the form are bound to the fields and groups in the data source.) that is associated with a form template, including the main data source, has a corresponding .xsd file. The XSL Transformation (XSLT) files that are used to present, view, and transform into HTML the displayed data that is contained in the form that your users fill out. When you work with the different views of a form template, you are actually looking at different HTML representations (or transformations) of the data that is displayed in the form. The file that contains the data that you want to appear by default in specific controls. Users see this data when they first open a form and until they select different values in the controls.
XML Schema
.xsd
View
.xsl
XML template
.xml
Seite 26
In addition to the files in the previous table, a form template can include any of the files in the following table, depending on the form template's design.
File name extension .htm, .gif, .bmp, and others .js, .vbs
Description The files that are used to show custom task panes (custom task pane: An .html file whose content is displayed in a window next to a form. Custom task panes can provide form-specific commands and Help content.) or pictures within the form template. The files that contain scripts for implementing specific form behavior. These script files are either Microsoft JScript (JScript: An interpreted, object-based scripting language that borrows from C, C++, and Java. It is the Microsoft implementation of the ECMA 262 language specification.) or Microsoft Visual Basic Scripting Edition (VBScript) (Visual Basic Scripting Edition (VBScript): A subset of the Microsoft Visual Basic programming system. Microsoft Internet Explorer version 3.0 or later, along with the other Web browsers, can read VBScript programs that are embedded in HTML pages.) files. The external files that provide programming code and additional business logic. For example, if you create a custom control (custom control: A form component, such as a template part or ActiveX control, that isn't included with InfoPath by default. Form designers can add or remove custom controls by using the Controls task pane.) for your form template, you might need an installation program in order to automatically install and register that control on your users' computers. Binary files are not created in InfoPath, but in programs such as Microsoft Visual Studio .NET.
Business logic
Binary
InfoPath automatically updates the form files when you make changes to your form template. However, if you are experienced with XML, or if you are an advanced form designer, you can extract the individual form files and customize them by hand. For example, you might want to manually modify a set of form files in the following types of situations:
You want to reuse the form template's XML Schema (.xsd file) in another Microsoft Office program. For example, you can add the InfoPath .xsd file to the Schema Library in Microsoft Office Word 2007. You can then map elements from the InfoPath .xsd file to the content of a document. You want to create a toolbar in the form template that contains custom commands in addition to the built-in commands that come with InfoPath. To do this, you need to edit the form template's form definition (.xsf) file. You want to make formatting-related enhancements to your form template that aren't available in InfoPath, such as adding a background image (.gif file) to a button. To do this, you need to edit the form's XML Transformation (.xsl) file.
Seite 27
InfoPath Forms Services also enables you to store and manage forms and form templates in a centralized location. InfoPath Forms Services is built on and requires Microsoft Windows SharePoint Services 3.0, which enables you to publish form templates that you design to a common location across an organization. Additionally, users can submit forms to SharePoint libraries, which are folders where a collection of files is stored and where the files often use the same template. It is also possible to integrate forms into document management and life-cycle tasks such as workflow and rights management.
The InfoPath Forms Services technology is available in the Microsoft Office SharePoint Server 2007 Enterprise CAL and also, separately, in Microsoft Office Forms Server 2007.
In some cases, you can enable the form template for use on the Web by selecting the Enable this form to be filled out by using a browser check box in the InfoPath Publishing Wizard. In other cases, you must publish the form template to a shared location on your corporate network and then contact a server farm administrator for assistance in enabling the form template and making it available on the server.
The form template contains managed code. The form template requires a Full Trust security level, which allows the resulting forms to have full access to the system resources on users' computers, such as files and settings. The form template uses a data connection that is managed by an administrator. The form template is enabled to be displayed on a mobile device.
If administrator approval is required, the Publishing Wizard guides you through the steps of preparing the form template for hand-off to an administrator.
After a browser-compatible form template is browser-enabled, users can use their browser to fill out forms that are based on that form template.
Seite 28
The user experience of filling out a form in a browser is nearly identical to that of filling out a form in InfoPath. For example, controls such as repeating sections and features such as formulas and conditional formatting work the same way in both environments.
Although filling out a form in a browser is like filling out a form in InfoPath, there is one key difference. In a Web browser, the InfoPath menus and toolbars are replaced by a toolbar across the top of the form, which displays options for saving, closing, printing, and updating the form. This bar also appears at the bottom of a form, so that users don't have to scroll back to the top of a long form to complete their form.
If you enable the submit options for your form template, users also see a Submit button on the toolbar. When they click this button, the form data is submitted directly to the data source that you specified when designing the form template, such as a Web service or SharePoint list. If your form template has more than one view (view: A form-specific display setting that can be saved with a form template and applied to form data when the form is being filled out. Users can switch between views to choose the amount of data shown in the form.), users will also see a View list on the toolbar.
Users submit data to external data sources by clicking a Submit button on the toolbar. Users switch between views by clicking an item in the View list on the toolbar.
When you design your form template, you can customize the toolbar settings in the Form Options dialog box. For example, you can remove one or more buttons or hide the toolbar at the bottom of the user's form.
Seite 29
In the following sections, you will learn more about the benefits of using InfoPath Forms Services.
When users access the form, either by navigating to a library or by entering a URL for the form in their browser, one of two things can happen:
The form opens in a browser If users don't have InfoPath installed on their computer, the form opens in a browser, where they can fill it out just as they would any other Web-based form. The form opens in InfoPath If users have InfoPath installed on their computer, the form opens in InfoPath, where they can fill it out just as they would any other InfoPath form. Because they are filling out the form in InfoPath, these users will have the added benefit of being able to use the full range of InfoPath features for filling out forms, some of which are not available in browser forms.
NOTE
It you prefer, you can customize the settings for your form template so that it always opens in a browser, even
if users have InfoPath installed on their computer. This can be useful when you want the experience of filling out a form to be identical for everyone, or when you don't want the form to be opened in InfoPath, because you want to discourage users from opening or modifying the underlying form template in design mode.
If users will fill out forms on a mobile device, such as a personal digital assistant (PDA) or smartphone, you can design your browser-enabled form template so that it can be opened and filled out by using a mobile device browser. When users use a mobile device to access the form, it opens on their screen in a simplified format.
Seite 30
Submit data to existing business systems When you design a browser-compatible form template, you can create data connections (data connection: The connection between an InfoPath form and an external data source, such as a database, Web service, SharePoint library, or XML file. Data connections are used to query and submit data.) to Web services or other external data sources. This allows you to submit data to existing business systems, enterprise applications, or corporate databases. For example, a sales department can design a form that can submit sales leads and customer information to an existing Customer Relationship Management (CRM) system. Query data from existing business systems It is also possible to query data in existing business systems, enterprise applications, or corporate databases. For example, when users open a form based on your form template, you might want data from an external data source to appear in the name and address fields on the form. This enables you to take advantage of existing organizational data and simplifies the process of filling out a form. Add workflow to forms You can add a workflow to the form template that is stored in a library. This enables you to consistently manage common business processes. For example, as a manager, you can use an approval workflow to route an expense report form through a list of approvers. Approvers can approve or reject the expense report form, reassign the approval task, or request changes to the form. In InfoPath, users click commands on the File menu to participate in the workflow. On the server, they can point to the name of the form in the library, click the arrow that appears, and then click Workflows to participate in the workflow.
Store forms and form templates in a centralized location You can associate a form template with a library, which is a location on a SharePoint site where you can create, collect, update, and manage files with other people in your
Seite 31
organization. When users fill out forms based on the form template in that library, the completed forms appear in the library along with key information from the forms themselves. Depending on how the SharePoint library is designed, users can fill out forms that are based on your form template, export the data from completed forms to Microsoft Office Excel, or merge the data from several forms into one form. The following example shows expense reports stored in a library.
Use content types to manage form templates You can use the InfoPath Publishing Wizard to publish a form template as a site content type (content type: A reusable group of settings for a category of content. Use content types to manage the metadata, templates, and behaviors of items and documents consistently. Content types are defined at the site level and used on lists and libraries.). A content type defines a form template, a set of columns, and document management settings on the server, such as workflow or policy settings.
By creating content types, you can reuse form templates and settings across a site collection (site collection: A set of Web sites on a virtual server that have the same owner and share administration settings. Each site collection contains a top-level Web site and can contain one or more subsites.). In the past, if you wanted to use a form template in multiple SharePoint libraries, you had to publish two distinct copies of the form template, one for each library. If you wanted to update the form template, you had to change the form template in both places. However, now you can publish a form template as a site content type. When you update the content type, your change is automatically applied wherever that content type is used.
You can assign a single content type to multiple libraries across a site collection or assign multiple content types to a single library. For example, you can add a content type for status report forms to all of the libraries that are used by the sales department in your company, so that each sales team is collecting and reporting the same type of information to management. Alternatively, suppose that your department uses different form templates for travel request, trip report, and expense report forms. You can publish the three form templates as site content types and add them to a single library used for storing team travel-related information. When people create a new form from the library, they can then select which of these form templates they want to use.
Seite 32
Manage forms and form templates Server farm administrators can control how form templates are accessed by users and deployed throughout the organization. For example, they can control who can publish form templates throughout the site or decide how to upgrade form templates on the server with minimal impact to form users. Manage data connections in a central location If multiple form templates will use the same data connections (data connection: The connection between an InfoPath form and an external data source, such as a database, Web service, SharePoint library, or XML file. Data connections are used to query and submit data.), you can store the settings for that data connection in a data connection file (data connection file: A file that stores information about a connection to a data source, such as an Access database, a spreadsheet, or a text file, and that facilitates data source administration.) in a data connection library (data connection library: A document library, located on a site running Microsoft Office SharePoint Server 2007, that contains a collection of universal data connection (.udcx) and Office data connection (.odc) files.). When a user opens a form that connects to a data connection file, InfoPath uses the settings in that file to connect to the external data source. In this way, multiple form templates can use the same data connection file, so there is no need to manually create the same data connection for each form template. Moreover, if the location or connection settings for an external data source change, you don't need to update each form template that uses the data connection. Instead, you simply update the data connection file once, and all form templates continue to work as expected.
NOTE
From InfoPath, you can publish a form template to a server that is not running InfoPath Forms Services. For example,
you can publish your form template to a server running Windows SharePoint Services. In this scenario, you can take advantage of some of the features mentioned in the preceding list, such as the ability to publish a form template to a library. However, if you want to create a browser-enabled form template, or if you want to use features such as data connection libraries, then you must publish the form template to a server running InfoPath Forms Services.
SCRIPTING CODE
The Microsoft Script Editor (MSE) (Microsoft Script Editor: Used to add text, edit HTML tags, and edit any Microsoft Visual Basic Scripting Edition (VBScript) code in a data access page. You can also view your page in the Script Editor as it would appear in a Web browser.) is the default integrated development environment for InfoPath if the Microsoft .NET Framework 2.0 and Microsoft Core XML Services 6.0 are not installed on your computer when you install InfoPath. When you work in MSE, you can use either Microsoft JScript (JScript: An interpreted, object-based scripting language that borrows
Seite 33
from C, C++, and Java. It is the Microsoft implementation of the ECMA 262 language specification.) or Microsoft Visual Basic Scripting Edition (VBScript) (Visual Basic Scripting Edition (VBScript): An interpreted, object-based scripting language that is a subset of the Microsoft Visual Basic programming language.) to create custom business logic for a form template.
You can open MSE from within design mode by pointing to Programming on the Tools menu, and then clicking Microsoft Script Editor, or by pressing ALT+SHIFT+F11. When you open MSE from within InfoPath, the MSE code editor appears and the form template's default scripting file (with either a .js or .vbs file name extension, depending on the scripting language for the template) opens in the code editing window.
NOTE
If you do not see Microsoft Script Editor on the Programming menu, you must select JScript or VBScript as the
scripting language for the form template. Find links to more information about setting the scripting language for a form template in the See Also section.
MANAGED CODE
If the Microsoft .NET Framework 2.0 and Microsoft Core XML Services 6.0 are installed on your computer when you install InfoPath, then InfoPath uses the Microsoft Visual Studio Tools for Applications (VSTA) programming environment as the default integrated development environment. When you work in VSTA, you can use either Microsoft Visual Basic or Microsoft C# to create custom managed code for a form template. For specific information about working in this development environment refer to the documentation that is installed with VSTA.
An additional development option is available if Microsoft Visual Studio 2005 and InfoPath are installed on the same computer. You can download and install Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System, which enables you to create and design form templates that use managed code from within the Visual Studio 2005 development environment. For more information about using Visual Studio to create InfoPath projects, see the documentation that is installed with Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System. For information about downloading this extension for Visual Studio, visit the InfoPath Developer Center on MSDN.
COMPATIBILITY CONSIDERATIONS
Only the C# and Visual Basic .NET languages are supported in browser-compatible form templates (browser-compatible form template: A form template that is designed in InfoPath by using a specific compatibility mode. A browser-compatible form template can be browser-enabled when it is published to a server running InfoPath Forms Services.). Form templates with JScript or VBScript scripting code are not browser-compatible.
Seite 34
PHASE 1: PLAN
How much time you spend planning depends on the complexity of your form template, your role in your organization, and on the processes and requirements in your organization.
If your form template will only be used by members of your immediate team, the planning phase may be very informal. If your form template is more complex, the planning phase will likely be a more formal and involved process, and you may need to consult with many stakeholders. For example, if your form template will be one part of a larger, company-wide business system, such as an expense reporting or enterprise resource planning system, then you probably need to create formal planning documents, such as functional specifications.
In either case, before you start designing your form template, you should consider the following:
User goals What do your users need to accomplish with your form template? What scenarios do you need to support? How will you measure success in meeting your users' goals? Compatibility considerations Does your form template need to be accessible to users outside your organization, either now or in the future? For example, do you want your form template to be available on your organization's external Web site for customers who do not have InfoPath installed on their computers? If so, you can design a browser-compatible form template (browser-compatible form template: A form template that is designed in InfoPath by using a specific compatibility mode. A browser-compatible form template can be browser-enabled when it is published to a server running InfoPath Forms Services.) instead of a standard, InfoPath-only form template. Do some users in your organization need to be able to fill out your form in InfoPath 2003? If so, you may want to design a backward-compatible form template. Do you want users to be able to fill out forms while they are away from the office or otherwise offline? If so, you can add features to your form template that will enable it to function effectively in offline mode (offline mode: The state in which users fill out forms when working offline. Form designers can specify whether a form can be opened in offline mode and, if it can, which data sources are accessible in that mode.). Existing user forms Do you currently use Microsoft Office Word documents or Microsoft Office Excel workbooks to collect data from users? If so, you can easily convert those files into InfoPath form templates. Do you have existing InfoPath 2003 form templates? If so, do you want those form templates to be backward-compatible or do you want to upgrade them to Office InfoPath 2007 format? Integration requirements What other products or technologies will your form template work with? For example, you might need to store the data in your form template in a Microsoft SQL Server database, or you might decide to base the design of your form template on a Web service so that you can submit data to a database that isn't directly supported by InfoPath.
Seite 35
User interface requirements Do you need to adhere to corporate branding guidelines? What do you want your form template to look like? What type of controls will you use and how will you organize them? Process requirements Will your form template be part of a larger business process, such as the process of approving an expense report? If so, what kind of views (view: A form-specific display setting that can be saved with a form template and applied to form data when the form is being filled out. Users can switch between views to choose the amount of data shown in the form.) do you need, and how will you implement the rules that govern how the data moves through the organization and is processed by different people and business systems? Will you take advantage of workflow features in other programs, such as Microsoft Office SharePoint Server 2007? Will the form template require managed code or script? If so, will you use in-house developers or will this work be outsourced? Data storage requirements What do you want to do with the data in user forms? For example, if users need to be able to quickly send form data back and forth, and you don't need to reuse the data, then you may want to use email messages to store the data. If users need to be able to access and share the form data, then you may want to store collections of related InfoPath forms in libraries on a server running Microsoft Windows SharePoint Services. If users need to access the form data in other business applications or systems, such as expense reporting or accounting applications, then you may want to store the data in corporate databases. This is often accomplished by connecting the form template to a Web service, which serves as an intermediary between the form template and the database or business system. Security requirements What kind of security challenges and vulnerabilities do you face? Does your form template need to be installed on users' computers or can your users access it from a network resource? Do you want users to digitally sign their forms or certain sets of data in their forms? Will you connect the form template directly to a database, or will you use data connection files (data connection file: A file that stores information about a connection to a data source, such as an Access database, a spreadsheet, or a text file, and that facilitates data source administration.) in data connection libraries (data connection library: A document library, located on a site running Microsoft Office SharePoint Server 2007, that contains a collection of universal data connection (.udcx) and Office data connection (.odc) files.), which are typically managed by an administrator? Testing requirements What process will you use to test the appearance and behavior of your form template? Do you need to create a formal test plan? Deployment requirements How do you plan to share your form template with other people? Where will you publish the form template? If you plan to publish it to a server running InfoPath Forms Services, do you want to publish it to a library or as a site content type (content type: A reusable group of settings for a category of content. Use content types to manage the metadata, templates, and behaviors of items and documents consistently. Content types are defined at the site level and used on lists and libraries.)? How will you notify users of the form template's availability? What is your plan for releasing new versions of form templates?
Seite 36
Maintenance requirements Do you want to archive form templates, user forms, or both? For how long do you need to keep the data? What kind of archiving and data retention policies are required by your organization?
PHASE 2: DESIGN
After you've completed the planning phase, you can begin the design process. It is recommended that you follow the order of tasks listed below when designing your form template. However, you can deviate from the order if necessary. For example, you may prefer to define data validation, conditional formatting, and rules for controls as you add those controls to your form template, instead of doing it later in the design process.
Step 1: Create the form template Step 2: Create or specify the main data source Step 3: Define layout Step 4: Add controls Step 5: Add data connections Step 6: Add data validation, rules, and other business logic features Step 7: Create custom views Step 8: Enable submit behavior Step 9: Enable security features Step 10 : Test appearance and behavior
The following resources provide additional details about the process of creating a form template.
To Learn about the server technology that enables you to create a form template that can be opened and filled out in a browser. Learn about browser-compatible form templates, which can be opened or filled out in InfoPath, in a browser, or on a mobile device. A browser-compatible form template can be enabled for use in a browser when it is published to a
Seite 37
server running InfoPath Forms Services, either by you or by a farm administrator for the server. Choose a compatibility setting for a form template or change the existing compatibility setting. This setting determines which InfoPath features and controls are available to you when designing your form template. For example, if you select the Enable browser-compatible features only check box in the Design a Form Template task pane, InfoPath hides or disables controls and features that won't work in browser-enabled form templates. Create a form template that works in InfoPath 2003 as well as InfoPath 2007.
Design a form template that works with InfoPath 2003 Upgrade a form template from InfoPath 2003 to InfoPath 2007 Convert an Excel workbook to an InfoPath form template Convert a Word document to an InfoPath form template
Upgrade an existing InfoPath 2003 form template to Office InfoPath 2007 format, so that you can freely use features that are specific to Office InfoPath 2007 in your form template, such as Information Rights Management (IRM). Create a form template from an existing Microsoft Office Excel workbook.
You can view a representation of the data source for your form template in the Data Source task pane:
When you first create your form template, you must decide which of the following approaches to use:
Seite 38
Let InfoPath create the data source If you create a blank form template, InfoPath creates the data source for you as you add controls to your form template. This can be useful when you're designing a form template that will be used informally by members of a small team, when you don't have access to an existing data source in your organization, or when you don't need to store the data that you collect outside the form. This can also be useful when you share forms in a SharePoint library or in a Microsoft Office Outlook 2007 e-mail message, and you want to display information from the form in columns in the library or in an InfoPath Forms folder (InfoPath Forms folder: A folder in Outlook 2007 that stores a collection of related InfoPath 2007 forms. In the InfoPath Forms folder, you can use columns to group, filter, and sort data from multiple forms.) instead of storing it in a database or other external location. Use an existing data source If you base the design of your form template on an existing data source, such as a database or Web service, InfoPath establishes a main data connection (data connection: The connection between an InfoPath form and an external data source, such as a database, Web service, SharePoint library, or XML file. Data connections are used to query and submit data.) to that data source. There can be only one main data connection in a form template. Later in the design process, you can create data connections to secondary data sources (secondary data source: An XML data file, database, or Web service that is used by a form for the entries in a list box or for script actions.) to populate list boxes with external data or submit form data to more than one data source. For more information about secondary data sources, see "Step 5: Add data connections" later in this article.
The following resources provide additional details that can help you determine what type of data source to use, and when you should add additional data connections to your form template.
To Learn about the data sources that InfoPath can work with, and how they are represented in the Data Source task pane. Learn about data connections, which are dynamic links between a form and a data source that stores or provides data for that form. Base the design of your form template on a common data connection file that is stored in a data connection library on a Office SharePoint Server 2007 site. This file stores information about a connection to a data source, such as an Access database, a spreadsheet, or a text file.
You can find ready-made layout tables in the Layout task pane:
Seite 39
The following resources provide additional details about visual design options for your form template.
Click Introduction to laying out a form template Apply a color scheme Insert and position a picture
To Learn about layout tables, which help you to line up elements on a form template, and about controls that are used for layout purposes. Learn how to automatically apply coordinated colors to certain items on your form template. Learn how to insert a picture, such as a corporate logo or masthead, into a form template.
Seite 40
You can add a control to your form template either by clicking its name in the Insert controls list or by dragging it from the task pane to the form template workspace. Depending on the type of control that you add to your form template, users filling out form will be able to type text into text fields, view data in repeating controls, make selections from option buttons and check boxes, choose entries from lists, and click command buttons to carry out commands. The data that users enter into a control is stored in the form's data source.
The following resources provide additional details about using controls in InfoPath.
Click Introduction to controls Design a template part to reuse in multiple form templates
To Learn about the different types of controls that are available in InfoPath. Learn how to insert and update template parts. Template parts can help you achieve a consistent design for a collection of form templates. For example, you can create template parts for signature sections. In addition to reusing controls and layout, you can reuse rules, conditional formatting, and data validation.
As you design your form template, you can also add data connections to one or more secondary data sources. A secondary data source is an XML data file, database, or Web service that is used by a form for the entries in a list box or for script actions. This enables you to populate list boxes and other controls with data external to the form template, such as data that resides in a SQL Server database or SharePoint list. You can also add data connections to secondary data sources when you need users to submit data to more than one external data source.
The following resources provide additional details about secondary data connections and what they are used for in InfoPath.
To Learn what a data connection is and how you use one to retrieve and submit data from a database, Web service, or other data source. For example, if team projects are listed on a SharePoint site, you can create a data connection to that list so that the project names appear inside a list box control on the form. Add a secondary data connection to your form template that can either query data from a library or list, or submit data to a library on a server running Windows SharePoint Services.
Add a data connection to a SharePoint document library or list Add a data connection to a Microsoft SQL Server database
Add a secondary data connection to your form template that queries a SQL Server database.
Seite 41
Add a data connection to a Web service Add a data connection by using settings in a connection library Use values from a Web service to populate a list box, drop-down list box, or combo box Use values from a SQL Server database to populate a list box, drop-down list box, or combo box Configure a secondary data connection for offline use
Add a secondary data connection to your form template that can either query or submit data to a Web service.
Add a secondary data connection to your form template by using a data connection file stored in a data connection library on a Office SharePoint Server 2007 site. This file stores information about a connection to a data source, such as an Access database, a spreadsheet, or a text file. Populate a list box, drop-down list box, or combo box with data from a secondary data connection to a Web service.
Populate a list box, drop-down list box, or combo box with data from a query data connection to a Microsoft SQL Server database.
Configure your form template so that forms based on the form template will cache (cache: A special memory subsystem in which frequently used data values, such as files that are made available for use offline, are duplicated for quick access. Changes made to the cached copy of a file are not reflected in the source copy of the file.) data from a secondary data connection when users fill out the form. This is useful when users do not have network connectivity, or when the external data source for the form is otherwise unavailable. In these scenarios, InfoPath displays the cached data in the form, and the form continues to work as expected for the user.
STEP 6: ADD DATA VALIDATION , RULES, AND OTHER BUSINESS LOGIC FEATURES
It's important to reduce costs and increase efficiency in your business wherever possible. You can use business-logic features in your form template to help prevent costly data-entry errors and to automate actions in the user's form. When you use InfoPath features like data validation (data validation: The process of testing the accuracy of data; a set of rules you can apply to a control to specify the type and range of data that users can enter.), conditional formatting (conditional formatting: The process of changing the appearance of a control, including its visibility and read-write state, based on values entered into the form.), and rules (rule: A condition or action, or a set of conditions or actions, that automatically performs tasks based on events and values in the form.), you can define conditions and actions that automatically perform tasks that are based on events, such as the opening or closing of a form, or on values that are entered into your form template.
The following resources provide additional details that illustrate the range of business-logic features in InfoPath.
Click Add, change, or remove data validation Apply conditional formatting to a form template
To Automatically detect errors as the user fills out a form. By adding data validation to controls in your form template, you can help ensure that the data that you collect is accurate and consistent, and that it conforms to any standards that are already in use in your company. Hide or apply formatting to a control, based on conditions that occur on the form. You can use conditional formatting to automatically apply bold, underline, italic, strikethrough, font color, and background color to controls. You can also use conditional formatting to determine whether a control is visible on the form when users fill it out, whether the control is disabled, or whether to enable users to add or remove certain controls, such as optional sections. Add rules that display a dialog box, set a field's value, query or submit to a data connection, switch views, or open or close a form in response to certain events and conditions that occur in the form.
Add a rule
Seite 42
Add formulas that calculate data, display specific dates and times in a control, or display the values that users enter into one control in another control. Use the Logic Inspector dialog box to review all of the data validation settings, calculated default values, rules, and programming features associated with your form template. This helps you avoid the time-consuming process of opening each control individually in order to review these settings.
The business-logic features in InfoPath are all that you need for most form templates. However, if your form template requires additional features that aren't available in InfoPath, you can use code to create custom features. If you want to write script, you can use the Microsoft Script Editor (MSE) (Microsoft Script Editor (MSE): A programming environment used to create, edit, and debug Microsoft JScript or Microsoft VBScript code in an InfoPath form.) to create, edit, and debug Microsoft JScript (JScript: An interpreted, object-based scripting language that borrows from C, C++, and Java. It is the Microsoft implementation of the ECMA 262 language specification.) or Microsoft Visual Basic Scripting Edition (VBScript) (Visual Basic Scripting Edition (VBScript): An interpreted, object-based scripting language that is a subset of the Microsoft Visual Basic programming language.) code. If you want to write managed code, you can use Microsoft Visual Studio 2005 Tools for Applications (VSTA) (Microsoft Visual Studio 2005 Tools for Applications (VSTA): A managed-code programming environment that is used to create, edit, and debug Visual Basic or Visual C# code included in an InfoPath form template.) to create, edit, and debug Visual Basic or Visual C# code. In addition, if you have Microsoft Visual Studio 2005, you can integrate InfoPath design-mode features into the Visual Studio 2005 development environment by downloading and installing Microsoft Visual Studio Tools for the Microsoft Office system (InfoPath 2007 Beta support) on your computer. You can then open Visual Studio 2005, create an InfoPath form template project, and use design-mode features to design your form template. For information on downloading Microsoft Visual Studio Tools for the Microsoft Office system (InfoPath 2007 Beta support), see the InfoPath Developer Portal on the Microsoft Developer Network (MSDN) Web site.
You can use the Views task pane to design additional views of your form template:
Seite 43
When you design a new view, you typically repeat the process of laying out the form, adding controls to it, and adding data validation or other features.
By creating different views of the form template, you allow users to look at the data in the form in different ways. This prevents you from having to design multiple form templates for the same business process. For example, in a form template that is used for processing insurance claims, you might create one view for policyholders, a second view for insurance agents, and a third view for insurance adjusters. Each of these views is customized to accommodate the type of user who is entering information into it. You can also design custom print views that are used solely for the purposes of printing the form.
Views should be simple and relatively self-explanatory. However, if you want to communicate special instructions to your users, you may need to build assistance into your view. For example, you can create a dedicated Help view for your form template, and then add a button to the default view that users can click in order to access the Help view.
Click Add or delete a view Create an InfoPathonly view of a browsercompatible form template
To Learn how to add, manage, and delete views. Learn how to create two views of a browser-compatible form template for two types of users. One view will be for users who open the form template in a Web browser. The other view will be used exclusively by users who have InfoPath installed on their computers. This InfoPath-only view will never be displayed in a Web browser. Consequently, you can use InfoPath features in this view that are not supported in browser-compatible form templates, such as user roles or master/detail controls. Learn how to design a print view for your form template and other techniques for creating print-friendly form templates. Learn how to design a Help view for your form template and other techniques for displaying custom instructional text to users.
Design a view that is optimized for printing Add custom Help text to a form template
When you design form templates to collect data as part of a larger business process, that data usually doesn't stay in the forms that users fill out. Instead, the form data moves from the form to the next stage in the business process usually to an external data source such as a database or Web service. For example, an employee might use InfoPath to fill out an expense report form, and then submit that form to a Web service where the form can be processed.
Specifying where you want the data in your form template to be submitted can increase the accuracy and efficiency of your business processes, because it allows you to exert more control over those processes. Before users can submit their form data, InfoPath ensures that the data in the forms is valid and allows the users to correct any invalid data. This feature can help ensure that only valid data is sent to the external data source.
The following resources explain how to design your form template so that form data is submitted to a location of your choice.
Click Introduction to submitting form data Submit form data to several locations
To Read about sending form data to a specific location, such as a database or Web service.
Design secondary data connections and rules that submit form data to several locations when users click the Submit button in their form.
If you are creating browser-compatible form templates, note that a number of factors affect the security of information stored on servers running InfoPath Forms Services. Some are controlled by you and others are controlled by your administrator, who is the person who sets up and manages user accounts, assigns permissions, and helps users with network or server access issues. You may need to coordinate with the administrator to set the appropriate options for your form template.
The following resources explain how to design your form template with security in mind.
Click Security considerations for form templates and forms Security levels of InfoPath forms
To Read about some best practices for helping to secure form templates and forms, and considerations about server security. Learn about the three different security levels for forms: Restricted, Domain, and Full Trust. Security levels determine whether a form can access data on other domains, or access files and settings on a user's computer. Override the default security setting, which InfoPath automatically selects based on the features in your form
Seite 45
template. Learn about digital signatures in InfoPath and considerations for using them in browser-enabled form templates. Signing a form helps authenticate a user as the person who filled out the form and helps ensure that the contents of the form are not altered.
The most basic test pass typically involves previewing the form template in the Preview window in InfoPath. The Preview window enables you to view your form as it will appear to users, and enter data in the controls to test their functionality. This allows you to check the alignment and formatting of controls. You can also test the functionality of the controls in your form. For example, you can enter data into controls to make sure that data validation, formulas, rules, and data connections work as you expect them to. In the Preview window, you should also ensure that your form template is free of typos and editorial inconsistencies, and verify that it looks good from a visual standpoint.
TIP
You can also use the Preview window for simple, iterative testing of controls and form behavior while designing your
form template.
While you can do much of the testing yourself, before you publish and distribute your form template, you should test it with users to make sure that it meets their expectations. Ideally, you will publish a pilot form template and distribute it to a small sampling of users. In this way, you can solicit feedback from real users about the overall usability of your form template. You can then make any necessary changes before publishing the form template to a wider audience.
The following resource explains how to use the Design Checker task pane to test your form template.
To Learn about the Design Checker task pane, and how you can use it to test the functionality of your form template.
PHASE 3: DEPLOY
The process of deploying a form template involves publishing the form template, enabling it for use on the Web (for browser-compatible form templates only), and making users aware of the form template's availability. If you plan to install
Seite 46
your form template on users' computers, the publish process may also involve creating a special installation file. You can publish form templates to many locations, including e-mail distribution lists and servers running InfoPath Forms Services or Windows SharePoint Services.
If you're planning to publish a browser-compatible form template to a server running InfoPath Forms Services, you must browser-enable the form template in addition to publishing it. In many cases, you can perform this step during the publishing process by selecting a check box in the Publishing Wizard. However, if your form template includes certain features, such as managed code, you won't be able to browser-enable the form template yourself. Instead, you must save the form template to a shared location, and then let a farm administrator know that it is available for review. The farm administrator can then verify that the form template is free of errors and warnings, upload it to a location on the Web farm, and then activate it in a site collection (site collection: A set of Web sites on a virtual server that have the same owner and share administration settings. Each site collection contains a top-level Web site and can contain one or more subsites.) on the server.
The following resources describe the publishing process and what it entails.
Click Introduction to publishing a form template Publish a form template to a server running InfoPath Forms Services Publish a form template to a server running Microsoft Windows SharePoint Services Publish a form template to a list of e-mail message recipients Publish a form template with full trust
Publish a browser-compatible form template that can be filled out in InfoPath or on the Web. By reading this article, you can also determine whether you can browser-enable a form template, or whether you need a farm administrator to perform this step for you. Publish a form template to a library, which is a location on a SharePoint site where a collection of files is managed. You can also publish a form template as a site content type, which enables you to assign multiple form templates to a single library or to assign the form template to multiple libraries across a site collection. Distribute the form template in an e-mail message to your users. The Publishing Wizard creates an e-mail message that includes a copy of the form template and the form that is based on the form template. When users open the e-mail message, they can fill out the form directly in the body of the e-mail message. Use the Publishing Wizard to create installation files, so that you can install fully trusted form templates on users' computers. A form can run with Full Trust only if its associated form template is digitally signed with a trusted root certificate or if the form template was installed on the user's computer by using an installation program such as Microsoft Windows Installer (.msi file).
PHASE 4: MAINTAIN
Maintaining a form template involves updating the form template when necessary and releasing new versions. It is also a good idea to periodically solicit feedback from users about the usability of your design. Does the form template still meet their needs, or have those needs changed?
Seite 47
When you publish a form template that you have changed, InfoPath can update both the form template (.xsn file) and any existing forms (.xml files) that are based on that form template. When users open an existing form, they will automatically download the latest copy of the form template, and their form data will be updated to match that version. By default, InfoPath automatically replaces the older version of the form template with the latest version. You can choose the update method that you prefer for updating existing user forms.
If you're a farm administrator for a server running InfoPath Forms Services, and you need to upload a new version of an administrator-approved form template (administrator-approved form template: A browser-compatible form template that has been uploaded by an administrator to a server running InfoPath Forms Services. An administrator-approved form template can include code.), you can determine how the transition between the existing version and the upgraded version will take place. For example, you can choose to replace the form template with a later version without causing data loss to users who are currently filling out your form in a browser. Alternatively, if you have a compelling reason, such as a security fix, you can choose to immediately overwrite the form template.
If you need to update an existing template part, you open it, make the necessary changes, save the template part, and then redistribute it to form designers. After form designers add the latest version of the template part to the Controls task pane, they can use it in their form templates. If they open a form template that contains an older version of the template part, InfoPath will prompt them to update that template part with the latest version.
The following resources describe in more detail how to modify and update form templates and template parts.
Click Introduction to updating existing form templates Modify a published form template Move a published form template to a new document library Change or remove a data connection Add, remove, or update resource files in a form template
To Find out how InfoPath updates a form template and any corresponding user forms. Read about considerations for updating browser-enabled form templates, and about techniques for avoiding data loss in existing user forms.
Learn how to make changes to a published form template, modify a working copy of the form template, and then republish the working copy to the original publish location. Efficiently move a form template and any existing forms from one library to another. For example, after deploying your form template you might have to move your form template to a server with more capacity so that more users can fill out forms at the same time. Modify or remove data connections from your form template. You may need to do this if the external data sources for your form template change. Manage files that are added to a form template to support the functionality of its associated forms. For example, you might need to add an HTML file that is used to display information in a custom task pane (custom task pane: An .html file whose content is displayed in a window next to a form. Custom task panes can provide form-specific commands and Help content.) or modify an XML file that is used to display items in a list. Modify the design of an existing template part.
Top of Page
Seite 48
PHASE 5: ARCHIVE
Organizations often archive form templates and forms as the last step in the form-design life cycle. If you no longer need a particular form template, you may want to retire it from use and keep a digital copy of the form template for your records. In addition, you may want to preserve the data collected in forms that are based on that form template.
Many organizations follow strict guidelines regarding the long-term storage and preservation of data in archives. For example, an organization might be required to keep customer transaction records on file for a specific number of years. The archive guidelines in your organization may be driven by internal policies, regulatory compliance, or both. As part of the planning process, you should find out what your policy is.
If you plan to retire a browser-enabled form template that is still being used, you should plan to either perform a gradual upgrade or quiesce (quiesce: To gradually bring a farm, service, or form template offline by not accepting new user sessions and allowing existing sessions to finish.) the form template in order to prevent current sessions from being terminated, which could result in the loss of data and an abrupt interruption for users filling out the form.
It's also a good idea to archive the source file for the form template (the .xsn file) in a version control program or another type of file management solution that your organization uses. Doing so helps ensure that you and your organization have a record of the form template that you can use when referring to archives of forms and form data, and in the event that you want to restore or update the form template.
NOTE
When you convert a form into a Web page, the resulting file may be slightly different from the original file. You
should verify the results of the conversion to make sure that it serves your needs. For example, if a data connection to a secondary data source was used to populate a list box on the form, you wont see all of the list box values in the archived form. Instead, you will see only the value that the user specified when they filled out the form.
Seite 49
In InfoPath, you can archive a form by opening it and exporting it to one of the following formats:
Portable Document Format (PDF) PDF is a fixed-layout electronic file format that preserves document formatting and enables file sharing. The PDF format ensures that when the file is viewed online or printed, it retains the exact format that you intended and that data in the file cannot be easily copied or changed. XML Paper Specification (XPS) XPS is an electronic file format that preserves document formatting and enables file sharing. The XPS format ensures that when the file is viewed online or printed, it retains the exact format that you intended, and that data in the file cannot be easily copied or changed.
You can save as a PDF or XPS file from a 2007 Microsoft Office system program only after you install an add-in. For more information, see Enable support for other file formats, such as PDF and XPS.
You can also export a completed form as a Web page, in Single File Web Page (MHTML) (Single File Web Page (MHTML): An HTML document saved in MHTML format, which integrates inline graphics, applets, linked documents, and other supporting items referenced in the document.) format. This file type allows people to view (but not modify) the contents of the form in a browser.
Seite 50