jump to navigation

Building Applications with InfoPath and SharePoint Designer 2010: From SPC09 Las Vegas October 20, 2009

Posted by willhlaw in InfoPath, SharePoint, Sharepoint Designer, SPC09.
Tags: , , ,

Live from Las Vegas at Mandalay Bay. I am at the SharePoint Conference 2009 and listening to a presentation on InfoPath and SharePoint Designer 2010. I will tend to use IP2010 and SPD2010 for short. I type fast, but not that fast to keep up with some of these fast talking presenters who apparently are very expert on the subjects. Presenters are Roberto Taboada and Darvish Shadravan from Microsoft.

My top 3 features for InfoPath 2010 are listed at the bottom of this post.

InfoPath 2010 and SharePoint Designer 2010

  • Overview
    • IP2010 for capturing the right information
    • SPD2010 to get the information into the right hands
    • Introducing the Procurement Application
    • Review the Key app components
    • Demo, building the application – highlight new IP2010 features and best practices
    • Q & A
  • Presenters are stressing that it is a 300 level session so we need to follow along closely. (keyboard may need to quiet down a little.)
  • Demo, Procurement app for BlueYonderAirliens
  • From user perspective, a user needs a new laptop.
    • User fills out a form from the webpage. It is a pretty good looking form. Audience laughs because justification for new laptop is “Office party + beer + spill = broken machine J“.
    • A data connection uses an external list, not a SharePoint list.
    • New product details are selected via connected cascading dropdowns
    • Form is submitted and the request is updated on the web portal.
    • A workflow assigns an ID to the request and routes it to an approver.
  • Now, from approver’s point of view
    • A Portal for approver’s have list of tasks from workflow assignments in upper-left. Master-detail with details on the right.
    • Details view has hyperlink to the form. Ok, nice UI. No brainer.
    • Once request is approved, it turns green on the detail view.
    • A custom action in the workflow generates a word document that is an order form to place the order. To implement this, the SDK is used. XML is taken out of the IP2010 form and is used to generate the word document.
    • Word document looks good. It even includes a + expando when the mouse hovered over the details paragraph. Hmm…wonder what action that does.
    • Bad joke, Darvish calls Roberto, “Tub of water”. Nobody laughs.
    • An excel web part is used to see insight and stats on orders.
    • Another web part, shows aggregate view of grouped number of requests by user.
    • Then, approver goes into the form and updates a comment with, “I don’t think so dude.” Hmm…some laughed. These guys are making this fun, but not too fun, obviously.
  • Back to Roberto with a come-back joke. Not worth explaining.
    • End user would get a rejected e-mail from the approver’s rejection activing a workflow.
    • From the end user’s requests portal, end user can see a Visio generated workflow of where his requests currently stand. Pretty neat!
  • That was the demo, now to talk about the components. Everybody clapped after realizing it was the end of the demo.
    • Line of Business Data.
      • Store product & category info in external lists.
    • InfoPath Form
      • Combine product info & user input.
      • Create requests in form library
    • Approval Workflow
      • Create tasks in task list
      • Assemble order form in doc library.
    • Requester & Approval Portal
      • Start & manage requests
      • Track status with Excel & list Web Parts.
    • They will package and deliver code to the public. Several clappter. Is that even a word?
  • Details on each component
    • Line of business data
      • Form is themed to fit with portal
      • Product key is read only
      • External content type provides the secondary data connection for the product subcategories.
      • Final piece is actual Products list.
      • SharePoint Designer is used to manage the external data source, which is a database table, which drives the product data.
    • InfoPath Form
      • Shows that rules are MUCH easier to manage in IP2010. Great job InfoPath team!
      • If it is a new form, it can be detected because ID will be blank. If it has an ID, then the other section is shown.
      • A people picker control can be dropped onto the form and does not have to be configured further. Much clappter and even a few “woohoos”. Alright! This session is fun.
      • Request total cost is calculated automatically. Nothing too fancy here.
      • The Needed By: field is a date picker, but it has some validation with an error tip. It is actually a rule. Nothing that new here.
      • Under rules, you can see the conditions and actions in the task pane. Very cool.
      • Best Practices Tip: Do not load the data until you need it. So, load on demand.
      • Until a user selects a sub category, or product type, the data is not pulled in. When it is selected, Sharepoint is queried and then the data is pulled in for the drop down. Presenter thinks user expects a delay for this sort of action? Click on a dropdown and wait to see a medium sized list? Possibly some users, but not in the public space.
      • Best Practices Tip: If user does not need any extra buttons after submitting a form, then provide a blank view where the user’s only option is to go back to the portal.
      • On submittal, a rule simply sends the user to the “go to Submit Confirmation” view. Ok, this could easily be done with a custom button in previous versions.
      • A third primary view for the Form is the rejection form, where the end user can only read the form, and declarative logic in the form determines which stoplight image is shown (i.e. red light for rejection, green for approved)
        • The declarative logic basically shows one of three sections so the form is designed with three separate sections that have the green, yellow, and red stoplight image. The status properties determines which section to show. Ok, again, simply done in previous versions.
    • Workflow
      • Approver has a dropdown on the form along with the comments section. The dropdown selections have pre-built workflows for each.
      • SharePoint Designer 2010 is used to manage each workflows, i.e. Approval workflow, Feedback workflow, etc.
      • Workflows can be applied to more than one list or library. This comment generated a lot of clappter. Guy behind me even says, “Nice”.
      • Document ID is generated for every document in a site collection. So, in the forms solution, a prefix can be prepended to each document ID and the filename is same as document ID. A redirect service allows you to find a document based on document ID.
      • There are multiple layers in the workflow. An action in one workflow can trigger another workflow sequentially. So, in SP2010 workflow view, you can “drill down” into the underlying workflow details.
      • Buttons at bottom of form are branded and color coded so that user does not execute the wrong action.
      • The list of options for rejecting a form are actually pulled from SharePoint.
      • Last piece of workflow is assembling the Word document
        • From SPD2010 Workflow, an action is inserted with a custom action “Assemble Word Document” Anyone else in the site collection creating a workflow can use this custom action.
        • Custom action has some parameters to choose using the GUI. Very slick.
        • Parameters are required to determine which template to use to generate the document and location of where to store the document.
        • They will publish this custom action publicly as well.
        • Code for custom action is shown in Visual Studio 2010 and is only a few functions using OpenXML SDK.
    • Portal
      • Master page is modified to strip some UI elements that are distracting for the solution.
      • Master page includes a link to the form URL. The link to the form has a Source parameter so that the form knows where to go after it is submitted.
      • To create the master detail view between task list (remember, it was in upper left) and task details (upper right), was simply using web part connections -> send row of data to method.
  • Application Deployment and Portability
    • Data connections in InfoPath forms are now relative URLs, they are not hard coded. Yes. Finally! Almost everybody clapped!
    • Can package applications as reusable templates (WSP).


