Elczar Adame's Shared Points on SharePoint

Archive for March 11, 2008

Office Business Applications

Office Business Applications

Part 1 of 3: InfoPath Forms Services


In the previous part of this piece, we have attempted to give light on what Office Business Applications are. We have said that they are innovative set of applications to connect systems with people by merging the potentials of 2007 Microsoft Office System – such as Microsoft Office SharePoint Server 2007, Microsoft Office PerformancePoint 2007, and Microsoft Office 2007. They are devised to present line of business information to information workers inside their common productivity tools, such as Microsoft Office Word 2007, Microsoft Office Excel 2007, and Microsoft Office Outlook 2007.

Thanks to Maria Green, a Regional Evangelist for Microsoft and an organizer of Microsoft Community {Heroes} – Philippines, for sharing with us the book of Rod Barker et al on Microsoft Office Business Applications for Office SharePoint Server 2007. A book which reveals the heart and secret of business applications that top executives, information workers, solution architects, IT professionals, developers, and students MUST know.

InfoPath Form Services

In this part of our guide, as we have we have drafted in the preceding part, will be creating a Microsoft Office InfoPath 2007 form for the data entry of our demonstration Survey System. And the same form will be published to a Microsoft Office SharePoint Server 2007 form library through InfoPath Forms Services. The InfoPath Forms Services is a part of both Microsoft Office SharePoint Server 2007 and Microsoft Office Forms Server 2007. Through Web Service, the InfoPath Forms Services communicates to Microsoft Office SharePoint Server 2007 components in invoking and serving a browser-enabled form template by means of XmlFormView control.

Architecturally, the InfoPath Forms Services is bundled with key components, including supporting ASP.NET Modules, InfoPath Forms Services HTTP Handler, Converter, and Page Generator. The supporting ASP.NET Modules and InfoPath Forms Services HTTP Handlers are charged to send requests to the Converter and Page Generator, to forward postback information to the Page Generator, and to return the HTML response to the browser. The Converter, moreover, is tasked not only to convert a form template (.xsn) into solution module (.aspx), but also to cache solution data and to forward a converted file to the InfoPath Forms Services HTTP Handler. Finally, the Page Generator is designed to communicate with the external data source, retrieves session state, captures initial data and solution modules, processes postback event log data, and returns data to supporting ASP.NET modules.

InfoPath Form Services Runtime

InfoPath Forms Services runtime is sets off with redirection to FormServer.aspx, and then it sends pre-generated and solution-specific JScript data arrays. The script array handles:  generation and rendering HTML based on the JScript array, creating an event log, data validation, calculation, rules, form editing actions, and conditional formatting. Likewise, it sends back the event log to the server, in JScript array, in the next postback. The server repeats actions in the log for initial XML data and updates the form with differential changes. If necessary, it executes rules and business logic. Additionally, an InfoPath Form could also be rendered in a mobile device through MobileFormServer.aspx. But unlike in internet browser rendering, a form is rendered in full postback for mobile device.

Finally, one could choose from several methods to invoke a browser-based enabled InfoPath form, including reference a form template file (.xsn), reference a form file (.xml) based on form template, reference the FormServer.aspx, or reference a custom page containing an XmlFormView control.


1.      Create a database in Microsoft SQL Server 2008 for our data storage. It should contain a table for our data entry. In this case, I have named the table as Survey. No need to mention of defining corresponding columns based on our requirements. Moreover, we need also to create corresponding stored procedures for insertion, deletion, collection, and computation of survey responses.

2.      Secondly, through Microsoft Visual Studio 2008, create an ASP.NET Web Service for our service interface layer. For demonstration purposes, I have created Web Methods to insert, delete, collect, and compute survey responses.

3.      Now, let us open our Microsoft Office InfoPath 2007. Select Design a Form Template > Web Service. Make sure that Enable Browser-Compatible Features Only is checked. Then, click OK. Below is the illustration.


Design Form


4.       In the Data Connection Wizard, as illustrated below, select Submit Data option. Enter the location of our Web service, and then select corresponding Web method. Finally, assign a name of our Data Connection, and then click Finish.



Connection Wizard


5.      Now we could start designing our Survey Form based on the columns we have defined in our database. The final output of our Survey Form is illustrated below.

Survey Form

6.      In this demonstration, we will try to create additional columns for the summary of response. To do this, as illustrated below, we will add a text box to our form and name it Total. Right-click the text box, and click Text Box Properties. In the Text Box Properties windows write Social + Political + Economic + Religious in the value field. This means that the Total text box will display the total values selected in our option buttons. This is not to mention that we could add other controls that accommodate more complex formulation, including a text box that interprets that formulated value of another text box – e.g. a text box value of concat(round(Total / 20 * 100), "%").

Button Properties


7.      To add functionalities to our form, we could add other Views for our List of Responses and other features. We could make us as well of the Rules in the button properties to set conditions and add actions.

8.      Moreover, we could apply advance functionalities to our form. The book Rob Barker et al that I have mentioned above provides us several patterns and models for this – including generation of Word document, PowerPoint slides, and Excel worksheet from InfoPath form. Thanks to open XML formats.

9.      Before publishing our form, we will set some of its options. Click the Tools menu, and then Form Options. Under the Security and Trust section, as illustrated below, choose Full Trust as the Security Level and specify a certificate to digitally sign our form template. Make sure also that the Browser Compatibility is checked in the Compatibility section.  Similarly, we can set the other form options based on our requirements.


Form Options


10.  Finally, we will deploy our Survey Form. To do this, click Publish Form Template in the Design Tasks pane. Complete the Publishing Wizard. Make sure that you would publish it as an administrator-approved form template.

11.  Now it is time for us to do some configurations in our SharePoint 3.0 Central Administration. In the Application Management, under the InfoPath Forms Services section, click Upload Form Template to upload our Survey Form to a specific site collection. Give surety that our form template is activated. To do this, in the Manage Form Templates, point to our form template, click the drop-down menu, and then click Activate to a Site Collection. Below is the illustration.


Activate Form


12.  In our Web application, consume our Survey Form based on the user requirements. You may consume it through an XmlFormView or as a Content Type. Make sure that under the Configure InfoPath Forms Services, the Allow Users to Browser-Enable Form Template and Render Form Templates that are Browser-Enabled by Users are checked. And for security grounds, we need to use the InfoPath Web Service Proxy for our data connection and user form. The final output is illustrated below.

Survey Form Services

The next piece of this paper is exhilarating as we will be creating, through Microsoft Office Fluent Interface and Microsoft Visual Studio 2008, a customized Microsoft Office Excel 2007 template that would serve as a reporting tool for our demonstration Survey System. Stay tuned and thank you very much for reading this part.


Tag Cloud