<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Microsoft InfoPath 2010</title><link>http://blogs.msdn.com/b/infopath/</link><description>The official blog of the Microsoft InfoPath product team</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Working with VSTO 2008 Projects in InfoPath 2010</title><link>http://blogs.msdn.com/b/infopath/archive/2011/04/14/working-with-vsto-2008-projects-in-infopath-2010.aspx</link><pubDate>Thu, 14 Apr 2011 18:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10154074</guid><dc:creator>InfoPath Team</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10154074</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2011/04/14/working-with-vsto-2008-projects-in-infopath-2010.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;The InfoPath team is busy working on the next version of Office.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;While we&amp;rsquo;re offline, we&amp;rsquo;d like to take the opportunity to tackle some of the questions that we get asked frequently by InfoPath users.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Today I&amp;rsquo;ll talk about how to migrate your InfoPath projects from Visual Studio Tools for Office 2005 or Visual Studio Tools for Office 2008 (VSTO) into InfoPath 2010 with Visual Studio Tools for Applications (VSTA).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;The decision to remove the ability to include InfoPath projects in professional developer solutions has been a controversial one, but is consistent with our overall message about SharePoint development &amp;ndash; Create InfoPath forms with as little code as possible, and put the bulk of your code into middle tier services and workflows.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;That said, we frequently hear from users who invested in VSTO projects and need to know how to move those projects forward with InfoPath 2010 and Visual Studio 2010.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Here&amp;rsquo;s how. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;This walkthrough will demonstrate how to migrate InfoPath code projects from Visual Studio Tools for Office (VSTO), and into Visual Studio Tools for Applications (VSTA). &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #4f81bd;"&gt;&lt;span style="font-family: Cambria;"&gt;First, ensure that VSTA is installed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;VSTA is an IDE included with InfoPath 2007 and InfoPath 2010.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The VSTA node is included in InfoPath 2010 setup. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Launch Office setup, choose to customize the install, and set Visual Studio Tools for Applications to &amp;lsquo;Run from my computer&amp;rsquo;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/4760.Article1.png" border="0" /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;h2 style="margin: 10pt 0in 0pt;"&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #4f81bd;"&gt;&lt;span style="font-family: Cambria;"&gt;Next, migrate your project&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;After installing VSTA, make a backup copy of your VSTO 2008 project that you will now proceed to migrate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Let&amp;rsquo;s walk through the conversion process of a VSTO 2008 project named &amp;ldquo;Hardware Order Form&amp;rdquo;. This project includes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;1.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Custom classes used to create database connections and run queries. See DBConnection.cs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;2.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;External XML that are linked to the InfoPath data source. See Items.xml.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;3.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;InfoPath form code. See FormCode.cs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;4.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;References to non-default NETFW assemblies. See System.Windows.Forms and System.Data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Here is a screenshot of the Visual Studio project explorer to give an idea of the project structure:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/7673.Article2.png" border="0" /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-language: EN-US; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;To migrate this project to VSTA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;1.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Launch Windows Explorer, and navigate to the InfoPath &amp;ldquo;manifest.xsf&amp;rdquo; for your project. This file is included in the &amp;ldquo;InfoPath Form Template&amp;rdquo; directory of your Visual Studio 2008 project by default.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;2.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;You&amp;rsquo;ll see a list of files that directly correspond to the &amp;ldquo;InfoPath Form Template&amp;rdquo; directory shown in the VS Solution Explorer screenshot above. For example:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/6560.Article3.png" border="0" /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-language: EN-US; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;3.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Right click &amp;ldquo;manifest.xsf&amp;rdquo;, and choose Design from the context menu&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;4.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;InfoPath 2010 Designer will launch.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;5.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Click the Code Editor button in the InfoPath 2010 Developer tab, and the browse dialog will appear&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-language: EN-US; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/6371.Article4.png" border="0" /&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-language: EN-US; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/1856.Article5.png" border="0" /&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;6.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Click the Browse button, and navigate to the csproj file in the backup copy of your project. Select the csproj file and click &amp;lsquo;Open&amp;rsquo;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-fareast-language: EN-US; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/6622.Article6.png" border="0" /&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;7.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;VSTA will launch, and your project will be successfully migrated into InfoPath 2010 and VSTA.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;You can now work from within InfoPath 2010 and VSTA to code, build, and publish your solution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10154074" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/infopath/archive/tags/Writing+Code/">Writing Code</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/InfoPath+2010/">InfoPath 2010</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/Developer/">Developer</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/VSTA/">VSTA</category></item><item><title>Tips and Tricks for Making Form Filling Faster</title><link>http://blogs.msdn.com/b/infopath/archive/2010/07/29/tips-and-tricks-for-making-form-filling-faster.aspx</link><pubDate>Thu, 29 Jul 2010 18:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10043924</guid><dc:creator>infopath1</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10043924</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2010/07/29/tips-and-tricks-for-making-form-filling-faster.aspx#comments</comments><description>&lt;p&gt;The less time it takes to fill out your forms, the more time your users can spend on other tasks. Also, odds go up that form fillers will complete forms when they take less time to fill out. This blog post will give you a few tips for speeding up form filling and improving accuracy so your forms are completed faster.&lt;/p&gt;
&lt;p&gt;In this post we will cover&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Using defaults &lt;/li&gt;
&lt;li&gt;Using contextual defaults for bringing in the current day and user &lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;Setting up default values&lt;/h1&gt;
&lt;p&gt;For questions where one answer is much more common than others, it can be useful to set up default starting values.&amp;nbsp; The value you choose will appear when the form is opened, but the form filler is still able to change it.&lt;/p&gt;
&lt;p&gt;You can set default values by selecting the control and clicking on the properties pane, and then choosing &amp;ldquo;Default Value&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s say I had a sailboat rental form, and when boats are rented employees need to fill out who checked out the boat, when it was checked out, what type of boat it was, the boat #, and customer information.&lt;/p&gt;
&lt;p&gt;&lt;a href="file:///C:/Users/laurhar/AppData/Local/Temp/WindowsLiveWriter393614076/supfilesCDFB4/SailboatRentalForm13.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/6471.Sailboat-Rental-Form.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Because the sailboat rental place has mostly 24 foot boats, we can set the default Size to be 24 feet.&amp;nbsp;&amp;nbsp; Now employees won&amp;rsquo;t have to fill this field out most of the time. To set a default value, select the control (the boat size dropdown), choose the Properties tab, and select Default Value. Type the default value in the box provided. You can set the defaults for text boxes, combo boxes, check boxes and many other controls this way.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="file:///C:/Users/laurhar/AppData/Local/Temp/WindowsLiveWriter393614076/supfilesCDFB4/Ribbon4.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/6404.Ribbon1.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Contextual values&lt;/h1&gt;
&lt;p&gt;When a boat is being checked out, we need to log the person who checked it out and the date. Most commonly, boats are checked out for today&amp;rsquo;s date. We want to set the default value of &amp;ldquo;checked out by&amp;rdquo; date to be today&amp;rsquo;s date.&lt;/p&gt;
&lt;p&gt;To set the checked out date to today, select the date control, go to the properties tab, and choose &amp;ldquo;default value&amp;rdquo;. Choose the function builder at the right &lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/6404.Function-Button.png" border="0" /&gt;&lt;a href="file:///C:/Users/laurhar/AppData/Local/Temp/WindowsLiveWriter393614076/supfilesCDFB4/FunctionButton7.png"&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Choose the &amp;ldquo;Insert Function&amp;rdquo; button and pick the now() function from the Date and Time Category. Click &amp;ldquo;OK&amp;rdquo; until you return to the form.&amp;nbsp; Now, when users open the form today&amp;rsquo;s date will be automatically filled in. &lt;br /&gt;When using today() or now(), the form will update the date when you re-open it unless you uncheck the &amp;ldquo;Refresh value when formula is recalculated&amp;rdquo;. &lt;strong&gt;Make sure to uncheck this box.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="file:///C:/Users/laurhar/AppData/Local/Temp/WindowsLiveWriter393614076/supfilesCDFB4/FieldorGroupProperties4.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/1033.Field-or-Group-Properties.png" border="0" /&gt;&lt;/p&gt;
&lt;table unselectable="on" bgcolor="#5168e8" cellpadding="2" cellspacing="0" border="0" style="width: 450px;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;span style="color: #ffffff;"&gt;&lt;/span&gt;
&lt;td width="450" valign="top"&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #ffffff;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;today() vs now()&lt;/span&gt;&lt;/strong&gt; &lt;/span&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffffff;"&gt;today() and now() can both be used to set the default value of a date picker. However, the type of form you have can affect which one you use.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ffffff;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Use today() when you have a date-only field.&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ffffff;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Use now() when your field requires a date and time.&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffffff;"&gt;In general, when using a SharePoint list form, use now(). When using a form library or filler-only form, use today(), unless you have changed the data format of the date field to date and time.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Setting up the default user &lt;/h1&gt;
&lt;p&gt;Setting the default value of the Person/Group picker is done through the fields task pane. Show the fields task pane by selecting &amp;ldquo;Show Fields&amp;rdquo; on the data tab and expand your Person/Group picker field (in my case, outBy). Click &amp;ldquo;Show advanced view&amp;rdquo; to see the detailed view. Right-click on the &lt;strong&gt;AccountId&lt;/strong&gt; and choose &lt;strong&gt;properties&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="file:///C:/Users/laurhar/AppData/Local/Temp/WindowsLiveWriter393614076/supfilesCDFB4/FieldsTaskPane4.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/2043.Fields-Task-Pane.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Under default value, choose the &lt;strong&gt;function builder&amp;nbsp;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/8357.Function-Button.png" border="0" /&gt;&lt;a href="file:///C:/Users/laurhar/AppData/Local/Temp/WindowsLiveWriter393614076/supfilesCDFB4/FunctionButton11.png"&gt;&lt;/a&gt; &lt;/strong&gt;and type &lt;strong&gt;userName().&lt;/strong&gt; &lt;br /&gt;Again, make sure that &amp;ldquo;Refresh value when formula is recalculated&amp;rdquo; is unchecked, so that this rule is only run once and not every time the form is opened. Click Ok.&lt;/p&gt;
&lt;p&gt;&lt;a href="file:///C:/Users/laurhar/AppData/Local/Temp/WindowsLiveWriter393614076/supfilesCDFB4/DefaultValueUsername4.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/2500.Default-Value-_2D00_-Username_28002900_.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Repeat this process with the &lt;strong&gt;DisplayName&lt;/strong&gt; (optional) to get the best experience. Now the people picker will default to the person who opens the form. &lt;br /&gt;When we load the form, the date, boat type, and checked out by fields are already filled out. With half of the fields completed, it will take employees less time to check out boats.&lt;/p&gt;
&lt;p&gt;&lt;a href="file:///C:/Users/laurhar/AppData/Local/Temp/WindowsLiveWriter393614076/supfilesCDFB4/SailboatRentalForm29.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/3482.Sailboat-Rental-Form2.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Hopefully, these tips will help you set good defaults and your users will spend less time filling out forms!&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Kate Everitt&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10043924" width="1" height="1"&gt;</description></item><item><title>Peer to Peer Solutions using SharePoint Workspace 2010</title><link>http://blogs.msdn.com/b/infopath/archive/2010/07/15/peer-to-peer-solutions-using-sharepoint-workspace-2010.aspx</link><pubDate>Thu, 15 Jul 2010 15:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10038372</guid><dc:creator>infopath1</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10038372</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2010/07/15/peer-to-peer-solutions-using-sharepoint-workspace-2010.aspx#comments</comments><description>&lt;p&gt;In the 2nd of 2 videos about InfoPath 2010 and SharePoint Workspace integration, Shirish Pulikkal from the InfoPath test team shows how to create and maintain an Asset Tracking list for both online and offline use, using InfoPath designer and SharePoint Workspace. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Scenario: &lt;/strong&gt;In the 1st video, &lt;a title="http://blogs.msdn.com/b/infopath/archive/2010/05/27/take-a-list-offline-using-sharepoint-workspace-2010.aspx" href="http://blogs.msdn.com/b/infopath/archive/2010/05/27/take-a-list-offline-using-sharepoint-workspace-2010.aspx" target="_blank"&gt;Taking a list offline using SharePoint Workspace 2010&lt;/a&gt;, Shirish showed how to take a SharePoint Asset Tracking list offline in SharePoint Workspace. Smaller organizations with budget constraints may not have access to a SharePoint Server. In this video we show you how to create and maintain an Asset Tracking list for both online and offline use, using just InfoPath and SharePoint Workspace.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Process: &lt;/strong&gt;We use an Asset Tracking form and Categories form for the demo. Initially the Categories form is imported into SharePoint Workspace and we enable lookup to the list tool containing the Categories form. Next we design a new form for Asset Tracking from within SharePoint Workspace and add a SharePoint Workspace data connection to the Categories form. Then we import the Asset Tracking form in list tool in SharePoint Workspace, publish the tool and make the form available to other users subscribed to the workspace to create new list items. This is an example of a peer to peer scenario. The changes you make in your workspace will be immediately visible to other users subscribed to your workspace.&lt;/p&gt; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="512" height="384"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/VideoPlayer10_01_18.xap" /&gt; &lt;param name="initParams" value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/ch9/1/2/1/1/5/5/Peer2PeerSharePointWorkspace_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://ecn.channel9.msdn.com/o9/ch9/1/2/1/1/5/5/Peer2PeerSharePointWorkspace_512_ch9.png, postid=551121" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10038372" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/infopath/archive/tags/InfoPath+2010/">InfoPath 2010</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/SharePoint+Workspace/">SharePoint Workspace</category></item><item><title>Using Relative URLs with the ServerInfo Class in InfoPath 2010</title><link>http://blogs.msdn.com/b/infopath/archive/2010/07/01/using-relative-urls-with-the-serverinfo-class-in-infopath-2010.aspx</link><pubDate>Thu, 01 Jul 2010 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10031816</guid><dc:creator>infopath1</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10031816</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2010/07/01/using-relative-urls-with-the-serverinfo-class-in-infopath-2010.aspx#comments</comments><description>&lt;p&gt;Hi, my name is Jill Anderson and I am a tester on the InfoPath team. In this post, I would like to introduce you to the one of the newest members of the InfoPath Object Model, the "ServerInfo" class.&amp;nbsp; For InfoPath forms published to a SharePoint server, the members of this class give you context about that particular site. Documentation about this new class can be found at: &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.infopath.serverinfo.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.office.infopath.serverinfo.aspx&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;In this short video demo, I show you how you can use the members of this class to enable your form to submit data using a relative URL.&amp;nbsp; This enables you to package a Site Collection as a WSP and move it to a new server.&amp;nbsp; With these changes, the submit data connection moves to the new server as well.&lt;/p&gt;
&lt;p&gt;
&lt;object type="application/x-silverlight-2" height="384" width="512" data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAADqNAAAsCcAABQAAAAjADAAMABGAEYARgBGAEYARgAAAAAAAAAAAAAAAAAAAIgAAABoAHQAdABwADoALwAvAGMAaABhAG4AbgBlAGwAOQAuAG0AcwBkAG4ALgBjAG8AbQAvAEEAcABwAF8AVABoAGUAbQBlAHMALwBkAGUAZgBhAHUAbAB0AC8AVgBpAGQAZQBvAFAAbABhAHkAZQByADEAMABfADAAMQBfADEAOAAuAHgAYQBwAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwBAABkAGUAZgBlAHIAcgBlAGQATABvAGEAZAA9AHQAcgB1AGUALABkAHUAcgBhAHQAaQBvAG4APQAwACwAbQA9AGgAdAB0AHAAOgAvAC8AZQBjAG4ALgBjAGgAYQBuAG4AZQBsADkALgBtAHMAZABuAC4AYwBvAG0ALwBvADkALwBjAGgAOQAvADYALwA1AC8ANQAvADcALwA1AC8ANQAvAFMAZQByAHYAZQByAEkAbgBmAG8AQwBsAGEAcwBzAF8AMgBNAEIAXwBjAGgAOQAuAHcAbQB2ACwAYQB1AHQAbwBzAHQAYQByAHQAPQBmAGEAbABzAGUALABhAHUAdABvAGgAaQBkAGUAPQB0AHIAdQBlACwAcwBoAG8AdwBlAG0AYgBlAGQAPQB0AHIAdQBlACwAIAB0AGgAdQBtAGIAbgBhAGkAbAA9AGgAdAB0AHAAOgAvAC8AZQBjAG4ALgBjAGgAYQBuAG4AZQBsADkALgBtAHMAZABuAC4AYwBvAG0ALwBvADkALwBjAGgAOQAvADYALwA1AC8ANQAvADcALwA1AC8ANQAvAFMAZQByAHYAZQByAEkAbgBmAG8AQwBsAGEAcwBzAF8ANQAxADIAXwBjAGgAOQAuAHAAbgBnACwAIABwAG8AcwB0AGkAZAA9ADUANQA3ADUANQA2AAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"&gt;
&lt;param value="http://channel9.msdn.com/App_Themes/default/VideoPlayer10_01_18.xap" name="source" /&gt;
&lt;param value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/ch9/6/5/5/7/5/5/ServerInfoClass_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://ecn.channel9.msdn.com/o9/ch9/6/5/5/7/5/5/ServerInfoClass_512_ch9.png, postid=557556" name="initParams" /&gt;
&lt;param value="#00FFFFFF" name="background" /&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;h1&gt;Initial Setup:&lt;/h1&gt;
&lt;p&gt;To make sure that my form template was correctly associated with my SharePoint Form Library both before and after the Site Collection Migration, I published it as a Content Type (&lt;a href="http://office.microsoft.com/en-us/infopath-help/create-a-sharepoint-library-or-site-content-type-for-your-form-template-HA010103005.aspx"&gt;http://office.microsoft.com/en-us/infopath-help/create-a-sharepoint-library-or-site-content-type-for-your-form-template-HA010103005.aspx&lt;/a&gt; ). The ability to publish a Sandboxed Solution as a Content Type is a new feature for Office 2010.&lt;/p&gt;
&lt;p&gt;Afterwards, I associated this content type with the correct SharePoint Form Library on the SharePoint Server. The steps to do this are as follows:&amp;nbsp; &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a new "Form Library" &lt;/li&gt;
&lt;li&gt;Open the newly created "Form Library" &lt;/li&gt;
&lt;li&gt;Open the "Library Settings" located under the "Library" Tab on the Ribbon &lt;/li&gt;
&lt;li&gt;Open "Advanced Settings" and set "Allow management of content types?" to "yes". &lt;/li&gt;
&lt;li&gt;Under "Content Types" select "Add from existing content types" &lt;/li&gt;
&lt;li&gt;Add the content type you published to the SharePoint server. &lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;Sample Code:&lt;/h1&gt;
&lt;p&gt;This is the code I used to relativize the submit to the SharePoint site.&lt;/p&gt;
&lt;pre style="background-color: #ffff80; min-height: 40px; width: 600px; overflow: auto; border: #cecece 1px solid; padding: 5px;"&gt;&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;&lt;span style="color: #808080"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;        &lt;span style="color: #808080"&gt;/// Submits the form to the SubmittedTimeCards form library on SharePoint and calls a function to update the Vacation &lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;        &lt;span style="color: #808080"&gt;/// and Sick Balance for the employee.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;        &lt;span style="color: #808080"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;        &lt;span style="color: #808080"&gt;/// &amp;lt;param name="sender"&amp;gt;The source of the event.&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;        &lt;span style="color: #808080"&gt;/// &amp;lt;param name="e"&amp;gt;Provides data for the Microsoft.Office.InfoPath.FormEvents.Loading event.&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;        
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; FormEvents_Submit(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, SubmitEventArgs e)
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;        {
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            FileSubmitConnection fileSubmit = (FileSubmitConnection)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.DataConnections["&lt;span style="color: #8b0000"&gt;SharePoint Library Submit&lt;/span&gt;"];
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            &lt;span style="color: #008000"&gt;// Refreshing the Total number of hours and total pay for this given form.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.CalculateWorkWeekHours();
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.CalculateTotalTypeHours();
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.CalculateTotalPay();
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            &lt;span style="color: #008000"&gt;// Update the new Sick leave and Vacation Balance.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.DeductVacationAndSickPay();
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            &lt;span style="color: #008000"&gt;// Relative the SharePoint Submit location to current SharePoint site.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            fileSubmit.FolderUrl = &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.ServerInfo.SharePointSiteUrl.ToString() + "&lt;span style="color: #8b0000"&gt;SubmittedTimeCards/&lt;/span&gt;";
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            fileSubmit.Execute();
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            &lt;span style="color: #008000"&gt;// If the submit operation is successful, set&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;            e.CancelableArgs.Cancel = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;        }
&lt;/pre&gt;
&lt;pre style="background-color: #ffff80; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;h1&gt;Additional Links&lt;/h1&gt;
&lt;p&gt;For more information about creating and publishing Sandboxed Solutions see Phil Newman's post on &lt;br /&gt;&lt;a target="_blank" href="http://blogs.msdn.com/b/infopath/archive/2010/01/21/introduction-to-sandboxed-solutions-sorting-data-in-tables-using-managed-code.aspx"&gt;Introduction to Sandboxed Solutions - Sort data in repeating tables using managed code&lt;/a&gt; &lt;br /&gt;Jill &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10031816" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/infopath/archive/tags/InfoPath+2010/">InfoPath 2010</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/Developer/">Developer</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/Managed+Code/">Managed Code</category></item><item><title>Using TFS for Source Control in InfoPath 2010</title><link>http://blogs.msdn.com/b/infopath/archive/2010/06/10/using-tfs-for-source-control-in-infopath-2010.aspx</link><pubDate>Thu, 10 Jun 2010 14:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10021960</guid><dc:creator>infopath1</dc:creator><slash:comments>17</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10021960</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2010/06/10/using-tfs-for-source-control-in-infopath-2010.aspx#comments</comments><description>&lt;p&gt;In this video demo, Philip Newman and Christopher Brotsos from the InfoPath program management team show how you can use Team Foundation Server (TFS) to manage source control for your InfoPath forms with code.&lt;/p&gt; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="512" height="384"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/VideoPlayer10_01_18.xap" /&gt; &lt;param name="initParams" value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/ch9/4/6/7/4/5/5/InfoPathSourceCodeControl_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://ecn.channel9.msdn.com/o9/ch9/4/6/7/4/5/5/InfoPathSourceCodeControl_512_ch9.png, postid=554764" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;  &lt;h1&gt;Follow up&lt;/h1&gt;  &lt;p&gt;Team Foundation Server (TFS) is an effective repository and source control program for your InfoPath solutions. Teams add InfoPath forms and their related Visual Studio Tools for Applications (VSTA) projects to TFS, and then proceed to collaborate on the overall solution. Form designers focus on adding controls, rules, and layouts to their local copy of a form while developers add C# or Visual Basic .NET code to their local copy of a form code project. Then, by using the TFS visual tooling environment, designers and developers can easily merge their changes together into a complete InfoPath solution.&lt;/p&gt;  &lt;p&gt;There are, however, some best-practices that you should, and in some cases must, implement in order to be successful.&lt;/p&gt;  &lt;h2&gt;Setting up your environment&lt;/h2&gt;  &lt;h3&gt;Configure a portable local workspace&lt;/h3&gt;  &lt;p&gt;If your team plans to collaborate on an InfoPath solution, ensure all contributors work within a directory that everybody in the team can access via the same path. For example, use a common mapped drive, a UNC path, or as in the video, a local path that can be the same for all users of the project. In the video, we specifically used:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;%Root Directory% – C:\InfoPath Projects &lt;/li&gt;    &lt;li&gt;%Project Directory% - %Root Directory%\&amp;lt;ProjectName&amp;gt; &lt;/li&gt;    &lt;li&gt;%XSN Components Directory% - %Project Directory%\XSN Files &lt;/li&gt;    &lt;li&gt;%VSTA Project Directory% - %Project Directory%\XSN Sources &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;InfoPath’s default root directories, for XSNs and VSTA projects, fall under %USERPROFILE%. Because the %USERPROFILE% directory has a different name for each user, it will not be accessible through a common path for all those contributing to the project.&lt;/p&gt;  &lt;h3&gt;Work with the form template component files and not the XSN&lt;/h3&gt;  &lt;p&gt;When you collaborate on an InfoPath solution, you should work with the XSN component files themselves, and not the XSN. When you add a control, rule, or new attribute to a form it is common for more than one component file in the XSN to be updated. If you work with the XSN, and not the component files, the template will be treated as a binary object. Most source control programs do not let you diff and merge changes to binary objects, and without this granular view/control of the XSN, you will not be able to successfully collaborate with your teammates.&lt;/p&gt;  &lt;p&gt;To work with the XSN component files, setup the local workspace and save/export the files as follows:&lt;/p&gt;  &lt;h4&gt;Starting a new project&lt;/h4&gt;  &lt;ol&gt;   &lt;li&gt;After selecting the template from the New tab in the Backstage, immediately export the XSN component files      &lt;ol&gt;       &lt;li&gt;Choose Export Source Files from the Publish tab in the Backstage. &lt;/li&gt;        &lt;li&gt;Specify the %XSN Components Directory% as previously described and export. &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;Set the VSTA project path      &lt;ol&gt;       &lt;li&gt;Choose Form Options from the Info tab in the Backstage. &lt;/li&gt;        &lt;li&gt;Select the Programming category from the Form Options dialog, and set the %VSTA Project Directory%, as previously described, in the Project location text box. &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;From now on, work with the component files instead of the XSN. To do this, open the XSF in the InfoPath Designer instead of the XSN. &lt;/li&gt; &lt;/ol&gt;  &lt;h4&gt;Committing an existing project&lt;/h4&gt;  &lt;p&gt;It’s likely that your existing project is not already configured according to the requirements. So, make a backup of said project(s), and then change the configuration to support a shared design environment.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Move the copy of the XSN to %Project Directory%. &lt;/li&gt;    &lt;li&gt;Move the copy of the VSTA project files to %VSTA Project Directory%. Note: do not copy over the current VSTA project root folder. &lt;/li&gt;    &lt;li&gt;Open the XSN in design mode. &lt;/li&gt;    &lt;li&gt;Export the XSN component files      &lt;ol&gt;       &lt;li&gt;Choose Export Source Files from the Publish tab in the Backstage &lt;/li&gt;        &lt;li&gt;Specify the %XSN Components Directory% and export. &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;Change the VSTA project path      &lt;ol&gt;       &lt;li&gt;Choose Form Options from the Info tab in the Backstage. &lt;/li&gt;        &lt;li&gt;Select the Programming category from the Form Options dialog, and set the %VSTA Project Directory% in the Project location text box. &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;Save your changes and from now on, work with the component files instead of the XSN. To do this, open the XSF in the InfoPath Designer instead of the XSN. &lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;Read-only file properties, TFS, and InfoPath&lt;/h2&gt;  &lt;p&gt;Before Philip and I opened the XSF in design mode, you saw us remove the read-only property from the %Project Directory% instead of executing a check-out in TFS to remove the TFS file lock. Executing a check-out in TFS is not best-practice when working with an InfoPath project because InfoPath 2010 needs access to all of the component files during design mode. Likewise, you also saw Philip execute an atomic check-out/check-in before he updated the repository with the date field and validation rule he added. TFS won’t let you check-in until you check-out, so the two commands should be executed in sequence in order to successfully check-in updated files. (Note: I didn’t check my code into TFS in the video, but if I had, I would also have executed a check-out followed immediately by a check-in).&lt;/p&gt;  &lt;p&gt;Configure TFS to check-in your DLLs and PDBs. In a standard Visual Studio project, this isn’t necessary because DLLs and PDBs can be built dynamically at build-time. InfoPath also generates DLLs and PDBs dynamically, but it also lists said files in the template manifest. As such, if the DLLs and PDBs aren’t in the %XSN Components Directory% then the Designer will fail to open with a schema validation error.&lt;/p&gt;  &lt;h2&gt;Multiple developers and designers working on a form&lt;/h2&gt;  &lt;p&gt;Avoiding conflicts with the schema, control properties, and the layout of a form can be managed by maintaining the following best practices in your team:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Do not have more than one designer adding controls or modifying the layout of the form simultaneously. &lt;/li&gt;    &lt;li&gt;Do not have more than one designer adding rules to the form simultaneously. &lt;/li&gt;    &lt;li&gt;All controls and fields added to a form should be given a unique name. &lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;SVN&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://subversion.apache.org/"&gt;Apache SVN&lt;/a&gt; works equally as well for collaborating on InfoPath form templates and their related VSTA projects. If the guidelines in this post are followed, your team can use SVN as a repository and source control management solution in the same way as Visual Studio Team Foundation Server. Each version control solution has its own benefits and caveats though, and you should evaluate each to determine which solution works best for your team. As an example: SVN doesn’t apply file locks to local copies of projects; its check-in/check-out paradigm differs from TFS. So, your team may find the file management aspects of SVN more intuitive and efficient. On the other hand, you will likely conclude that the CLI is the best choice for managing your project with SVN, and as such, you will lose the graphical/auto merge feature. Again, experiment, evaluate, and choose the solution which works best for your team.&lt;/p&gt;  &lt;h2&gt;Conclusion&lt;/h2&gt;  &lt;p&gt;InfoPath makes designing forms easy, and it provides you with a managed object model and access to the .NET Framework. This programmability support is available so that you can extend your forms into a variety of scenarios on the client and SharePoint. As your projects grow in size and complexity, you will find that using a managed repository is a quick and effective way for sharing solution amongst multiple developers and designers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10021960" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/infopath/archive/tags/InfoPath+2010/">InfoPath 2010</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/VSTA/">VSTA</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/Managed+Code/">Managed Code</category></item><item><title>How to Pass Querystring data into an InfoPath Form</title><link>http://blogs.msdn.com/b/infopath/archive/2010/06/03/how-to-pass-querystring-data-into-an-infopath-form.aspx</link><pubDate>Fri, 04 Jun 2010 00:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10019199</guid><dc:creator>infopath1</dc:creator><slash:comments>29</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10019199</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2010/06/03/how-to-pass-querystring-data-into-an-infopath-form.aspx#comments</comments><description>&lt;p&gt;Hi there, Daniel Broekman here. After showing you how to &lt;a href="http://blogs.msdn.com/infopath/archive/2009/12/17/customize-a-sharepoint-list-form-using-infopath-2010.aspx" target="_blank"&gt;customize a SharePoint list with InfoPath 2010&lt;/a&gt;, and describing the &lt;a href="http://blogs.msdn.com/infopath/archive/2010/04/22/comparing-list-and-form-library-forms.aspx" target="_blank"&gt;differences between SharePoint list forms and form library forms&lt;/a&gt; together with Kate Everitt, I’m back with a quick tip for easily sending&amp;#160; a value from the browser’s query string into an InfoPath form.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Imagine one of the following scenarios: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You want to dynamically pull all the invoices for a specific customer into a single form. For example, you could have a link to &lt;a href="http://server/site/ShowInvoices.aspx?Customer=Contoso"&gt;http://server/site/ShowInvoices.aspx?Customer=Contoso&lt;/a&gt;, which could be set up to display a list of all the Contoso invoices in a table. If you then swap out “Contoso” with “Fabrikam” in the URL, you would see all of the Fabrikam invoices. &lt;/li&gt;    &lt;li&gt;You want to track referrals for your form. You can do this by specifying a dynamic default value for the form indicating the referral source. For example, you can include a link to &lt;a href="http://server/site/form.aspx?Referrer=Email"&gt;http://server/site/form.aspx?Referrer=Email&lt;/a&gt; in an email you send to users, and add a link to &lt;a href="http://server/site/form.aspx?Referrer=Website"&gt;http://server/site/form.aspx?Referrer=Website&lt;/a&gt; on the homepage of your website, and capture the value of the “Referrer” parameter along with the rest of the form data. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In InfoPath 2007, you could accomplish these scenarios with code. With InfoPath 2010 and SharePoint 2010, there is a much easier way to send data from the query string into an InfoPath form. Let’s take a look.    &lt;br /&gt;&lt;/p&gt;  &lt;h2&gt;The basic concept &lt;/h2&gt;  &lt;p&gt;Using a web part page and a part-to-part connection between a Query String (URL) Filter web part and an InfoPath Form Web Part (new in SharePoint 2010), we can easily pass a value from the browser’s query string into the form.    &lt;br /&gt;&lt;/p&gt;  &lt;h2&gt;Step-by-step &lt;/h2&gt;  &lt;p&gt;I’m going to assume you already have a list form published to SharePoint. I just created a simple form to collect feedback on a conference presentation. As you can see, I included a “Referrer” field that will track the referral source of users filling out my form. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/8171.ConferenceFeedbackForm_5F00_6777BB20.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Conference Feedback Form" border="0" alt="Conference Feedback Form" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/3060.ConferenceFeedbackForm_5F00_thumb_5F00_7F2EF286.png" width="450" height="343" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To set up the rest of the scenario, follow these steps: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create a new web part page. &lt;/li&gt;    &lt;li&gt;Add 2 web parts to the page. From the “Forms” category, add the InfoPath Form Web Part, and from the “Filters” category, add the Query String (URL) Filter web part. &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/8171.WebPartAdder_5F00_453FAF9A.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Web Part Adder (Forms Category)" border="0" alt="Web Part Adder (Forms Category)" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/7181.WebPartAdder_5F00_thumb_5F00_5DCF4CEA.png" width="379" height="233" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/7587.WebPartAdder2_5F00_244C3CF3.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Web Part Adder (Filters Category)" border="0" alt="Web Part Adder (Filters Category)" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/6507.WebPartAdder2_5F00_thumb_5F00_1CC0CD86.png" width="386" height="236" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Configure the InfoPath Form Web Part to point to the list or library where your form is published. &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/5852.InfoPathWebPartToolPane_5F00_2A26E08C.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="InfoPath Web Part Tool Pane" border="0" alt="InfoPath Web Part Tool Pane" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/2728.InfoPathWebPartToolPane_5F00_thumb_5F00_222F3E2A.png" width="297" height="544" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Configure the Query String (URL) Filter web part to specify the parameter name it should look for in the URL. In this case, we want it to find “Referrer”. &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/5140.QueryStringWebPartToolPane_5F00_339F9F02.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Query String Web Part Tool Pane" border="0" alt="Query String Web Part Tool Pane" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/5875.QueryStringWebPartToolPane_5F00_thumb_5F00_6120BEC5.png" width="265" height="260" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Next, set up the part-to-part connection by opening the Web Part edit menu and selecting Connections &amp;gt; Send Filter Values To &amp;gt; InfoPath Form Web Part. &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/4073.QueryStringWebPartConnectionMenu_5F00_4BC3095D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Query String Web Part Connection Menu" border="0" alt="Query String Web Part Connection Menu" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/5468.QueryStringWebPartConnectionMenu_5F00_thumb_5F00_11D3C671.png" width="450" height="128" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;This brings up a dialog where you can choose the field in the form where the data should be sent. Choose the field you want, and then click Finish. In this case, we want to map the data to the “Referrer” field. &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/4382.WebPartConnectionDialog_5F00_181A9CFF.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Web Part Connection Dialog" border="0" alt="Web Part Connection Dialog" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/0284.WebPartConnectionDialog_5F00_thumb_5F00_2C33B988.png" width="450" height="248" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;p&gt;Everything should be set up correctly now. Save your changes to this page, and then navigate to the page. You should see the blank form.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/3821.SavedWebPartPage_5F00_2F65A170.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Saved Web Part Page" border="0" alt="Saved Web Part Page" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/7065.SavedWebPartPage_5F00_thumb_5F00_34D41214.png" width="450" height="382" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;Testing the Connection&lt;/h2&gt;  &lt;p&gt;To test that everything is working correctly, add “?Referrer=email” to the end of the URL, and you should see the Referrer field being populated with the value “email”. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/6404.TestingtheQueryParameterConnection_5F00_45F7C9EA.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Testing the Query Parameter Connection" border="0" alt="Testing the Query Parameter Connection" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/2275.TestingtheQueryParameterConnection_5F00_thumb_5F00_68D88B9A.png" width="450" height="384" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;That’s it! You now have a page that passes data from the query string into an InfoPath form, set up in less than 5 minutes, and without any code. &lt;/p&gt;  &lt;p&gt;For more advanced scenarios, you can use this as a starting point. For example, you could have a rule on the “Referrer” field that performs certain actions based on the incoming value, such as querying a secondary data source, loading a specific item, etc. In the “customer invoice” example I gave at the beginning of this post, you could have an “onchange” rule on the “Customer” field that queries a secondary data connection for all of that customer’s invoices. &lt;/p&gt;  &lt;p&gt;One final note: the InfoPath Form Web Part only supports one incoming part-to-part connection at a time, which means that you are limited to passing one value into the form using this method. &lt;/p&gt;  &lt;p&gt;Please leave a comment to let me know how you’re using this functionality in your forms! &lt;/p&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;h3&gt;Daniel Broekman &lt;/h3&gt;  &lt;h3&gt;Program Manager – Microsoft InfoPath&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10019199" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/infopath/archive/tags/InfoPath+2010/">InfoPath 2010</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/InfoPath+Form+Web+Part/">InfoPath Form Web Part</category></item><item><title>Cool Form! MS Store Inventory Checklist</title><link>http://blogs.msdn.com/b/infopath/archive/2010/06/01/cool-form-ms-store-inventory-checklist.aspx</link><pubDate>Tue, 01 Jun 2010 17:37:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10018348</guid><dc:creator>infopath1</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10018348</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2010/06/01/cool-form-ms-store-inventory-checklist.aspx#comments</comments><description>&lt;p&gt;This week's cool form is an inventory&amp;nbsp;check list form that is used in the Microsoft Company Store. The form contains 2 views.&lt;/p&gt;
&lt;p&gt;The 1st view contains a set of checks that need to be completed by store employees. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/4152.MS-Store-Checklist-1.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;The 2nd view displays the list of checks that have not yet been completed by the user.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22/5758.MS-Store-Checklist-2.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;If you have a &amp;ldquo;cool&amp;rdquo; form that you would like to share with us, please send an e-mail with the following details to &lt;a href="mailto:coolform@microsoft.com"&gt;&lt;span style="color: #8c3cc8;"&gt;coolform@microsoft.com&lt;/span&gt;&lt;/a&gt; - &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Attach 1 or 2 screenshots of your form &lt;/li&gt;
&lt;li&gt;Provide a brief description of the form &lt;/li&gt;
&lt;li&gt;You may also attach the XSN file &lt;strong&gt;(optional)&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The most popular submissions will be featured on our blog in future posts.&lt;/p&gt;
&lt;p&gt;Check out other Cool Forms &lt;a href="http://blogs.msdn.com/infopath/archive/tags/Cool+Forms/default.aspx"&gt;&lt;span style="color: #8c3cc8;"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10018348" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/infopath/archive/tags/Cool+Forms/">Cool Forms</category></item><item><title>Take a list offline using SharePoint Workspace 2010</title><link>http://blogs.msdn.com/b/infopath/archive/2010/05/27/take-a-list-offline-using-sharepoint-workspace-2010.aspx</link><pubDate>Thu, 27 May 2010 07:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10016116</guid><dc:creator>infopath1</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10016116</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2010/05/27/take-a-list-offline-using-sharepoint-workspace-2010.aspx#comments</comments><description>&lt;p&gt;In this short video demo, Shirish Pulikkal from the InfoPath test team shows how you can customize a SharePoint list in InfoPath designer and work with the list offline in SharePoint Workspace. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Scenario: &lt;/strong&gt;A fictitious company Fabrikam wants to track assets in their lab using SharePoint list. They want to be able to track assets both in the online and offline case. Fabrikam has decided to use InfoPath to customize the list and SharePoint workspace to enable working offline with the list. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Process:&lt;/strong&gt; We start by customizing the form for the SharePoint list in InfoPath designer and add a secondary data connection to pull data from another SharePoint list. Then we publish the form back to the SharePoint list and sync it in SharePoint Workspace. Now we can create list items while working offline in SharePoint Workspace and items can be synced to SharePoint server when we get back online. &lt;/p&gt;  &lt;p&gt;&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="512" height="384"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/VideoPlayer10_01_18.xap" /&gt; &lt;param name="initParams" value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/ch9/0/1/2/1/5/5/ShirishPOfflineList_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://ecn.channel9.msdn.com/o9/ch9/0/1/2/1/5/5/ShirishPOfflineList_512_ch9.png, postid=551210" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10016116" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/infopath/archive/tags/InfoPath+2010/">InfoPath 2010</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/5+for+forms/">5 for forms</category></item><item><title>Extended data validation for the Multiple-Selection List Box in InfoPath 2010</title><link>http://blogs.msdn.com/b/infopath/archive/2010/05/20/extended-data-validation-for-the-multiple-selection-list-box-in-infopath-2010.aspx</link><pubDate>Thu, 20 May 2010 22:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10014133</guid><dc:creator>infopath1</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10014133</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2010/05/20/extended-data-validation-for-the-multiple-selection-list-box-in-infopath-2010.aspx#comments</comments><description>&lt;p&gt;Hi, Frank Mueller from the InfoPath development team here. The Multiple-Selection List Box (MSLB) control was introduced in InfoPath 2007 to enable users to select multiple items from a list when filling out forms. In this post, I will explain the different ways you can restrict and validate the data entered using this control in InfoPath 2010. I will also cover some advanced tips and tricks. &lt;/p&gt;  &lt;h3&gt;In this post:&lt;/h3&gt;  &lt;p&gt;&lt;a href="#Data Validation"&gt;Data Validation&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="#Special List Behavior"&gt;Special behavior in SharePoint List Forms&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="#Default Values"&gt;Removing Blank Default Values &lt;/a&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Example Usage:&lt;/h3&gt;  &lt;p&gt;First let’s look at a scenario where you may want to use the MSLB control. Say, for example, you are building a form for customers to order your company’s products. To be able to more effectively spend the company’s marketing budget in the future, the marketing department would like to know how your customers found the company’s web site. So you’ve added a Multiple-Selection List Box to gather responses to that question.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/8831.Multiselectlistbox1_5F00_761076E2.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Multi-select list box" border="0" alt="Multi-select list box" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/6787.Multiselectlistbox1_5F00_thumb_5F00_72BF0507.png" width="450" height="114" /&gt;&lt;/a&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Your customers can now select one or more options. If a customer heard about the web site through a channel that is not specified in the Multiple-Selection List Box control, he/she can select the last checkbox and just type in a custom response. &lt;/p&gt;  &lt;h2&gt;&lt;a name="Data Validation"&gt;Data validation&lt;/a&gt;&lt;/h2&gt;  &lt;p&gt;The marketing department is pleased with the new order form, but many customers do not bother responding to the “How did you hear about us?” question. With InfoPath 2010, solving this problem is very easy. &lt;/p&gt;  &lt;p&gt;In InfoPath 2010, there are two main ways that form designers can restrict and validate the data entered using the MSLB control.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Require that at least one item be selected (At least one selection required) &lt;b&gt;&lt;font color="#ff0000"&gt;(NEW in InfoPath 2010)&lt;/font&gt;&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;Require that every selected item have a value (Cannot be blank) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/3568.MultiselectlistboxProperties_5F00_4D3587A6.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Multi-select list box Properties" border="0" alt="Multi-select list box Properties" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/0044.MultiselectlistboxProperties_5F00_thumb_5F00_3F26BE76.png" width="450" height="584" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Require that at least one item be selected (At least one selection required) &lt;font color="#ff0000"&gt;(NEW in InfoPath 2010)&lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;New in InfoPath 2010, we can now enforce that users select at least one non-blank item by setting the “At least one selection required” property. In most cases, this is the setting that you will want to use.&lt;/p&gt;  &lt;p&gt;When you preview the form, you will notice a red asterisk in the upper right corner of the control, indicating that a selection is required.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/4188.Multiselectlistbox1a_5F00_70561EE3.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Multi-select list box" border="0" alt="Multi-select list box" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/7737.Multiselectlistbox1a_5F00_thumb_5F00_715E348D.png" width="450" height="109" /&gt;&lt;/a&gt; If you select a blank custom value, an asterisk will appear in the top right hand corner of the custom value text box.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/4111.Multiselectlistbox2_5F00_5EF5E3D8.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Multi-select list box" border="0" alt="Multi-select list box" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/7652.Multiselectlistbox2_5F00_thumb_5F00_24AA93C4.png" width="450" height="112" /&gt;&lt;/a&gt; All asterisks will disappear as soon as you select an option that is not blank, or you select the custom value text box and type in a value. &lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="500"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td bgcolor="#ffff80" valign="top" width="498"&gt;         &lt;h3&gt;Technical Details &lt;/h3&gt;          &lt;p&gt;&lt;em&gt;The new type of data validation is only applicable to repeating fields that are bound to Multiple-Selection List Box controls. &lt;/em&gt;&lt;/p&gt;          &lt;p&gt;&lt;em&gt;When setting the property at the field-level (instead of on the control), you will notice that it’s called “Non-empty occurrence required”. This is because the field can be bound to a control other than the MSLB, in which case users do not make selections when using the control. &lt;/em&gt;&lt;/p&gt;          &lt;p&gt;&lt;em&gt;You may set any repeating field to “Non-empty occurrence required”, but you will only see an effect when the field is bound to a Multiple-Selection List Box control. “Non-empty occurrence required” is not implemented as an XSD constraining facet, but rather as a special Validation Rule that is stored in the manifest.xsf of your form template. This has the benefit that you can set the data validation even if you are designing a form template based on a locked schema.&lt;/em&gt; &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h3&gt;Require that every selected item have a value (Cannot be blank) &lt;/h3&gt;  &lt;p&gt;In most cases, the “At least one selection required” property will do you what you need to ensure that users enter the required data.    &lt;br /&gt;In InfoPath 2010, we still support the legacy “Cannot be blank” property. When this property is set, it requires that every item that a user selects from the list has a value. It does not however require that users select an item in the first place.     &lt;br /&gt;When you preview the form, you will notice a red asterisk, whenever you select the checkbox of the custom value text box. This indicates that if the user wants to select this option, a value has to be typed in the text box before the form can be submitted. Once you type some text in the custom value text box, the asterisk will disappear.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/0728.Multiselectlistbox3_5F00_162F979F.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Multi-select list box" border="0" alt="Multi-select list box" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/4135.Multiselectlistbox3_5F00_thumb_5F00_378F3D3B.png" width="450" height="107" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="500"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td bgcolor="#ffff80" valign="top" width="498"&gt;         &lt;h3&gt;Technical Details &lt;/h3&gt;          &lt;p&gt;&lt;em&gt;When a field in an InfoPath form is set to “Cannot be blank”, a minLength constraining facet is applied to the XSD element, which requires that corresponding XML nodes contain at least one character.&lt;/em&gt; &lt;/p&gt;          &lt;p&gt;&lt;em&gt;&lt;font face="courie"&gt;&amp;lt;xsd:element name=&amp;quot;field1&amp;quot; type=&amp;quot;my:requiredString&amp;quot;/&amp;gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;xsd:simpleType name=&amp;quot;requiredString&amp;quot;&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;xsd:restriction base=&amp;quot;xsd:string&amp;quot;&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;xsd:minLength value=&amp;quot;1&amp;quot;/&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/xsd:restriction&amp;gt;                 &lt;br /&gt;&amp;lt;/xsd:simpleType&amp;gt;&lt;/font&gt;               &lt;br /&gt;This makes sense for text fields, when the form designer wants to ensure that the person filling out the form has to enter data into the field before it can be submitted for further processing.               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/3542.FirstName_5F00_32F93281.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="First Name" border="0" alt="First Name" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/1488.FirstName_5F00_thumb_5F00_02462AD6.png" width="450" height="28" /&gt;&lt;/a&gt;               &lt;br /&gt;The Multiple-Selection List Box control is bound to a repeating field in the form’s data source. When the user fills out the form and makes selections in the control, a new XML node is created for each selection made. If you mark the repeating field that the control is bound to as “Cannot be blank”, InfoPath will ensure that all options selected or entered through the custom value textbox are not blank. However, if no selections are made in the control, no XML nodes are created, and hence the constraining facet of the field is not violated, and the user is not forced to make a selection.&lt;/em&gt; &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;   &lt;br /&gt;&lt;b&gt;When would I want to use “Cannot be blank” instead of “At least one selection required”?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;If you want to ensure that users do not select any item that does not have a value then the “Cannot be blank” property can be used.&lt;/p&gt;  &lt;p&gt;In the example below, both “At least one selection required” and “Cannot be blank” are set. The data is not valid because the custom selection is blank.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/7183.Multiselectlistbox4_5F00_4E7E3484.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Multi-select list box" border="0" alt="Multi-select list box" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/1411.Multiselectlistbox4_5F00_thumb_5F00_48375DF6.png" width="298" height="120" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the example below, only the “At least one selection required” is set. The data is valid because at least one non-blank item is selected.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/0250.Multiselectlistbox5_5F00_24EA6951.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Multi-select list box" border="0" alt="Multi-select list box" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/0434.Multiselectlistbox5_5F00_thumb_5F00_7E888605.png" width="301" height="119" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;Advanced Information: &lt;/h2&gt;  &lt;h3&gt;&lt;a name="Special List Behavior"&gt;Special behavior in customized SharePoint list forms &lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;In a SharePoint list, when you mark a Choice column as required, it requires users to select at least 1 item &lt;strong&gt;and&lt;/strong&gt; for all selected items to have values.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/5633.SharePointColumnSettings_5F00_1F7BF8AD.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SharePoint Column Settings" border="0" alt="SharePoint Column Settings" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/7282.SharePointColumnSettings_5F00_thumb_5F00_5BF46D57.png" width="450" height="234" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Marking the field as required in SharePoint, has the same effect as setting both the “Cannot be blank” and “At least one selection required” properties in InfoPath.&amp;#160; For consistency with SharePoint, when customizing a SharePoint list form in InfoPath 2010, only one data validation option, “Cannot be blank” is available.    &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a name="Default Values"&gt;Removing Blank Default values&lt;/a&gt; &lt;/h3&gt;  &lt;p&gt;When designing the order form described above, InfoPath will by default insert a blank default value node for each repeating field. As you preview the form you will notice that the custom value text box at the bottom of the Multiple-Selection List Box control will be checked by default. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/3021.Multiselectlistbox6_5F00_5DA5392B.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Multi-select list box" border="0" alt="Multi-select list box" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/0361.Multiselectlistbox6_5F00_thumb_5F00_2CF23180.png" width="450" height="111" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you wish there to be no default selection at all in the control, you need to remove the default value node. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Click on the File button &lt;/li&gt;    &lt;li&gt;Select Form Options under the Form Information tab &lt;/li&gt;    &lt;li&gt;Select the Advanced category in the Form Options dialog &lt;/li&gt;    &lt;li&gt;Click on the Edit Default Values … button &lt;/li&gt;    &lt;li&gt;Click on the pluses in front of the fields to expand the data source until you can see the repeating field that is bound to the Multiple-Selection List Box control &lt;/li&gt;    &lt;li&gt;Uncheck the checkbox in front of the repeating field      &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/1374.EditDefaultValues_5F00_27178DE7.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Edit Default Values" border="0" alt="Edit Default Values" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/2845.EditDefaultValues_5F00_thumb_5F00_0132035E.png" width="450" height="319" /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Click OK to close both opened dialogs &lt;/li&gt; &lt;/ol&gt; When you preview your form now, you will notice that the custom value checkbox is not selected by default.   &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/5826.Multiselectlistbox7_5F00_7D082B98.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Multi-select list box" border="0" alt="Multi-select list box" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/6574.Multiselectlistbox7_5F00_thumb_5F00_529BFA7B.png" width="450" height="111" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Frank Mueller      &lt;br /&gt;InfoPath Developer&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10014133" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/infopath/archive/tags/Controls/">Controls</category><category domain="http://blogs.msdn.com/b/infopath/archive/tags/InfoPath+2010/">InfoPath 2010</category></item><item><title>Cool Forms! Task Form</title><link>http://blogs.msdn.com/b/infopath/archive/2010/05/18/cool-forms-task-form.aspx</link><pubDate>Tue, 18 May 2010 22:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10014131</guid><dc:creator>infopath1</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/infopath/rsscomments.aspx?WeblogPostID=10014131</wfw:commentRss><comments>http://blogs.msdn.com/b/infopath/archive/2010/05/18/cool-forms-task-form.aspx#comments</comments><description>&lt;p&gt;This week’s cool form was submitted by Sean Cantellay of Cantellay Consulting. The form allows the user to select a SharePoint task from the right and view it in the form on the page. The task has been broken up into four views and the tab buttons moves the user through the different views. The user can also Escalate the task to another SharePoint group by clicking the Escalate button and selecting the group.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Click on images for larger pictures.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/6102.ViewTwo_5F00_4D40AD9E.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ViewTwo" border="0" alt="ViewTwo" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/6521.ViewTwo_5F00_thumb_5F00_301B0594.png" width="450" height="394" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/3487.ViewThree_5F00_7921275A.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ViewThree" border="0" alt="ViewThree" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/8015.ViewThree_5F00_thumb_5F00_2E7A5F8D.png" width="450" height="274" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/8182.ViewFour_5F00_04E6945A.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ViewFour" border="0" alt="ViewFour" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/0675.ViewFour_5F00_thumb_5F00_38FB33AD.png" width="450" height="227" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/6560.EsclateView_5F00_4C88934E.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="EsclateView" border="0" alt="EsclateView" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-34-22-metablogapi/5086.EsclateView_5F00_thumb_5F00_45990696.png" width="450" height="377" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you have a “cool” form that you would like to share with us, please send an e-mail with the following details to &lt;a href="mailto:coolform@microsoft.com"&gt;coolform@microsoft.com&lt;/a&gt; - &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Attach 1 or 2 screenshots of your form &lt;/li&gt;    &lt;li&gt;Provide a brief description of the form &lt;/li&gt;    &lt;li&gt;You may also attach the XSN file &lt;strong&gt;(optional)&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The most popular submissions will be featured on our blog in future posts.&lt;/p&gt;  &lt;p&gt;Check out other Cool Forms &lt;a href="http://blogs.msdn.com/infopath/archive/tags/Cool+Forms/default.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10014131" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/infopath/archive/tags/Cool+Forms/">Cool Forms</category></item></channel></rss>