Top 3 Features of InfoPath 2010

  1. Built-in controls i.e. People Picker
  2. Filtering supported in the browser i.e. A drop down list on a secondary data source can be filtered based on another field in the form and the form in the browser now respects the filter.
  3. Rules. The rules now has a new task pane so it will be MUCH easier to configure and manage rules.


If you are reading this and find it helpful, let me know. Send me a comment please. Thanks.



1. Juan M. Zavala - October 21, 2009

THE best article I’ve read so far that addresses many of the issues I’ve had the IP07. Thanks for the great write-up and attention to detail. ~JZ

2. JoeH - October 23, 2009

Very helpful. Best summaries of LV I’ve seen. Thanks.

3. A Busy Week in the SharePoint World « The SharePoint Mechanic - May 12, 2010

[…] SPC09 – Building Applications with InfoPath and SharePoint Designer 2010 – Courtesy of Will Lawrence […]

4. Janet - July 1, 2010

I have a couple questions for you:
1. ■”Approver has a dropdown on the form along with the comments section. The dropdown selections have pre-built workflows for each
How is this configured?”
2. ■”There are multiple layers in the workflow. An action in one workflow can trigger another workflow sequentially. So, in SP2010 workflow view, you can “drill down” into the underlying workflow details.”
Is this a custom action that you built, or is this from the Codeplex project? I don’t see ‘Start\trigger another workflow’ in SPD2010.
3. ■”The list of options for rejecting a form are actually pulled from SharePoint.”
How are these pulled into the form’s data connection? Is this a webservice?


5. Tenille - January 25, 2011

Hi There I have a SharePoint designer 2010 workflow associated with an InfoPath form I would like your advice on resolving a problem with. The solution is an expense approvals process. The infopath form has some code behind. It sends certain elements on the form to a Navision server via webservices for document creation.

I have created a SharePoint Designer workflow to approve the form. What I need now is to create another workflow to set the status of the workflow to ‘sentToNAV’ after approval. To do this I need to find a way of checking the workflow status of the form in the form library, so if it is set to ‘approved’, then kick off this second workflow, who’s main purpose is to initiate a piece of code in the infoPath form to send the data to Navision.

So basically I need a way of accessing code behind methods or the ability to call the methods in an InfoPath form from a SharePoint Designer workflow, so when the second workflow is kicked off, it can send the data to Navision and update the status of the workflow.

Another requirement is to have a 3rd workflow to check for another status change . So once the status is changed to ‘SentToNav’, a workflow kicks off to retrieve data from the form and create an email alert and input these details into that email and sent it to the infopath form creator. The status od the workflow at that stage would be ’emailsSent’. Any ideas you have to help me would be most appreciated.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: