Today sees the launch of “InfoPath Cool Forms”. In this series, we will feature cool forms that showcase a form design practice or interesting scenario.
This week’s cool form is the “Ask Kanesha” request form. This is a neat little form that we use on the InfoPath team to submit requests to our Group Business Administrator, Kanesha.
Kanesha was being flooded with requests from team members and tracking all these requests was becoming a challenge. To help manage the requests, we created an ‘Ask Kanesha’ InfoPath browser form that submitted all requests to a SharePoint list. Team members use this form to submit requests. A simple workflow fires alerting Kanesha to the new request. Certain requests such as those for small hardware can be completed in minutes. The dropdowns in the form automatically filter to guide us to the right hardware. Other custom requests may take longer and can be managed by Kanesha online. The form saves us time and helps Kanesha keep track of all the requests that come her way.
If you have a “cool” form that you would like to share with us, please send an e-mail with the following details to coolform@microsoft.com -
- Attach 1 or 2 screenshots of your form
- Provide a brief description of the form
- You may also attach the XSN file (optional)
The most popular submissions will be featured on our blog in future posts.
In this week’s “5 for Forms” video demo, Nick Dallett will show you how to create a loan calculator application without writing a line of code. This simple application leverages the power of the InfoPath and Excel Web Parts by using an InfoPath form to input the values that are sent to an Excel Workbook which contains the complex formulas that calculate the repayments.
If you want to learn more about the new InfoPath Form Web Part, check out Nick’s earlier video demo – Managing data in your SharePoint Lists using the InfoPath Form Web Part.
Enjoy and please let us know what you think!
The InfoPath Team
Registration is now open for the 1st session in the InfoPath 2010 Academy Live Series, An Introduction to SharePoint Applications using InfoPath 2010, presented by Bojana Duke.
In this series, you will hear directly from InfoPath product team members who will talk in-depth about InfoPath and Forms Services 2010 and how you can quickly and easily build applications in SharePoint without writing a line of code.
Click the link below to sign up for this free event.
Event Title: An Introduction to SharePoint Applications using InfoPath 2010 (INP02AL)
Date/Time: Wed Feb 10, 2010, 8:30 AM, USA Pacific
Event Registration URL: https://www.eventbuilder.com/event_desc.asp?p_event=e0b96f2a
This week’s “5 for forms” video demo continues the theme of SharePoint list customization. In the 1st video in this series, Daniel Broekman showed how you can take an existing list on SharePoint and customize the form for that list in InfoPath.
In this week’s video demo, Ines Khelifi, a developer on the InfoPath team shows how you can create a new SharePoint list and custom form directly from InfoPath Designer.
Enjoy and please send us your feedback!
The InfoPath Team
Do you want to hear about the exciting, new features and scenarios that have been added in InfoPath and InfoPath Forms Services 2010? Then, sign up for our upcoming Academy Live series.
In this series, you will hear directly from InfoPath product team members who will talk in-depth about InfoPath and Forms Services 2010 and how you can quickly and easily build applications in SharePoint without writing a line of code.
The series will consist of 4 sessions presented by members of the InfoPath product team. We will present 1 session a month, starting with an “Introduction to InfoPath and InfoPath Forms Services 2010”, presented by Bojana Duke from the InfoPath program management team. This session will take place on Wednesday, February 10th at 8:30 AM (PST).
Whether you are an InfoPath newbie or an experienced InfoPath user, we encourage you to sign up for these free sessions. Stay tuned for more details on how to sign up.
Thanks!
The InfoPath team.
Hi. My name is Phil Newman and I'm a program manager on the InfoPath team. In this post, I'd like to introduce you to one of my favourite new features in InfoPath 2010 - Sandboxed Solutions. In InfoPath 2010, forms with code can now be published directly to SharePoint without requiring the farm administrator to approve and upload them! These forms run in a sandboxed environment which protects other resources on the SharePoint server from malicious code.
In this short video demo, I show how you can add the ability to sort repeating tables in your forms using code. I use picture buttons in the heading of the repeating table to trigger the code which sorts the table based on the values in the columns.
About the Code
In a nutshell, the code puts the XML from the repeating table into an array, sorts the array using built-in .Net functionality, and then writes back into the XML to update the table.
|
//Sorts a repeating table. Takes the parent group node and the index of the column to sort by.
private void SortTable(string xpathToSort, int columnToSortBy)
{
//get the values in an array
string[][] ValuesToSort = GetRepeatingTableValues(xpathToSort);
//sort the array
Array.Sort(ValuesToSort, new StringArrayComparer(columnToSortBy));
//write the values back to the xml
SetRepeatingTableValues(xpathToSort, ValuesToSort);
}
//Takes an array of arrays and inserts it into a repeating table
//Assumes that the array and table are the same size
private void SetRepeatingTableValues(string xpathToSet, string[][] tableValues)
{
//Create a navigator on main node supplied in the parameters
XPathNavigator mainGroup = this.CreateNavigator().SelectSingleNode(xpathToSet, this.NamespaceManager);
//Clone the first child node of the main navigator and populate it with data
XPathNodeIterator tableRows = mainGroup.SelectChildren(XPathNodeType.Element);
//iterate through the existing XML and update the values from the sorted array
for (int i = 0; i < tableValues.Length; i++)
{
tableRows.MoveNext();
XPathNodeIterator thisRow = tableRows.Current.SelectChildren(XPathNodeType.Element);
for (int j = 0; j < tableValues[0].Length; j++)
{
thisRow.MoveNext();
thisRow.Current.InnerXml = tableValues[i][j];
}
}
}
//Returns an array of arrays of strings representing the values in a repeating table
private string[][] GetRepeatingTableValues(string xpathToGet)
{
XPathNavigator myNav = this.CreateNavigator();
int rows, cols;
XPathNodeIterator tableNodes;
//figure out the dimensions of the table
tableNodes = myNav.SelectSingleNode(xpathToGet, this.NamespaceManager).SelectChildren(XPathNodeType.Element);
rows = tableNodes.Count;
//move to the first row to count the columns
tableNodes.MoveNext();
cols = tableNodes.Current.SelectChildren(XPathNodeType.Element).Count;
//create an array to store the values
string[][] tableValues = new string[rows][];
//get all the rows in the table
tableNodes = myNav.SelectSingleNode(xpathToGet, this.NamespaceManager).SelectChildren(XPathNodeType.Element);
//iterate through the rows and write the inner xml of each element in each row to the array
for (int i = 0; i < rows; i++)
{
tableNodes.MoveNext();
XPathNodeIterator childNodes = tableNodes.Current.SelectChildren(XPathNodeType.Element);
string[] rowValues = new string[cols];
for (int j = 0; j < cols; j++)
{
childNodes.MoveNext();
rowValues[j] = childNodes.Current.InnerXml;
}
tableValues[i] = rowValues;
}
return tableValues;
}
//Comparison implementation for array or arrays
class StringArrayComparer : IComparer
{
private int iColumn;
public StringArrayComparer(int iColumn)
{
this.iColumn = iColumn;
}
int IComparer.Compare(Object x, Object y)
{
string[] xAsString = (string[])x;
string[] yAsString = (string[])y;
return xAsString[iColumn].CompareTo(yAsString[iColumn]);
}
} |
Requirements for publishing your forms with code as Sandboxed solutions:
- The Sandboxed code service need to be enabled on the farm
- You must be a site collection administrator on the site collection you’re publishing to
- Your form must be domain trust
- Your form template must be an InfoPath 2010 template
- InfoPath 2007 form code needs to be upgraded to InfoPath 2010 form code
Complete sandboxed solution documentation is available here. Note that InfoPath takes care of packaging and activating the solution, all you need to do is publish your form to a document library or as a site content type.
I look forward to hearing your comments about this new feature. Let me know what you think!
Phil
One of the powerful new features in InfoPath 2010 is the InfoPath Form Web Part.
This is the 1st in a series of videos where we will show how to use the InfoPath Form Web Part to create rich mashups on portal pages in SharePoint, without writing a single line of code. In this video, Nick Dallett, a program manager lead on the InfoPath team, will demo two simple scenarios for managing data in your SharePoint lists using the InfoPath Form Web Part.
Enjoy!
In the 2nd installment of our "5 for Forms" video demo series, Charlie Han, a program manager intern on the InfoPath team shows how you can use our new picture button control to create tabs to more easily navigate your forms.
(There are additional steps required to create tabs in display views. Click here to find out more.)
Enjoy!
Today sees the launch of our new "5 for forms" video demo series. In this series, we will demo a cool new InfoPath 2010 feature or scenario in less than 5 minutes.
In the 1st video of the series, Daniel Broekman, a program manager on the InfoPath team will show you how you can customize a SharePoint list form with just a few clicks:
We will post the next video in the series "Create tabs using Picture buttons" after the holidays on January 7th.
Enjoy!
Now that you have had time to download the SharePoint 2010 and Office 2010 Beta releases, we want to see some of the great solutions that you are working on. To encourage you and foster some good-natured competition, we're opening up the contest that we started with the Technical Preview to all users of SharePoint 2010 and InfoPath 2010.
What is the InfoPath team looking for?
We want to see great examples of real-world solutions created using InfoPath and SharePoint 2010. If you have a solution you're building to solve a business problem for yourself or a customer, and you're using SharePoint 2010 with InfoPath forms, we want to see it! We'll use the videos you produce to understand what sort of solutions our customers create, to showcase best practices in our blog or at events, and to give you the recognition you deserve. You could be an InfoPath star!
Don't stop with the InfoPath form - we're looking for great examples of integration. For example:
- Use SharePoint workflows to complete your scenario
- Generate Word documents from your InfoPath data using OOXML, and convert to other formats using Word Services
- Interoperate with line of business systems using Business Connectivity Services
- Create Web part portal pages that mash up forms and data using the InfoPath form web part
- Be creative! We want to see great examples of enterprise software that features InfoPath and SharePoint
How do I win the Xbox?
- Build a real-world end to end application using InfoPath 2010 and Microsoft SharePoint Server 2010.
- Download the Community Clips Recorder from http://communityclips.officelabs.com/
- Record a walkthrough of your solution, showing us how you used InfoPath forms and other Office technologies (5 minutes maximum)
- Submit the finished video to us
Contest is limited to eligible individuals as defined in the official contest rules (link below), and additional limitations may apply. All submissions will be reviewed by the InfoPath team, and prizes will be awarded in several categories, including best overall solution, best video, and best bug.
Please note that only legal residents of the US and Canada are eligible for prizes. However, we're eager to see videos from everyone, and we will showcase the best videos we receive, regardless of whether you are awarded a prize.
Click here to read the Official Contest Rules.
The InfoPath team is excited to announce the release of the Office 2010 and SharePoint Server 2010 public betas! For the 1st time members of the public can download InfoPath 2010. Download it now from www.microsoft.com/2010!
Here are just some of the highlights in this new release. (For more details, see our earlier What's New in InfoPath 2010 post).
Quick and Easy Form Design
- Designing good looking forms has been made easier with our new page layout templates, layout tables, and themes.
- With our new out-of-the-box rules and improved rules management UI, you can easily add rules to validate data, format your form, or perform other actions with just a couple of clicks, and without any code.
- Our new “quick” publish functionality allows you to publish forms in a single click (no more clicking through the Publishing Wizard every time you want to make an update to your forms!)
- New Controls include the picture button, signature line control and person/group picker which is now available out-of-the-box in the controls gallery.
SharePoint Integration
Over the past 3 years of product development, we’ve made huge investments in integration with the SharePoint platform to make it much easier to build rich forms-based applications on top of SharePoint Server 2010.
- Using InfoPath, you can now extend and enhance the forms used for creating, editing and viewing items in a SharePoint list.
- With the new InfoPath Form Web Part, you can host your forms on portal pages without writing a single line of code.
- With SharePoint sandboxed solutions, forms with code can be published directly to SharePoint libraries without requiring administratror approval.
- Richer browser forms:Bulleted, numbered, and plain lists, multiple selection list boxes, Combo boxes, Choice group and sections, and Filtering functionality are now supported in browser forms.
- InfoPath Forms Services Administration and Management: We have invested in many improvements to make it easier to manage InfoPath Forms Services as a component of Microsoft SharePoint Server 2010. These include Powershell commandlets to automate tasks and SharePoint Maintenance Manager Rules to monitor the health of your server.
Introduced since the technical preview, InfoPath now supports connecting to REST Web Services.
Go download the beta now and send us your feedback using Send-a-Smile.
Enjoy!
The InfoPath Team
This week, Channel 9 launched two new training courses for SharePoint 2010 and Office 2010 created by developers for developers. You’ll find extensive instructor recordings from top MVPs on how to develop against both SharePoint and office 2010.
InfoPath is featured in:
- Office 2010 Developer Roadmap - Office 2010 Development Tools - This video provides an introduction to building solutions for Office and SharePoint 2010 using Visual Studio 2010, SharePoint Designer 2010, InfoPath 2010, and Access 2010.
- InfoPath 2010 and Forms Services - This unit which contains 4 videos covers development of custom SharePoint List Forms and workflows, publishing InfoPath Forms and connecting external data to InfoPath Forms.
- What is InfoPath 2010? - This video introduces the capabilities of InfoPath, the form design experience, InfoPath Forms Services and the InfoPath Form Web Part
- List Forms using InfoPath 2010 - This video covers how to develop a no-code, custom InfoPath form for a SharePoint List, publish the InfoPath form and then connect the InfoPath form to another List as an additional data source.
- Working Offline with InfoPath 2010 - This video discusses offline support for InfoPath 2010 with SharePoint Workspace 2010 and the online/offline synchronization process.
- InfoPath 2010 and Visual Studio - Developers can enhance InfoPath 2010 forms with Code Behind using Visual Studio Tools for Applications. This customization can be done in either C# or VB. This video also explains how SharePoint isolates custom code in its Sandbox environment.
The recent SharePoint Conference ended with a bang as Nick Dallett showed participants how they could create rich enterprise mashups by using InfoPath to create dynamic web parts without writing code.
Nick showed off the new InfoPath form web part and demonstrated how easy it is for business users to use the web part to create composite applications together with other web parts that ship out of the box in SharePoint 2010, as well as custom web parts created by developers.
Nick started by defining what an enterprise mashup is, pointing out three key points:
- They are created by *business users*, not IT
- They feature one or more sources of enterprise and public data
- They provide visualizations of that data which helps users make better, faster, and more efficient decisions.
He then went on to present 9 different scenarios where InfoPath was used as part of an enterprise mashup. Each mashup illustrated a slightly different angle of the two design patterns that underlie all of the examples:
- The Connection-oriented design pattern, where web parts communicate using part-to-part connections, and
- The List-oriented design pattern, where web parts communicate by virtue of the fact that they are connected to one or more related lists
1. Channel Analyzer (IDV Visual Fusion)
(Design pattern 2 – list-oriented)

Scott Caulk from IDV solutions (http://www.idvsolutions.com/) gave a brief demonstration of an application built on their Visual Fusion product. Visual Fusion is a rich Silverlight-based web part which allows users to aggregate multiple sources of data from the enterprise or the web, and visualize it in Bing maps. Scott showed how a marketing manager for Litware books can use sales data plotted on the map to determine where a new promotional event may have the most impact. The manager then clicks a button to fill out an InfoPath form to schedule a new marketing event. Once submitted, data about all marketing events that have been scheduled is displayed on the map alongside the sales data.
2. Customers and orders
(Design pattern 1 – connection-oriented)
Nick had some fun with the next two demos, which center around Contoso Office Supplies, where Nick moonlights as a salesman (wink wink). After showing us the custom InfoPath form that he uses to display data from his customer list, Nick’s cell phone rang on stage, and after a brief moment of confusion (is he really going to answer a call in the middle of a presentation??), Nick let us know that the call was from Karie, the office manager over at Fabrikam. It was all part of the show! Karie wanted to know what pending orders she had so that she could put together the order for this week. Nick showed how he could quickly pull related orders information into the display form’s web part page with just a few clicks, and was able to give Karie the information she needed. Now that the web part page was modified, clicking on any customer in the list brought up not only their company information, but their pending orders as well.
Key concept: pull in related data using the “insert related list” action.
3. New Order form
(design pattern 1 – connection-oriented)
Once off the phone, Nick put together a page from scratch displaying his customer list, with a list of orders for the currently selected customer, and an order form that was prepopulated with the customer information. He explained the two connections that allowed him to filter the orders list based on the ID of the selected customer, and to tell the form to populate itself with customer data using a filter on a data connection to the customers list. (NOTE: filtering and parameterized sharepoint list queries are both now supported in browser forms for SharePoint 2010!).
Key concept: filter a data connection based on an incoming connection parameter.
4. Customers master-detail
(design pattern 1 – connection-oriented)
Nick pointed out that the simplest web part mashup to build is a master-detail scenario for a list with a custom InfoPath form. He threw a list view onto a web part page, added an InfoPath form web part, and simply set up a connection using the “Get Form From” action to specify both the form and the connection to the list in one go. Now, selecting a customer in the list displays the form for that customer alongside the list, allowing for quick access to data across multiple customers.
Key Concept: build master-detail pages using the “Get Form From” connection action.
5. Office Dogfood Voting
(design pattern 2 – list-oriented)
This mashup was an alternate implementation of a solution used at Microsoft to track the quality of Office builds. As people install new builds and use them in their daily work, they can submit votes on whether the build is a good one (thumbs up) or a turkey (thumbs down), with some details. The mashup page shows a list of builds, with aggregated information about votes cast about that build, and calculated columns which determine a rating for that build based on the number of yea or nay votes. Nick demonstrated how the form works by submitting the vote to the underlying Votes list and then displaying a “Thank you” view to the user. He then showed the workflow that increments the “for” and “against” counters for a build based on the submitted vote.
Key concept: use data in a list to drive workflow and influence the display of other web parts.
6. Microsoft Helpdesk
(design pattern 1 – connection-oriented)

Next, Nick showed a page with two InfoPath forms and a list. The Helpdesk form is an updated version of the form demonstrated in many of our InfoPath 2007 conference presentations. It’s a rich form which shows a dynamically determined set of fields and values based on a problem category and problem area chosen by the user in a set of cascading dropdowns. Based on the chosen category, the form sends a filter parameter, using the new Send Data to Web Part rule action, to filter a list of known solutions related to the problem category.
A second InfoPath form in the page shows information about the logged-in user. This display-only web part uses a query against the userprofile web service in SharePoint to bring in information from the User Profile Store.
Key Concepts: filtering dropdowns in the browser, using the Send Data To Web Part rule action, creating display-only web parts using InfoPath.
7. Loan calculator
(design pattern 1 – connection-oriented)

This demo showed how to use InfoPath to create a rich form that drives complex calculations in an Excel workbook hosted in Excel Services. Nick used the Loan Calculator from Office Online, and a simple custom InfoPath form, put them both in a web part page, and then used SharePoint Designer to set up a multiple filter value connection between the form and the workbook. The form adds default values, data validation, and visual pizzazz to the powerful calculation engine of Excel to create a compelling composite with no code.
Key concepts: connecting InfoPath forms with Excel, using SharePoint Designer to specify multi-valued connections.
8. Insurance claims processing
(design patterns 1 and 2 – list AND connection oriented)

Nick showed a 4 part mashup centered around an insurance claims manager looking at claims submitted by customers in the wake of a violent storm. Clicking on a claim in a list view shows the location of the claim in a custom web part using Bing maps, a photo of the damage in the Image Viewer web part, and an InfoPath form which allows him to assign an adjuster based on the geographic location and set a priority based on the damage photos. The map shows all of the claims in the list (design pattern 2), but accepts a list item ID as a connection parameter, and centers the map on that pin when a list item is selected (design pattern 1). Finally, clicking on a pin in the map displays the original form submission in a popup dialog using the showPopupDialog( ) javascript method.
Key concepts: combine design patterns for complex scenarios, use Bing maps in custom Web parts, display InfoPath forms using showPopupDialog( ).
9. The Microsoft Giving Campaign
(design pattern 2 – list-oriented)

The final mashup of the day was built around the Microsoft Giving Campaign, which happens this time each year. Employees are encouraged to donate to their favorite charities, and the donations are tracked to get an overall picture of employee giving. The Give web mashup shows three web parts, including an InfoPath donation form, a chart web part showing aggregated donations by business division, and a custom Silverlight web part showing progress towards the campaign goal. (The custom part is a project that Mike Ammerlaan from the SharePoint team demonstrated earlier in the week in his talk on creating web parts using Silverlight.). This mashup features a similar structure to the Office Build Voting mashup shown earlier, in that there is a single list which contains all employee donations, and a second list which lists donations by business division. Submitting a donation to the Donations list kicks off a workflow which updates the Divisions list with the new total donation amount. The chart web part (which ships with SharePoint 2010) shows the breakdown of donations by division, and the Silverlight gauge web part shows a graphical representation of the total number of donations relative to a fixed goal.
Key concepts: using custom Silverlight web parts, chart web part
At last week's SharePoint conference in Las Vegas, Rick Severson, a test lead on the InfoPath product team presented a session called Performance Best Practices for SharePoint Forms Services 2010. This session covered best practices and performance improvements in InfoPath 2010. In this post, we will cover the highlights from this session.
InfoPath Team Members who attended SPC:
(From Back Row Left to Right: Daniel Witriol (Program Manager Lead), Darvish Shadravan (Technology Specialist), Rick Severson (Test Lead), Nick Dallett (Program Manager Lead), Roberto Taboada (Program Manager), Bojana Duke (Program Manager), Peter Allenspach (Group Program Manager), Umut Alev (Development Lead))

We had about 100 people in the room for this deep dive of InfoPath performance best practices. Rick opened the session by defining what fast forms are. He used a sample 1040EZ form to demonstrate a "lightning fast form" out of the box. In InfoPath Forms Services 2010, we've improved performance by achieving initial form load times of .8 seconds and subsequent form loads of .4 seconds. A sample passport form with 60 controls and some simple rules and data validation was used to demonstrate that requests per second (RPS) have increased. With this form, 1200 requests can be processed per second. That's a total of 2.1 million users per hour.
Rick then moved on to cover some of the scalability highlights in this release.
- Requests per second (RPS) have doubled.
- We can now scale out to 8 Web front ends for a single backend.
- Performance of SharePoint lists that have been customized using InfoPath is comparable to the default, out of the box SharePoint lists.
- Forms with Sandboxed code can process 340 RPS in a 1x3 topology
- Our new State Service allows for better scaling and faster session performance
- We’ve ported many fixes into 2007 SP2 so you can take advantage of many of these performance gains today
Performance improvements include -
- Our new, enhanced rich text control which is optimized for multiple instances on a form
- OnHover rendering of secondary data which improves rendering time
- Performance in customized SharePoint lists ensures that you get the richness of InfoPath without sacrificing performance
- New State Service
- Optimized .js for Ajax behavior rendering

In the next part of the session, Rick covered some best practices for optimizing the performance of your forms. He focused on the following 4 areas - Data Connections, Controls, Data size and business logic.
- For optimal performance, he recommended that you filter data at source rather than returning large data sets when querying data sources.
- InfoPath 2010 users can now take advantage of our new browser form filtering capabilities.
- Users should avoid running data queries on form load and instead run them on demand.
- It's a good practice to combine data queries with other actions, such as view switches to minimize the number of postbacks.
- To further improve performance, we recommend that you reduce form complexity, avoid out of context controls and avoid postbacks.
- When possible, you should take advantage of first request optimized forms. You can do this by avoiding logic in your form that has to be calculated on load. For example, if you use a default value of DateTime.Now(), then this has to be calculated on load so the form cannot be first request optimized.

The key takeaways from this session were high performance out of the box, complex solutions can be tuned easily and performance matters!
Additional Resources for improving the performance of your InfoPath forms:
Designing Browser enabled forms for Performance in InfoPath Forms Services
http://blogs.msdn.com/infopath/archive/2008/05/09/designing-browser-enabled-forms-for-performance-in-infopath-forms-services.aspx
Capacity Planning Document For IPFS
http://technet.microsoft.com/en-us/library/cc879113.aspx
InfoPath Forms Services 2007 Web Testing Toolkit
http://www.codeplex.com/ipfswebtest
As many of you may know, the SharePoint Conference 2009 is taking place this week in Las Vegas, Nevada and it's been a particularly exciting week for the InfoPath product team. Over the past 3 years of product development, we have made huge investments in integrating with the SharePoint platform. Finally, this week, we got the opportunity to unveil the fruits of these investments to the world, and so far, the reception has been tremendously positive! (Check out what people are saying about InfoPath 2010 on Twitter.)
SPC is taking place at the Mandalay Bay Hotel:

InfoPath Booth:
(from left: Umut Alev - development lead, Peter Allenspach - group program manager, Rick Severson - test lead):

InfoPath 2010 is well represented at this year's conference with a total of 5 sessions. The 1st session took place on Monday and was presented by Peter Allenspach and Bojana Duke from the InfoPath program management team.
The InfoPath session drew big crowds:

The session opened with an introduction to InfoPath 2010, followed by 3 feature demos which illustrated just how easy InfoPath 2010 makes it for Information Workers to create their own solutions without reliance on IT departments. Some highlights below -
InfoPath 2010 Overview:

Demo 1: Customizing a SharePoint list form
In this demo, Peter and Bojana walked through a real Microsoft internal College Recruiting scenario. Employees use SharePoint lists to sign up for recruiting trips. Bojana wowed the audience by taking the Recruitment Trip list form and customizing it in InfoPath in under a minute!
Peter and Bojana then went on to show how this form could be further enhanced and customized. Our new out of the box rules were used to add data validation and to conditionally show or hide sections in the form. A data connection to the Colleges list was added to pull details about the colleges into the recruiting trip sign-up form. The form layout was customized using our new pre-built layout tables and themes. They then showed how in a single click, the form could be published to SharePoint. Not only that, but they then showed how the list, including the customized form could be taken offline in SharePoint Workspace.
Last but not least, they opened the form in Firefox showing that you can use your browser of choice to fill out your forms.
Before Form:

After Form:

Offline Form in SharePoint Workspace:

Demo 2: Creating Mashups using the InfoPath Form Web Part
The 2nd demo took the Recruiting scenario to the next level. In this demo, Bojana created a simple portal page with 2 Web Parts, the Recruiting trip list and the new InfoPath Form Web Part. In only a few clicks, she connected the 2 Web Parts. Now when she selected an item in the recruitment list, the details for that trip were displayed in an InfoPath form.
Portal Page:

They concluded the 2nd demo by showing that both SharePoint solutions and InfoPath forms are truly portable and reusable. The site was saved as a template (WSP) and a new site was created from this template. The SharePoint list, portal page and InfoPath form were fully functional on this new site.
Demo 3: Office Business Applications: Procurement scenario
In this final demo, Peter and Bojana showed the audience how InfoPath helps IT departments develop full Office Business Applications on the SharePoint platform. They used a procurement scenario to demo these capabilities. In this scenario, an employee submits a request to purchase a new laptop computer. The solution used an InfoPath form that connects to a vendor database, that brings in details about the goods you can purchase.
Procurement Form:

This type of application can be built in SharePoint Designer, using web part pages to create the user experience. The data can be stored in form libraries, SharePoint lists, and external systems using Business Connectivity Services. If InfoPath rules don’t do the job of defining the desired form behavior sandboxed or full trust code can be added to the forms. SharePoint workflows can be used to send e-mail notifications and track status. And once you’re all done, you can package your application so it can be tested and eventually deployed to the production servers.
Procurement Portal Page:
This first session set the stage for the remaining InfoPath sessions of the week:
- Building Applications with InfoPath and SharePoint Designer (this session took place on Tuesday - more details to follow)
- Performance Best Practices for Forms Applications
- InfoPath 2010: Form Design Best Practices
- Form-Driven Mashups using InfoPath and Forms Services 2010
Stay tuned for more updates from Las Vegas!