<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/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>Aruna Akella</title><link>https://www.infopathdev.com:443/blogs/aruna_akella/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>How to open doc in Edit mode</title><link>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/08/27/how-to-open-doc-in-edit-mode.aspx</link><pubDate>Fri, 27 Aug 2010 21:12:00 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:58417</guid><dc:creator>aruna akella</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://www.infopathdev.com:443/blogs/aruna_akella/rsscomments.aspx?PostID=58417</wfw:commentRss><comments>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/08/27/how-to-open-doc-in-edit-mode.aspx#comments</comments><description>&lt;p&gt;qRules &lt;strong&gt;SaveToSharePoint&lt;/strong&gt; command allows users to save a file, a set of files, an image, or a set of images to a SharePoint document library. &lt;strong&gt;qRulesLink&lt;/strong&gt; field contains the link to the file or image that was uploaded to your SharePoint document library, but often times clicking that link in an InfoPath form opens file in a read-only mode.&lt;/p&gt;
&lt;p&gt;If you wish to open it in edit mode, then replace the &lt;strong&gt;http&lt;/strong&gt; in the link with &lt;strong&gt;file&lt;/strong&gt;, and the file should open in edit mode.&lt;/p&gt;
&lt;p&gt;For example: Create a rule on the &lt;strong&gt;qRulesLink&lt;/strong&gt; field. Set a condition such that run this rule &lt;u&gt;if the link doesn’t already start with file&lt;/u&gt;. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:624px;HEIGHT:145px;" src="http://www.infopathdev.com/photos/blog_pictures/images/58418/original.aspx" width="624" height="145" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;The action of the rule should set the qRules link field to: value =&amp;nbsp; concat(&amp;quot;file&amp;quot;, substring-after(., &amp;quot;http&amp;quot;))&lt;/u&gt; &lt;/p&gt;
&lt;p&gt;Your final rule on the&amp;nbsp; &lt;strong&gt;qRulesLink&lt;/strong&gt; field should look similar to the below one:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:494px;HEIGHT:250px;" src="http://www.infopathdev.com/photos/blog_pictures/images/58419/original.aspx" width="494" height="250" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="https://www.infopathdev.com:443/aggbug.aspx?PostID=58417" width="1" height="1"&gt;</description></item><item><title>How to query the Active Directory Web Service</title><link>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/07/14/how-to-query-the-active-directory-web-service.aspx</link><pubDate>Wed, 14 Jul 2010 14:11:00 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:56919</guid><dc:creator>aruna akella</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://www.infopathdev.com:443/blogs/aruna_akella/rsscomments.aspx?PostID=56919</wfw:commentRss><comments>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/07/14/how-to-query-the-active-directory-web-service.aspx#comments</comments><description>&lt;p&gt;The&amp;nbsp;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;a href="http://www.qdabra.com/en/products/ADWebService.aspx"&gt;Qdabra&amp;nbsp;Active Directory Web Service&lt;/a&gt;&amp;nbsp;&lt;/span&gt;supports the following methods:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;GetMyInfo&lt;/strong&gt; - gives the Active Directory properties of the currently Logged In user&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;GetUserInfo&lt;/strong&gt; - gives the Active Directory properties of the specified user name&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;GetManagerAlias&lt;/strong&gt; - returns the alias for a user&amp;#39;s manager if one is set&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;GetEmployeesForManager &lt;/strong&gt;- returns a list of employees that have a manager with the specified alias&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;FindUsersByName&lt;/strong&gt; - attempts to find any users with a name matching the specified search string&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;FindUsersByAlias&lt;/strong&gt; - attempts to find any users with an alias matching the specified search string&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;IsUserMemberOfGroup&lt;/strong&gt; - returns true if the user is part of the specified group, false otherwise&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;GetGroupsForUser&lt;/strong&gt; – returns a list of the groups to which the current user belongs.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;GetMembersOfGroup&lt;/strong&gt; – returns the alias, and display name of group members.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Let&amp;#39;s walk through the steps on setting up a sample form which queries all the above operations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Design the InfoPath form template&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;1.&amp;nbsp;&amp;nbsp; Open InfoPath and design a new blank form. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:639px;HEIGHT:390px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56877/original.aspx" width="639" height="390" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;2.&amp;nbsp;&amp;nbsp; Add the following groups and fields in your Main data source: &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:224px;HEIGHT:210px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56878/original.aspx" width="224" height="210" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;3.&amp;nbsp; Add three tables with titles, and place each group’s fields into each of the tables:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:432px;HEIGHT:349px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56879/original.aspx" width="432" height="349" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;4.&amp;nbsp; Add secondary data connections:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.&amp;nbsp; Go to Tools a Data Connections à Add….&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.&amp;nbsp; Create a new connection to receive data from a Web service. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:169px;HEIGHT:75px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56880/original.aspx" width="169" height="75" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:358px;HEIGHT:117px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56881/original.aspx" width="358" height="117" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.&amp;nbsp; Enter the URL: &lt;a href="http://%3cservername%3e/QdabraWebService/ADUserInfo.asmx"&gt;http://&amp;lt;servername&amp;gt;/QdabraWebService/ADUserInfo.asmx&lt;/a&gt; where&amp;nbsp;&lt;strong&gt;&amp;lt;ServerName&amp;gt;&lt;/strong&gt; is the location where DBXL is installed. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:401px;HEIGHT:76px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56882/original.aspx" width="401" height="76" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d.&amp;nbsp; From the list of operations, select GetGroupsForUser.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:188px;HEIGHT:182px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56883/original.aspx" width="188" height="182" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.&amp;nbsp; Enter the default values: &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:394px;HEIGHT:115px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56884/original.aspx" width="394" height="115" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f.&amp;nbsp; Check the box that says Automatically retrieve data when the form is opened, then click Finish.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:490px;HEIGHT:148px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56885/original.aspx" width="490" height="148" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;5.&amp;nbsp; Repeat Steps 2a to 2d to add data connections for the rest of the operations. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;6.&amp;nbsp; When done, exit the data connections wizard. &lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Query GetMyInfo&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;1.&amp;nbsp;&amp;nbsp; Configure the MyUserInfo fields: &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.&amp;nbsp;Double-click on the MyUserName field to display its properties.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.&amp;nbsp;In the Data tab, click on the fx button to set a default value.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.&amp;nbsp;In the Insert Formula window, click the Insert Field or Group button.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d.&amp;nbsp;Select the secondary data source GetMyInfo from the data source drop-down.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.&amp;nbsp;Expand the dataFields node to display Value, and click Filter Data. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:318px;HEIGHT:363px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56886/original.aspx" width="318" height="363" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f.&amp;nbsp; Add a filter so that it only displays data when Key is equal to the text displayName. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:621px;HEIGHT:148px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56887/original.aspx" width="621" height="148" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g. Click OK until all the dialogs are closed.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;h.&amp;nbsp;Repeat Steps 1a to 1gfor the MyEmailAddress field, except that Value should be filtered such that Key is equal to the text mail. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:576px;HEIGHT:137px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56888/original.aspx" width="576" height="137" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Hint: To view a list of all the Active Directory keys, drag the whole ADProp node (/dfs:myFields/dfs:dataFields/tns:GetMyInfoResponse/tns:GetMyInfoResult/tns:ADProp) as a repeating table onto your form, and then preview.&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;2.&amp;nbsp;&amp;nbsp; Preview your form. Your Active Directory username and email address should be displayed in the My Info table. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:443px;HEIGHT:91px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56889/original.aspx" width="443" height="91" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Query GetManagerAlias&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;1.&amp;nbsp;&amp;nbsp;In the Controls task pane, click to add a button into the Manager Info table. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:429px;HEIGHT:118px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56890/original.aspx" width="429" height="118" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;2.&amp;nbsp;&amp;nbsp;Double-click on the button to display its properties.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;3.&amp;nbsp;&amp;nbsp;Label the button as Get Manager Info, and click Rules à Add à Add Action. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;4.&amp;nbsp;&amp;nbsp;Add the following actions to query your manager’s alias using your alias which we obtained through GetMyInfo: &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.&amp;nbsp; Set the field /dfs:myFields/dfs:queryFields/tns:GetManagerAlias/tns:username to the value of /dfs:myFields/dfs:dataFields/tns:GetMyInfoResponse/tns:GetMyInfoResult/tns:ADProp/tns:Value filtered such that Key is equal to sAMAccountName.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.&amp;nbsp; Query using the GetManagerAlias data connection.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;u&gt;Hint: If you wish to see the resulting value, temporarily drag /dfs:myFields/dfs:dataFields/tns:GetManagerAliasResponse/tns:GetManagerAliasResult into the view. When you preview your form and click the Get Manager Info button, you will see the manager’s alias display in the GetManagerAliasResult field. When done, you can now delete the GetManagerAlias field from the form’s view.&lt;br /&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Query GetUserInfo&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;1.&amp;nbsp; Double-click on the Get Manager Info button that we previously added, to go back to the button’s properties.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;2.&amp;nbsp; Add another rule with the following actions to obtain the manager’s name and email address: &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.&amp;nbsp; Set the field /dfs:myFields/dfs:queryFields/tns:GetUserInfo/tns:username to the value of&amp;nbsp; /dfs:myFields/dfs:dataFields/tns:GetManagerAliasResponse/tns:GetManagerAliasResult&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.&amp;nbsp; Query using the GetUserInfo data connection. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.&amp;nbsp;&amp;nbsp; Set the ManagerName field /my:myFields/my:ManagerInfo/my:ManagerName to the value of /dfs:myFields/dfs:dataFields/tns:GetUserInfoResponse/tns:GetUserInfoResult/tns:ADProp/tns:Value filtered such that Key is equal to displayName.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; d.&amp;nbsp;&amp;nbsp; Set the ManagerEmail field to the value of /dfs:myFields/dfs:dataFields/tns:GetUserInfoResponse/tns:GetUserInfoResult/tns:ADProp/tns:Value filtered such that Key is equal to mail. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:398px;HEIGHT:307px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56891/original.aspx" width="398" height="307" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;3.&amp;nbsp; Preview your form once again. Clicking the Get Manager Info button retrieves your manager’s name and email address. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:440px;HEIGHT:121px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56892/original.aspx" width="440" height="121" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Query GetEmployeesForManager&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;1.&amp;nbsp;&amp;nbsp; Add a button for the Employee Info table, and label it as Get Employee Info.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;2.&amp;nbsp;&amp;nbsp; Add a rule to this button with the following actions to query a list of employees who have a manager with an alias obtained using GetManagerAlias.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.&amp;nbsp; Set the field /dfs:myFields/dfs:queryFields/tns:GetEmployeesForManager/tns:managerAlias to the value&amp;nbsp;&amp;nbsp; of /dfs:myFields/dfs:dataFields/tns:GetManagerAliasResponse/tns:GetManagerAliasResult&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.&amp;nbsp; Query using the GetEmployeesForManager&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Hint: If you wish to see the resulting list of employees, temporarily drag /dfs:myFields/dfs:dataFields/tns:GetEmployeesForManagerResponse/tns:GetEmployeesForManagerResult/tns:entry as a repeating table into the view. When you preview your form and click the Get Employee Info button, you will see a list of employees who have the same manager as yours. When done, you can now delete the table from the form’s view.&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;3.&amp;nbsp;&amp;nbsp; Change the EmployeeName textbox into a drop-down list box.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:481px;HEIGHT:345px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56893/original.aspx" width="481" height="345" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;4.&amp;nbsp;&amp;nbsp; Double-click on the EmployeeName drop-down to display its properties.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;5.&amp;nbsp;&amp;nbsp; In the Data tab, under List box entries, select Look up values from an external data source, and choose GetEmployeesForManager from the Data source drop-down.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;6.&amp;nbsp;&amp;nbsp;Click on the Select XPath button&amp;nbsp; for Entries, and expand the dataFields node to get to the entry repeating node. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:318px;HEIGHT:159px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56894/original.aspx" width="318" height="159" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;7.&amp;nbsp; Click on the Select XPath button for Display name, and select the display node. Your EmployeeName dropdown should be similar to this:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:343px;HEIGHT:465px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56895/original.aspx" width="343" height="465" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;8.&amp;nbsp; Click on the Rules button à Add à Add Action. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;9.&amp;nbsp; Here again, we will use the GetUserInfo method to retrieve the employee’s email address. Add the following actions:&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.&amp;nbsp; Set the field /dfs:myFields/dfs:queryFields/tns:GetUserInfo/tns:username to the EmployeeName’s value (since it represents the queried employee’s alias).&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.&amp;nbsp; Query using the GetUserInfo data connection.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.&amp;nbsp; Set the EmployeeEmail field to the value of /dfs:myFields/dfs:dataFields/tns:GetUserInfoResponse/tns:GetUserInfoResult/tns:ADProp/tns:Value filtered such that Key is equal to mail.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:450px;HEIGHT:347px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56896/original.aspx" width="450" height="347" alt="" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;10. Preview your form. First, you will have to click on the Get Manager Info button to retrieve the manager’s alias, and then click the Get Employee Info button to retrieve a list of employees in a drop-down, after which displays the email address of the selected employee. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:444px;HEIGHT:132px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56897/original.aspx" width="444" height="132" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Query IsUserMemberOfGroup&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The IsUserMemberOfGroup method returns true if the user is part of the specified group, false otherwise.&lt;/p&gt;
&lt;p&gt;To test this method in our sample form, follow these steps:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; 1.&amp;nbsp; On the Data source task pane, select the IsUserMemberOfGroup secondary data source. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:280px;HEIGHT:99px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56898/original.aspx" width="280" height="99" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; 2.&amp;nbsp; Expand the queryFields node to select tns:IsUserMemberOfGroup. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:280px;HEIGHT:147px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56899/original.aspx" width="280" height="147" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; 3.&amp;nbsp; Drag this node as a Section with controls onto your form’s view. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:661px;HEIGHT:103px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56900/original.aspx" width="661" height="103" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; 4.&amp;nbsp; Expand the dataFields node to get to the IsUserMemberOfGroupResult node. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:278px;HEIGHT:132px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56901/original.aspx" width="278" height="132" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; 5.&amp;nbsp; Drag this node inside the IsUserMemberOfGroup section. By default, it uses a check box control to indicate if the query returns true or false. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:663px;HEIGHT:126px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56902/original.aspx" width="663" height="126" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; 6.&amp;nbsp; Add a button with a rule that queries using the IsUserMemberOfGroup data connection. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; 7.&amp;nbsp; Preview your form. Specify any value in the Username and Group Alias parameters. Clicking the button will result to either true (box checked) or false (box unchecked).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:354px;HEIGHT:92px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56903/original.aspx" width="354" height="92" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Query FindUsersByName&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;The FindUsersByName method attempts to find any users with a name matching the specified search string.&amp;nbsp; When searching for a user by name, you can select from the following search methods:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;StartsWith&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;EndsWith&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Contains&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Exact&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;To test this method in our sample form, follow these steps:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;1.&amp;nbsp; On the Data source task pane, select the FindUsersByName secondary data source. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:280px;HEIGHT:109px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56904/original.aspx" width="280" height="109" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;2.&amp;nbsp; Expand the queryFields node to select tns:FindUsersByName. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:279px;HEIGHT:149px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56906/original.aspx" width="279" height="149" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;3.&amp;nbsp; Drag this node as a Section with controls onto your form’s view. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;4.&amp;nbsp; Expand the dataFields node to get to the entry repeating node. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:281px;HEIGHT:197px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56907/original.aspx" width="281" height="197" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;5.&amp;nbsp; Drag this node as a Repeating table inside the FindUsersByName section.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:577px;HEIGHT:165px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56908/original.aspx" width="577" height="165" alt="" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;6.&amp;nbsp; Add a button below the searchType drop-down, and double-click to see its properties. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;7.&amp;nbsp; Label the button as Find Users, then add a rule that queries using the FindUsersByName data connection. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;8.&amp;nbsp; Preview your form once again. Enter a value in the Name textbox and select any Search Type, and then click Find Users. The repeating table will populate with a list of names that match the specified parameters. The Value column shows the user’s alias, while the Display column shows the user’s display name. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:589px;HEIGHT:190px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56909/original.aspx" width="589" height="190" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Query FindUsersByAlias&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;FindUsersByAlias does the same thing as FindUsersByName, except that it performs the search through the user’s alias. Repeat all of the steps above, using the FindUsersByAlias’ nodes and parameters.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:589px;HEIGHT:164px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56910/original.aspx" width="589" height="164" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;strong&gt;Query GetGroupsForUser&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;Drag and drop button onto your canvas.&lt;/p&gt;
&lt;p&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;Right click on the button and change the label (this tutorial uses GetGroupsForUser).&lt;/p&gt;
&lt;p&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;Select Rules &amp;gt; Add… &amp;gt; Add Action… to add a new action.&lt;/p&gt;
&lt;p&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;From the Action dropdown, select Query using a data connection, and select your GetGroupsForUser-v2.4 data connection. The action should look similar to the below screen.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.infopathdev.com/photos/blog_pictures/images/56911/original.aspx" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;5.&amp;nbsp;&amp;nbsp;&amp;nbsp;Click OK four times.&lt;/p&gt;
&lt;p&gt;6.&amp;nbsp;&amp;nbsp;&amp;nbsp;Drag and drop queryFields (alias, and recursive), and dataFields(value, and display) from GetGroupsForUser secondary data source as a repeating table.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:214px;HEIGHT:235px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56912/original.aspx" width="214" height="235" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;7.&amp;nbsp;&amp;nbsp;&amp;nbsp;Your final layout should look similar to the below layout.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:589px;HEIGHT:161px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56913/original.aspx" width="589" height="161" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;8.&amp;nbsp;&amp;nbsp;&amp;nbsp;Preview the form.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:589px;HEIGHT:217px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56914/original.aspx" width="589" height="217" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;9.&amp;nbsp;&amp;nbsp;&amp;nbsp;Enter a valid alias in the Alias text box, and click GetGroupsForUser button.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&amp;nbsp;Select Recursive checkbox, if you wish to get all the child groups of the parent group.&lt;/u&gt; &lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Query GetMembersofgroup&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;Drag and drop a button onto your canvas.&lt;/p&gt;
&lt;p&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;Right click on the button and change the label (this tutorial uses GetMembersOfGroup).&lt;/p&gt;
&lt;p&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;Select Rules &amp;gt; Add… &amp;gt; Add Action… to add a new action.&lt;/p&gt;
&lt;p&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;From the Action dropdown, select Query using a data connection, and select your GetMembersOfGroup-v2.4 data connection. The action should look similar to the below screen.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:338px;HEIGHT:235px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56915/original.aspx" width="338" height="235" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;5.&amp;nbsp;&amp;nbsp;&amp;nbsp;Click OK four times.&lt;/p&gt;
&lt;p&gt;6.&amp;nbsp;&amp;nbsp;&amp;nbsp;Drag and drop the queryFields (groupAlias, and maxCount), and the dataFields (value, and display) from GetMembersOfGroup secondary data source as a repeating table. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:219px;HEIGHT:237px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56916/original.aspx" width="219" height="237" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;7.&amp;nbsp;&amp;nbsp;&amp;nbsp;Your final layout should look similar to the below layout.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:589px;HEIGHT:155px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56917/original.aspx" width="589" height="155" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;8.&amp;nbsp;&amp;nbsp;&amp;nbsp;Preview the form.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:589px;HEIGHT:430px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56918/original.aspx" width="589" height="430" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;9.&amp;nbsp;&amp;nbsp;&amp;nbsp;Enter a valid group alias, and max count value.&lt;/p&gt;
&lt;p&gt;10. Click GetMembersOfGroup button.&lt;/p&gt;&lt;img src="https://www.infopathdev.com:443/aggbug.aspx?PostID=56919" width="1" height="1"&gt;</description><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/DBXL+v2.4/default.aspx">DBXL v2.4</category><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/active+directory/default.aspx">active directory</category></item><item><title>How to use the InsertPi and RemovePi command </title><link>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/30/how-to-use-the-insertpi-command.aspx</link><pubDate>Wed, 30 Jun 2010 15:36:00 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:56384</guid><dc:creator>aruna akella</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://www.infopathdev.com:443/blogs/aruna_akella/rsscomments.aspx?PostID=56384</wfw:commentRss><comments>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/30/how-to-use-the-insertpi-command.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;New &lt;/strong&gt;for qRules v2.2 -- InsertPi and RemovePi (&lt;a href="http://office.microsoft.com/en-us/infopath-help/about-processing-instructions-HP001096721.aspx"&gt;processing instructions&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why is this useful?&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Change the href attribute&amp;nbsp;of the mso-infoPathSolution PI so to submit to a different SharePoint library and have the form open using the template for that library&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;For DBXL users, RemovePi to easily make a copy of a filled out document&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The InsertPi command inserts the specified PI into the DOM while the RemovePi command removes the specified PI from the DOM, if present.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;strong&gt;InsertPi Arguments: &lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;name: Name of the processing-instruction to insert.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;data: Data content of the processing-instruction.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;update: (optional) Update the processing-instruction if it already exists (yes | no*).&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;dsname: (optional) Data source to insert the processing instruction. &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;InsertPi Examples:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;InsertPi /name=Test /data=dev=”false” &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;InsertPi /name=Test /data=dev=”false” /dsname=QdabraRules &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;InsertPi /name=Test /data=dev=”false” /dsname=QdabraRules /update=yes&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;concat(&amp;quot;InsertPi /name=&amp;quot;, name, &amp;quot; /data=&amp;quot;, data, &amp;quot; /dsname=&amp;quot;, dsname, &amp;quot; /update=true&amp;quot;)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;RemovePi Arguments:&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;name: Name of the processing-instruction to remove.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;RemovePi Examples:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;RemovePi /name=Test&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;PRE-REQUISITE&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This tutorial assumes that you already have qRules v2.2 or later&amp;nbsp;installed on your machine. For details on this, please see the User Guide included with the installer. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Create a new InfoPath form: In InfoPath, design a new, blank form. Select File &amp;gt; Save As and save the XSN to your local drive. Close the form. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Launch the qRules v2.2 Injector, browse to select the XSN you created and click Inject. Close the qRules Injector and open the form in Design mode. &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;For more information on the steps above, refer to the User Guide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;EXECUTION STEPS&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Design your form template based on the following steps:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.&amp;nbsp; Your main data source should be similar to the below one:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:198px;HEIGHT:199px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56386/original.aspx" width="198" height="199" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.&amp;nbsp; Drag and drop the&amp;nbsp;data source&amp;nbsp;nodes&amp;nbsp;onto your form&amp;nbsp;canvas, so you have something like this:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img style="WIDTH:677px;HEIGHT:158px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56387/original.aspx" width="677" height="158" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.&amp;nbsp; Click on the InsertPi button, and then from Home &amp;gt; Add Rule &amp;gt; When This Button is Clicked &amp;gt; Set a Field’s Value:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:447px;HEIGHT:271px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56388/original.aspx" width="447" height="271" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.&amp;nbsp; Set the value of the QdabraRules(Secondary) Command field.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:666px;HEIGHT:189px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56389/original.aspx" width="666" height="189" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.&amp;nbsp; Set the command value to the InsertPiCommand field from the main data source and click OK.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:654px;HEIGHT:189px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56391/original.aspx" width="654" height="189" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.&amp;nbsp; Right click on the InsertPiCommand, and select Text Box Properties… and enter the value:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;InsertPi /name=Test /data=dev=”false”&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.infopathdev.com/photos/blog_pictures/images/56392/original.aspx" alt="" /&gt;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7.&amp;nbsp; Click OK.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8.&amp;nbsp;&amp;nbsp;Click on the RemovePi button, and then from Home &amp;gt; Add Rule &amp;gt; When This Button is Clicked &amp;gt; Set a Field’s Value:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9.&amp;nbsp;&amp;nbsp;Set the value of&amp;nbsp;the QdabraRules(Secondary) Command field again, this time, however....&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10. For the value, click on the fx button, and add the below formula (Note: name points to the name field from the main data source).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;concat(&amp;quot;RemovePi /name=&amp;quot;, name).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:293px;HEIGHT:123px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56393/original.aspx" width="293" height="123" alt="" /&gt;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11. Your final action&amp;nbsp; should look similar to the below one:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:483px;HEIGHT:275px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56394/original.aspx" width="483" height="275" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12. Click OK.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;13. Now drag and drop the QdabraRules Result, Success, and Error fields into the view. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14. Preview the form.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15. Click InsertPi button to execute the InsertPi command.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:460px;HEIGHT:244px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56395/original.aspx" width="460" height="244" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16. Save, and close the form, and open the XML in a text editor to view the inserted processing instruction.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17. Next test removing a PI.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18. Enter an existing PI name in the Name field (this tutorial uses Test).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 19. Click RemovePi button to execute the command.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.infopathdev.com/photos/blog_pictures/images/56396/original.aspx" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20. Now save, and close the form and open the saved form in a text editor to see the removed processing instruction.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;21. You can also use a concat command if you wish to use specific fields with dynamic values in your InsertPi command parameters. Let’s replace InsertPiCommand field with a concat command.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a. In design mode, right click on InsertPiCommand field, and select Text Box Properties… to set the value to the below concat command (Note: Since concat is an InfoPath function, you will have to enter it as a formula, pointing name, and data, to&amp;nbsp; their respective nodes in the main data source:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;concat(&amp;quot;InsertPi /name=&amp;quot;, name, &amp;quot; /data=&amp;quot;, data, &amp;quot; /update=true&amp;quot;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:602px;HEIGHT:263px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56397/original.aspx" width="602" height="263" alt="" /&gt;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b. Preview your form.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.&amp;nbsp; Enter Test in the &lt;strong&gt;&lt;u&gt;Name&lt;/u&gt;&lt;/strong&gt; field, and dev=”false” in the &lt;strong&gt;&lt;u&gt;Data&lt;/u&gt;&lt;/strong&gt; field.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:526px;HEIGHT:228px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56398/original.aspx" width="526" height="228" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d. Click InsertPi button.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:550px;HEIGHT:224px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56399/original.aspx" width="550" height="224" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e. Now save, and close the form and open the saved form in a text editor to see the inserted processing instruction. You should see a PI similar to the below one.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;?Test dev=&amp;quot;false&amp;quot;?&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22. Similarly you can also insert a processing instruction to a secondary data source using /dsname parameter:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a. In the design mode, right click on InsertPiCommand field, and select Text Box Properties… to add a new parameter to the InsertPi command. Your command should look similar to the below one:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;concat(&amp;quot;InsertPi /name=&amp;quot;, name, &amp;quot; /data=&amp;quot;, data, &amp;quot; /dsname=&amp;quot;, dsname, &amp;quot; /update=true&amp;quot;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:595px;HEIGHT:256px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56400/original.aspx" width="595" height="256" alt="" /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b. Save and preview the form.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c. Enter data in the fields as shown below (this tutorial uses QdabraRules as a secondary data source).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img style="WIDTH:670px;HEIGHT:239px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56401/original.aspx" width="670" height="239" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d. Click InsertPi button.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img style="WIDTH:682px;HEIGHT:250px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56402/original.aspx" width="682" height="250" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e. Now the PI is inserted to QdabraRules data source (Note: You can verify that by having an expression box with the following value: xdXDocument:GetDOM(&amp;quot;QdabraRules&amp;quot;)/processing-instruction()[local-name(.) = &amp;quot;Test&amp;quot;]&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="https://www.infopathdev.com:443/aggbug.aspx?PostID=56384" width="1" height="1"&gt;</description><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/InsertPi/default.aspx">InsertPi</category><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/qRules+v2.2/default.aspx">qRules v2.2</category><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/RemovePi/default.aspx">RemovePi</category></item><item><title>How to use the GetAttachmentAttribute command </title><link>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/30/how-to-use-the-getattachmentattribute-command.aspx</link><pubDate>Wed, 30 Jun 2010 15:12:00 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:56370</guid><dc:creator>aruna akella</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://www.infopathdev.com:443/blogs/aruna_akella/rsscomments.aspx?PostID=56370</wfw:commentRss><comments>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/30/how-to-use-the-getattachmentattribute-command.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;New &lt;/strong&gt;for qRules v2.2&amp;nbsp;-- GetAttachmentAttribute!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why is this useful?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Promote the name of the attachment in a form to a form library, by getting the file name and copying it into a main data source node&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Send information about form attachments in an email submit to users&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;This command extracts the details of an attachment, including file name, extension, and size.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Arguments:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;xpath: Xpath to field to Decrypt.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;attr: Specific attribute value to get (Name | Ext | Size | File).&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;dsname: (optional) Data source name. &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt; &lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;GetAttachmentAttribute /xpath=/my:myFields/my:FileAttachment&amp;nbsp; /attr=Name&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;GetAttachmentAttribute /xpath=/my:myFields/my:FileAttachment&amp;nbsp; /attr=Ext&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;GetAttachmentAttribute /xpath=/my:myFields/my:FileAttachment&amp;nbsp; /attr=Size&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;GetAttachmentAttribute /xpath=/my:myFields/my:FileAttachment&amp;nbsp; /attr=File&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;GetAttachmentAttribute /xpath=/my:myFields/my:FileAttachment&amp;nbsp; /attr=Name /dsname=&amp;lt;SECONDARY DATASOURCE&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;PRE-REQUISITE&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This tutorial assumes that you already have qRules v2.2 or later installed on your machine. For details on this, please see the User Guide included with the installer. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Create a new InfoPath form: In InfoPath, design a new, blank form. Select File &amp;gt; Save As and save the XSN to your local drive. Close the form. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Launch the qRules v2.2 Injector, browse to select the XSN you created and click Inject. Close the qRules Injector and open the form in Design mode. &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;For more information on the steps above, refer to the User Guide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;EXECUTION STEPS&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Design your form template based on the following steps:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.&amp;nbsp;&amp;nbsp; Drag and drop a file attachment control, a drop-down list box, a text box, and a button onto your canvas. Your main data source should be similar to the below one:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:255px;HEIGHT:146px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56372/original.aspx" width="255" height="146" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.&amp;nbsp;&amp;nbsp; You will have a layout similar to the one below on your canvas:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:676px;HEIGHT:145px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56373/original.aspx" width="676" height="145" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;&amp;nbsp; Click GetAttachmentAttribute button, and then from Home &amp;gt; Add Rule &amp;gt; When This Button is Clicked &amp;gt; Set a Field’s Value:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:447px;HEIGHT:271px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56374/original.aspx" width="447" height="271" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.&amp;nbsp;&amp;nbsp; Now set the Field value to point to the QdabraRules (Secondary) Command field.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:666px;HEIGHT:189px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56375/original.aspx" width="666" height="189" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.&amp;nbsp;&amp;nbsp; Set a Value: to point to the GetAttachmentAttributeCommand field from the main data source. Click OK.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:734px;HEIGHT:120px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56376/original.aspx" width="734" height="120" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.&amp;nbsp;&amp;nbsp; Right click on the GetAttachmentAttributeCommand, and select Text Box Properties… and enter the value:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;GetAttachmentAttribute /xpath=/my:myFields/my:FileAttachment /attr=Name&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:391px;HEIGHT:287px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56377/original.aspx" width="391" height="287" alt="" /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7.&amp;nbsp;&amp;nbsp; Click OK.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.&amp;nbsp;&amp;nbsp; Now drag and drop the QdabraRules Result, Success, and Error fields into the view. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9.&amp;nbsp;&amp;nbsp; Preview the form.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10. Attach a file or a picture in a file attachment control.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11. Click GetAttachmentAttribute button to execute the command.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:697px;HEIGHT:264px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56378/original.aspx" width="697" height="264" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12. You will see the file or picture name in the result field.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;13. Change the /attr param to Ext, Size, or File and click the button again to obtain a different attribute.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14. Similarly you can also get specific attributes of a file attachment from a secondary data source using /dsname parameter.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15. You can also use a concat command if you wish to use specific fields with dynamic values in your command parameters. Let’s replace GetAttachmentAttributeCommand field with a concat command.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16. In design mode, right click on GetAttachmentAttributeCommand field, and select Text Box Properties… to add a new parameter to the command. Your command should look similar to the below one:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp; concat(&amp;quot;GetAttachmentAttribute /xpath=/my:myFields/my:FileAttachment&amp;nbsp; /attr=&amp;quot;, AttributeValue)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:609px;HEIGHT:130px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56379/original.aspx" width="609" height="130" alt="" /&gt;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;17. In the AttributeValue dropdown box, add four entries as shown below:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:410px;HEIGHT:508px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56380/original.aspx" width="410" height="508" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18. Save and preview the form.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;19. Attach a file or a picture in a file attachment control.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;20. Select one of the attribute values from the dropdown list.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;21. Click the&amp;nbsp;GetAttachmentAttribute button.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.infopathdev.com/photos/blog_pictures/images/56381/original.aspx" alt="" /&gt;&lt;/p&gt;&lt;img src="https://www.infopathdev.com:443/aggbug.aspx?PostID=56370" width="1" height="1"&gt;</description><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/GetAttachmentAttribute/default.aspx">GetAttachmentAttribute</category><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/qRules+v2.2/default.aspx">qRules v2.2</category></item><item><title>How to use the DelimitedList command </title><link>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/30/how-to-use-the-delimitedlist-command.aspx</link><pubDate>Wed, 30 Jun 2010 14:15:00 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:56368</guid><dc:creator>aruna akella</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://www.infopathdev.com:443/blogs/aruna_akella/rsscomments.aspx?PostID=56368</wfw:commentRss><comments>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/30/how-to-use-the-delimitedlist-command.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;New &lt;/strong&gt;for qRules v2.2 -- DelimitedList!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;strong&gt;Why is this useful?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hate trying to understand the syntax of the double eval method?&lt;/li&gt;
&lt;li&gt;Need to have data from a repeating field rolled up into another field?&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;This command can replace the double eval method, as it concatenates a repeating field into a single delimited value. Unlike the double eval method, however, qRules can use filtered XPath to select only certain fields from the repeating data source!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Arguments:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;xpath: Xpath for field with values.&lt;/li&gt;
&lt;li&gt;Dsname: (optional) Data Source Name.&lt;/li&gt;
&lt;li&gt;separator: (optional) List separator.&lt;/li&gt;
&lt;li&gt;space: (optional) Before|After|Both.. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DelimitedList /xpath=/my:myFields/my:DelimitedTextFld&lt;/li&gt;
&lt;li&gt;DelimitedList /xpath=/my:myFields/my:DelimitedTextFld /separator=&amp;amp; /space=before&lt;/li&gt;
&lt;li&gt;DelimitedList /xpath=/my:myFields/my:DelimitedTextFld /separator=&amp;amp; /space=after&lt;/li&gt;
&lt;li&gt;DelimitedList /xpath=/my:myFields/my:DelimitedTextFld /separator=&amp;amp; /space=both&lt;/li&gt;
&lt;li&gt;DelimitedList /xpath=/my:myFields/my:DelimitedTextFld /separator=&amp;amp; /space=both /dsname=&amp;lt;SecondaryDataSource&amp;gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;PRE-REQUISITE&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;This tutorial assumes that you already have qRules v2.2 or later installed on your machine. For details on this, please see the User Guide included with the installer. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a new InfoPath form: In InfoPath, design a new, blank form. Select File &amp;gt; Save As and save the XSN to your local drive. Close the form. &lt;/li&gt;
&lt;li&gt;Launch the qRules v2.2 Injector, browse to select the XSN you created and click Inject. Close the qRules Injector and open the form in Design mode. &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;For more information on the steps above, refer to the User Guide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;EXECUTION STEPS&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Design your form template based on the following steps:&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp;&amp;nbsp; Drag and drop the following controls onto your canvas, all of data type string.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a. &lt;strong&gt;Bulleted&lt;/strong&gt; &lt;strong&gt;List&lt;/strong&gt; (this tutorial uses DelimitedTextFld).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b. &lt;strong&gt;Text&lt;/strong&gt; &lt;strong&gt;Box&lt;/strong&gt; (this tutorial uses DelimitedCommand).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c. &lt;strong&gt;Button&lt;/strong&gt; (this tutorial uses DelimitedList).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Finally you will have the following layout on your canvas:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:673px;HEIGHT:174px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56355/original.aspx" width="673" height="174" alt="" /&gt;&lt;br /&gt;2.&amp;nbsp;&amp;nbsp; Click on the DelimitedList button, and then from &lt;strong&gt;Home&lt;/strong&gt; &amp;gt; &lt;strong&gt;Add Rule&lt;/strong&gt; &amp;gt; &lt;strong&gt;When This Button is Clicked&lt;/strong&gt; &amp;gt; &lt;strong&gt;Set a Field’s Value&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:447px;HEIGHT:271px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56356/original.aspx" width="447" height="271" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;3.&amp;nbsp;&amp;nbsp; Now &lt;strong&gt;set a Field:&lt;/strong&gt; value to point to the &lt;strong&gt;QdabraRules(Secondary) Command&lt;/strong&gt; field.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:666px;HEIGHT:189px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56357/original.aspx" width="666" height="189" alt="" /&gt;&lt;br /&gt;4.&amp;nbsp;&amp;nbsp; Set a &lt;strong&gt;Value:&lt;/strong&gt; to point to the &lt;strong&gt;DelimitedCommand&lt;/strong&gt; field from the main data source. Click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:701px;HEIGHT:162px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56358/original.aspx" width="701" height="162" alt="" /&gt;&lt;br /&gt;5.&amp;nbsp;&amp;nbsp; Right click on the &lt;strong&gt;DelimitedCommand&lt;/strong&gt;, and select &lt;strong&gt;Text Box Properties…&lt;/strong&gt; and enter the value:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;DelimitedList /xpath=/my:myFields/my:DelimitedTextFld /separator=&amp;amp; /space=before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:395px;HEIGHT:418px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56359/original.aspx" width="395" height="418" alt="" /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;6.&amp;nbsp;&amp;nbsp; Click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;7.&amp;nbsp;&amp;nbsp; Now drag and drop the QdabraRules &lt;strong&gt;Result&lt;/strong&gt;, &lt;strong&gt;Success&lt;/strong&gt;, and &lt;strong&gt;Error&lt;/strong&gt; fields into the view. &lt;/p&gt;
&lt;p&gt;8.&amp;nbsp;&amp;nbsp; Preview the form.&lt;/p&gt;
&lt;p&gt;9.&amp;nbsp;&amp;nbsp; Enter a delimited text:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img style="WIDTH:522px;HEIGHT:65px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56360/original.aspx" width="522" height="65" alt="" /&gt;&lt;br /&gt;10. Click &lt;strong&gt;DelimitedList&lt;/strong&gt; button to execute the command.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img style="WIDTH:662px;HEIGHT:267px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56361/original.aspx" width="662" height="267" alt="" /&gt;&lt;br /&gt;11. Similarly you can also take a repeating field from a secondary data source to return a single value of the field separated by a chosen separator using &lt;strong&gt;/dsname&lt;/strong&gt; parameter.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For example:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a. Let’s save the preview mode of the form at step10 locally.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b. Click &lt;strong&gt;Data&lt;/strong&gt; &amp;gt; &lt;strong&gt;Data&lt;/strong&gt; &lt;strong&gt;Connections&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c. Click &lt;strong&gt;Add…&lt;/strong&gt; button to add a receiving data connection.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d. Select &lt;strong&gt;XML document&lt;/strong&gt; as source of your data.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:367px;HEIGHT:204px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56362/original.aspx" width="367" height="204" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e. Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f.&amp;nbsp; Navigate to the xml file saved at step a.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g. Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h.&amp;nbsp;Select &lt;strong&gt;Include the data as a resource file in the form template or template part&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:404px;HEIGHT:108px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56363/original.aspx" width="404" height="108" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i.&amp;nbsp; Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j.&amp;nbsp; Click &lt;strong&gt;Finish&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:618px;HEIGHT:426px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56364/original.aspx" width="618" height="426" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k. Right click on the &lt;strong&gt;DelimitedCommand&lt;/strong&gt;, and select &lt;strong&gt;Text&lt;/strong&gt; &lt;strong&gt;Box&lt;/strong&gt; &lt;strong&gt;Properties…&lt;/strong&gt; and enter the value:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt; DelimitedList /xpath=/my:myFields/my:DelimitedTextFld /separator=&amp;amp; /space=before /dsname=sampleform&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;l.&amp;nbsp; Drag and drop the &lt;strong&gt;DelimitedTextFld&lt;/strong&gt; from sampleform secondary data source onto your canvas.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m.Click &lt;strong&gt;Preview&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n. Click &lt;strong&gt;DelimitedList&lt;/strong&gt; button.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o. The result field returns a single return value (from a secondary data source) by a chosen separator.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="WIDTH:706px;HEIGHT:315px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56365/original.aspx" width="706" height="315" alt="" /&gt;&lt;/p&gt;&lt;img src="https://www.infopathdev.com:443/aggbug.aspx?PostID=56368" width="1" height="1"&gt;</description><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/DelimitedList/default.aspx">DelimitedList</category><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/qRules+v2.2/default.aspx">qRules v2.2</category></item><item><title> How to use the ClearErrors command </title><link>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/30/how-to-use-the-clearerrors-command.aspx</link><pubDate>Wed, 30 Jun 2010 13:47:00 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:56354</guid><dc:creator>aruna akella</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://www.infopathdev.com:443/blogs/aruna_akella/rsscomments.aspx?PostID=56354</wfw:commentRss><comments>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/30/how-to-use-the-clearerrors-command.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;New &lt;/strong&gt;for qRules v2.2 --&amp;nbsp;ClearErrors!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why is it useful?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Add a &amp;quot;save&amp;quot; function to your form that allows submitting with validation errors (an InfoPath impossibility!)&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Save time when testing by not having to fill out all required fields in a form to submit (or figure out why a formula is producing an invalid value)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;This command deletes the error collection, and it is useful when submitting an incomplete form. However, note that InfoPath provides no way to restore the error collection other than closing and reopening the form.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;PRE-REQUISITES&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;This tutorial assumes that you already have qRules v2.2 or later installed on your machine. For details on this, please see the User Guide included with the installer.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;Create a new InfoPath form: In InfoPath, design a new, blank form. Select File &amp;gt; Save As and save the XSN to your local drive. Close the form.&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;Launch the qRules v2.2 Injector, browse to select the XSN you created and click Inject. Close the qRules Injector and open the form in Design mode.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;For more information on the steps above, refer to the User Guide.&lt;/p&gt;
&lt;p&gt;This tutorial also assumes that user has configured a Submit button, which uses SubmitToSharePointList qRules command. Please refer this &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:EN-US;"&gt;&lt;a href="http://www.infopathdev.com/files/folders/qrules/entry49216.aspx"&gt;blog post&lt;/a&gt;&amp;nbsp;&lt;/span&gt;to learn more about this command.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;EXECUTION STEPS&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;Let’s discuss ClearErrors command with an example. Design your form template based on the following steps:&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp; Your main data source should be similar to the below one (Note: Name field cannot be blank).&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:160px;HEIGHT:199px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56342/original.aspx" width="160" height="199" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;2.&amp;nbsp; Drag and drop the above created controls onto your canvas. You will have a layout similar to the one shown in the screenshot below.&lt;br /&gt;&amp;nbsp;&lt;img style="WIDTH:674px;HEIGHT:118px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56343/original.aspx" width="674" height="118" alt="" /&gt;&lt;br /&gt;&amp;nbsp;3.&amp;nbsp; Click on the ClearErrors button, and then from Home &amp;gt; Add Rule &amp;gt; When This Button is Clicked &amp;gt; Set a Field’s Value:&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:447px;HEIGHT:271px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56346/original.aspx" width="447" height="271" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;4.&amp;nbsp; Now set the Field value to point to the QdabraRules(Secondary) Command field.&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:666px;HEIGHT:189px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56347/original.aspx" width="666" height="189" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;5.&amp;nbsp; Set the Value: to ClearErrors. Finally the rule should look similar to that shown below:&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:487px;HEIGHT:282px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56348/original.aspx" width="487" height="282" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;6.&amp;nbsp; Click OK.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;7.&amp;nbsp; Now drag and drop the QdabraRules Result, Success, and Error fields into the view. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;8.&amp;nbsp; Preview the form.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;9.&amp;nbsp; Enter data in the Date, and Purpose field as shown below, and click Submit button.&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:699px;HEIGHT:111px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56349/original.aspx" width="699" height="111" alt="" /&gt;&lt;br /&gt;&amp;nbsp;10. You will notice a validation error in the Error field, because there is no data in the Name field.&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:715px;HEIGHT:362px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56350/original.aspx" width="715" height="362" alt="" /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;11. Now click ClearErrors button to delete the error collection, and click Submit button again. This time you will notice that the form is published to a SharePoint library.&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:683px;HEIGHT:195px;" src="http://www.infopathdev.com/photos/blog_pictures/images/56351/original.aspx" width="683" height="195" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="https://www.infopathdev.com:443/aggbug.aspx?PostID=56354" width="1" height="1"&gt;</description><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/ClearErrors/default.aspx">ClearErrors</category><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/qRules+v2.2/default.aspx">qRules v2.2</category></item><item><title>New documentation for Qdabra's Excel to XML Tool</title><link>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/10/export-from-excel-to-sharepoint-using-qdabra-s-excel-to-xml-tool.aspx</link><pubDate>Thu, 10 Jun 2010 13:47:00 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:55770</guid><dc:creator>ErnestoM</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://www.infopathdev.com:443/blogs/aruna_akella/rsscomments.aspx?PostID=55770</wfw:commentRss><comments>https://www.infopathdev.com:443/blogs/aruna_akella/archive/2010/06/10/export-from-excel-to-sharepoint-using-qdabra-s-excel-to-xml-tool.aspx#comments</comments><description>&lt;p&gt;Qdabra&amp;#39;s &lt;a href="http://www.qdabra.com/en/products/ExcelToInfoPath.aspx"&gt;Excel to XML tool, available on Qdabra.com&lt;/a&gt;, allows you to export row data (in Excel) to XML files.&lt;/p&gt;&lt;p&gt;Did you know the tool also allows you to export XML files directly to SharePoint? To find out more, &lt;a href="http://www.infopathdev.com/files/folders/55768/download.aspx"&gt;click here to download a tutorial&lt;/a&gt; (PDF format).&lt;/p&gt;&lt;p&gt;The tool was also recently updated to allow converting repeating data! For more info, click here to download a tutorial (PDF format). &lt;br /&gt;&lt;/p&gt;&lt;img src="https://www.infopathdev.com:443/aggbug.aspx?PostID=55770" width="1" height="1"&gt;</description><category domain="https://www.infopathdev.com:443/blogs/aruna_akella/archive/tags/Excel+to+XML+tool/default.aspx">Excel to XML tool</category></item></channel></rss>