If you've worked much with Microsoft Access, I'll bet that one of the features you found handy was the capability to create dynamic forms that tied in to an underlying data source. Creating forms can be relatively easy in Access thanks to the Form Wizard, and you can build additional capabilities into those forms with VBA. But in the end, the form is tied to Microsoft Access. Whether you need to move beyond the capabilities in Access to SQL Server, or just want to build forms that you can use with other applications, InfoPath 2003 could be a good choice. In this article I explore InfoPath in detail to help you understand the part it might play in your organization.
Form, form, everywhere a form
Many businesses run on forms—purchase orders, expense reports, sales summaries, change orders—the list goes on and on. What sets us apart from the lower life forms on the planet isn't the ability to make and use tools; it's the ability to make and use forms in endless variety—-and in triplicate.
Certainly, one barrier to the paperless office is the inertia of forms. Who is going to convert all of those forms to electronic format? What happens to an electronic form? Is it enough to just file it on a disk somewhere, or do you need a paper copy? If your company has struggled with these questions, Microsoft's InfoPath 2003 might be your first step away from all that paper. Plainly and simply, InfoPath is an application that lets you design and use electronic forms. But you could do that with Microsoft Word, so what's the difference?
Forms you create with Word or similar applications can certainly be useful, but in most cases a form should do more than just serve as a place for someone to fill in the blanks. You're gathering the data on the form for a reason. How can you best put that data to use? Wouldn't it be even more useful to be able to save that data, integrate it into your business systems, and wring every drop of usefulness out of it you can, and all without touching paper or requiring someone to re-key that data into your systems?
You can build forms in InfoPath that store the data within the form as XML files. At its core, InfoPath is an XML editor. You can store the forms on disk, send them via e-mail, and work with them as you would any other electronic document. You can easily share the forms by storing them in a network folder or publishing them to a SharePoint site.
Just building electronic forms doesn't really integrate them into your business systems. Often, data needs to be migrated to a database at some point in the process. Sometimes, that data migration happens through a Web service, a custom application tied in to the database through an ODBC connection, or some other mechanism. You can integrate InfoPath forms right into your business system by associating a data connection with a form. So when a salesperson fills out an invoice, the data can tie in to your billing database where it's ready for the end-of-month run. There is no intermediate translation necessary, because the form simply serves as a window to the backend database.
Whether you integrate the data into a database or leave it embedded in the form itself, an electronic form lends itself to much greater flexibility. InfoPath supports form merging, which makes it easy to merge the data in multiple individual forms into a summary form.
The form design process
In today's WYSIWYG world, you would expect a form design application to be easy to use and make it possible for anyone without layout experience to create a form with relatively little pain. InfoPath includes 25 sample forms that you can use as-is or modify to suit your needs, and a quick search of Microsoft's Office Online site turned up 39 additional InfoPath forms for a variety of uses in healthcare, business, and finance/accounting.
As you might expect, you can also create forms from scratch in InfoPath. Anyone with a little Web design experience will feel right at home designing forms in InfoPath, as will anyone with much experience in Word or other page-layout applications. It would take someone with no experience some time to get up to speed creating forms, but once you have the basic concepts down, it's really not very difficult. It's certainly no challenge for an IT staffer.
As with a Web page, an InfoPath form starts with a layout table. You can add multiple tables to a form as needed, merge cells within tables, and generally build whatever layout structure you need. The table forms the framework for laying out the other objects on the form, which you insert within table cells. The Standard set of controls includes text boxes, labels, drop-down lists, check boxes, a date picker, option buttons, and a handful of others. The Repeating and Optional control group includes such objects as a repeating table (for multiple expense items in an expense report, for example), repeating regions, bulleted lists, and others. The File and Picture group includes file attachment, picture, and ink picture objects. The Advanced group includes hyperlinks, vertical labels, choice groups, repeating choice groups, and a handful of other controls for more advanced functions. You can also add custom ActiveX controls to your forms.
Adding data sources
While it's relatively easy to create a functional, professional-looking form with InfoPath, database-enabled forms take some additional work. Power users might be able to create such forms if they have a good understanding of Access, ODBC, or other database technologies, but the average user likely will not. Not only must you understand how to create the data connections (which implies some understanding of how those connections work), but you also need to understand how to add the appropriate types of controls to the form and bind them to the data sources. Some experience in developing Web applications, Access forms, or even database-integrated Web pages will be a plus.
Each data source for a form needs to be associated with a connection in the form. You can create two types of data connections: those that submit data and those that receive data. A form can incorporate multiple data connections as needed. The form can include a primary data connection that you define when you create the form (associated with a database or Web service), as well as secondary data connections that are added after the form is designed. Data connections can receive data from a Web service, database, SharePoint site, or XML document. Connections can submit data to a SharePoint form library, Web service, or database, or can submit a form as an e-mail attachment. A primary data connection associated with a database can both send and receive data. User roles and security
InfoPath lets you define user roles for a form. You can specify role by user name, with groups, and by specifying user names that come directly from the form. Once user roles are assigned, you can use them to apply conditional formatting to data, create rules that perform specific tasks such as switching form views, vary data validation based on role, and so on
Although user roles in InfoPath offer some control over how a form is used and thereby provide some form of security, user roles do not equate to data security. For example, anyone with a little knowledge could simply open a form's underlying XML code in Notepad and acquire proprietary data from the form. So, forms should not be used to store sensitive data. That data should be left on a backend database or other data source and accessed dynamically by the form.
InfoPath forms do offer three levels of form security:
- Full Trust
These security levels determine the sources from which the form can pull data, whether from the local computer or from other domains (Web domains defined by IE zone settings, not Active Directory domains). The security level can also affect the features on the form when the user views and fills it out. The Full Trust level enables the form to access content from essentially any source (subject to local user access restrictions), but using Full Trust requires that the form template be digitally signed by a trusted root certificate or be installed on the computer through an installation program such as Windows Installer. In short, you do have good control over how and when a form can be used.
InfoPath provides other security features, as well. To authenticate a user and the data entered, a user can digitally sign part of a form when filling it out. You can restrict users from modifying, printing, saving, sending, merging, and exporting the form. Finally, you can establish a list of trusted publishers and trusted forms to control form use.
Requirements and availability
To use InfoPath, the client computer must be capable of running Office 2003, which means Windows 2000 with SP3 or later, Windows XP, or Windows Server 2003. Internet Explorer 6 is required, and SharePoint Services running on Windows Server 2003 is required for some collaboration features.
As a standalone product, InfoPath is priced at $199 and is available in individual, volume, and academic licensing modes. InfoPath is also included in Microsoft Office Professional Enterprise Edition 2003.