<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3132357405579351461</atom:id><lastBuildDate>Mon, 08 Mar 2010 17:28:15 +0000</lastBuildDate><title>SharePoint Fix</title><description>A blog about SharePoint, InfoPath, Nintex workflows, Lotus notes to SharePoint migration, minor bug fixes and major hotfixes</description><link>http://www.sharepointfix.com/</link><managingEditor>mehul.bhuva@gmail.com (Mehul Bhuva)</managingEditor><generator>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MehulBhuva" /><feedburner:info uri="mehulbhuva" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><feedburner:emailServiceId>MehulBhuva</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/MehulBhuva" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:browserFriendly>Subscribe to my feeds to stay in touch</feedburner:browserFriendly><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-4913841401529970366</guid><pubDate>Sun, 07 Mar 2010 07:55:00 +0000</pubDate><atom:updated>2010-03-08T08:32:27.292-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">forms based authentication sharepoint 2010</category><category domain="http://www.blogger.com/atom/ns#">FBA SharePoint</category><category domain="http://www.blogger.com/atom/ns#">Enable Forms based authentication in SharePoint 2010</category><category domain="http://www.blogger.com/atom/ns#">FBA</category><title>Enable Forms Based Authentication (FBA) in SharePoint 2010</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8VY4k5j78AJj5dVSNiQVdIJrTSg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8VY4k5j78AJj5dVSNiQVdIJrTSg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8VY4k5j78AJj5dVSNiQVdIJrTSg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8VY4k5j78AJj5dVSNiQVdIJrTSg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;b style="color: red;"&gt;Upcoming Posts:&lt;/b&gt;&lt;span style="color: red;"&gt; &lt;/span&gt;Have not been regular with my blogging in the last month, did lots of R&amp;amp;D on the InfoPath 2007 browser enabled forms and Form services, my future posts will be in the following areas:&lt;br /&gt;
&lt;br /&gt;
A) Multi-select List Items in a browser enabled InfoPath form, which was earlier thought not to be possible with Form Services, stay tuned for that post.&lt;br /&gt;
&lt;br /&gt;
B) Cascading dropdowns using code-behind InfoPath solution and owssvr.dll for dynamic filtering within the dropdowns using XML.&lt;br /&gt;
&lt;br /&gt;
Coming back to Forms Based Authentication, here is a nice step-by-step tutorial, I found on Enabling Forms Based Authentication in SharePoint 2010: &lt;b&gt;&lt;a href="http://blog.summitcloud.com/2009/11/forms-based-authentication-sharepoint-2010-fb/" target="_blank"&gt;http://blog.summitcloud.com/2009/11/forms-based-authentication-sharepoint-2010-fb/&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
For enabling FBA on SharePoint 2007, refer:&amp;nbsp; &lt;b&gt;&lt;a href="http://blog.summitcloud.com/2009/10/enable-forms-based-authentication-for-sharepoint/" target="_blank"&gt;http://blog.summitcloud.com/2009/10/enable-forms-based-authentication-for-sharepoint/&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Stay tuned for my interesting hacks on InfoPath 2007. Till then Happy Programming :) &lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-4913841401529970366?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pqPiKWkzw2I:L8q8GiGNCjs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pqPiKWkzw2I:L8q8GiGNCjs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pqPiKWkzw2I:L8q8GiGNCjs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=pqPiKWkzw2I:L8q8GiGNCjs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pqPiKWkzw2I:L8q8GiGNCjs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=pqPiKWkzw2I:L8q8GiGNCjs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pqPiKWkzw2I:L8q8GiGNCjs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=pqPiKWkzw2I:L8q8GiGNCjs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/pqPiKWkzw2I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/pqPiKWkzw2I/enable-forms-based-authentication-fba.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2010/03/enable-forms-based-authentication-fba.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-5273875233035959791</guid><pubDate>Thu, 14 Jan 2010 14:15:00 +0000</pubDate><atom:updated>2010-01-15T04:53:21.655-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">custom infopath task form  nintex</category><category domain="http://www.blogger.com/atom/ns#">nintex infopath</category><category domain="http://www.blogger.com/atom/ns#">my workflow tasks webpart</category><category domain="http://www.blogger.com/atom/ns#">infopath nintex my workflow tasks webpart</category><title>Nintex My Workflow tasks webpart - Redirect to Custom InfoPath Task form</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tBHWd-n0CXqIsgoegaq6dl4_ETw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tBHWd-n0CXqIsgoegaq6dl4_ETw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tBHWd-n0CXqIsgoegaq6dl4_ETw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tBHWd-n0CXqIsgoegaq6dl4_ETw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;My &lt;b&gt;&lt;a href="http://www.sharepointfix.com/2009/11/nintex-my-workflow-tasks-webpart-for.html"&gt;earlier&lt;/a&gt;&lt;/b&gt; post related to a unique problem in Nintex OOTB &lt;b&gt;"My Workflow Tasks"&lt;/b&gt; webpart. The job of this webpart is to show all Workflow Tasks assigned to the currently logged in user.&lt;br /&gt;
&lt;br /&gt;
The problem occurs when InfoPath forms come into picture, since we might have a custom InfoPath task form, and the default behavior of the webpart directs the user to the Nintex OOTB task form, so it is has no provision for redirecting users to a Custom InfoPath Task form.&lt;br /&gt;
&lt;br /&gt;
There are 2 possible ways to overcome this limitation:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Approach 1:&lt;/b&gt; in this approach I create a new custom &lt;b&gt;InfoPathApproveReject.aspx&lt;/b&gt; form which overrides the OOTB Nintex &lt;b&gt;ApproveReject.aspx&lt;/b&gt; Task form and hides certain section of the form like the Approve/Reject radio buttons. Check out Approach 1 &lt;b&gt;&lt;a href="http://www.sharepointfix.com/2009/11/nintex-my-workflow-tasks-webpart-for.html"&gt;here&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;b&gt;Approach 2:&lt;/b&gt; Is modifying the existing Nintex OOTB &lt;b&gt;ApproveReject.aspx&lt;/b&gt; task form in the &lt;b&gt;12 Hive layouts&lt;/b&gt; directory. The approach is to identify whether the ItemProperties contain .xml as an extension or not, so we use the following code in the &lt;b&gt;ApproveReject.aspx&lt;/b&gt; page:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;if (this.itemProperties.Item.Name.ToString().Contains(".xml"))&lt;br /&gt;
&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string redirectUrl = this.itemProperties.Item.Web.Url + "/_layouts/FormServer.aspx?XmlLocation=" + this.itemProperties.Item.Web.Url + "/" + this.itemProperties.Item.Url.ToString() + "&amp;amp;OpenIn=browser";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Redirect(redirectUrl);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
This will work for all web applications in your SharePoint environment. If it is a custom InfoPath form in the Item Properties object, then it simply redirects the logged in user to the Custom InfoPath task form, otherwise it shows up only the OOTB Nintex task form.&lt;br /&gt;
&lt;br /&gt;
Click &lt;a href="http://www.box.net/shared/9l591vvvn5"&gt;&lt;b&gt;here&lt;/b&gt;&lt;/a&gt; to download the customized version of Nintex&lt;b&gt; ApproveReject.aspx&lt;/b&gt; form. &lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;NOTE:&lt;/b&gt; Take a back up of your existing copy of OOTB ApproveReject.aspx page from the following location &lt;b&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\NINTEXWORKFLOW&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Then replace the customized version of &lt;b&gt;ApproveReject.aspx&lt;/b&gt; page in the above mentioned location.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Test your changes:&lt;/b&gt; &lt;br /&gt;
To test the new change, you need to have a workflow enabled List/Library with a custom infopath form and Nintex OOTB &lt;b&gt;My Workflow Tasks&lt;/b&gt; webpart on any of your site page.&lt;br /&gt;
&lt;br /&gt;
Now when the task gets created it shows up in the webpart and when you click on the Item it opens up the InfoPath custom task form.&lt;br /&gt;
&lt;br /&gt;
However, if you have a standard workflow on a SharePoint list/libray without InfoPath form, then you need not worry, since it would automatically open up the OOTB Nintex task form as it never found .xml within the ItemProperties object.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-5273875233035959791?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BHDgK3vj1iE:9rYIjK32DoA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BHDgK3vj1iE:9rYIjK32DoA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BHDgK3vj1iE:9rYIjK32DoA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=BHDgK3vj1iE:9rYIjK32DoA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BHDgK3vj1iE:9rYIjK32DoA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=BHDgK3vj1iE:9rYIjK32DoA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BHDgK3vj1iE:9rYIjK32DoA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=BHDgK3vj1iE:9rYIjK32DoA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/BHDgK3vj1iE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/BHDgK3vj1iE/nintex-my-workflow-tasks-webpart.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2010/01/nintex-my-workflow-tasks-webpart.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-182644028198436519</guid><pubDate>Thu, 17 Dec 2009 08:08:00 +0000</pubDate><atom:updated>2010-01-25T22:49:27.823-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">deploy infopath form as content type</category><category domain="http://www.blogger.com/atom/ns#">deploy browser enabled infopath form</category><category domain="http://www.blogger.com/atom/ns#">deploy infopath form as feature</category><title>Deploy browser enabled InfoPath forms as SharePoint feature - InfoPath 2007 form and Nintex workflows 2007 - Part 2</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gZMaF04uYdbzw6GsbWzuBTehO-8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gZMaF04uYdbzw6GsbWzuBTehO-8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gZMaF04uYdbzw6GsbWzuBTehO-8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gZMaF04uYdbzw6GsbWzuBTehO-8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;b&gt;&lt;a href="http://www.sharepointfix.com/2009/10/infopath-2007-form-and-nintex-workflows.html"&gt;InfoPath 2007 form and Nintex workflows 2007 Part 1&lt;/a&gt;&lt;/b&gt; covered basics of integrating InfoPath forms with Nintex workflows using in-built Nintex webservices, creating Receive Data Connections, submit data connections, creating Form Load Rules and building complex InfoPath Role based Views.&lt;br /&gt;
&lt;br /&gt;
InfoPath 2007 form and Nintex workflows 2007 - Part 2 covers on how to deploy browser enabled InfoPath forms as Content Types in your SharePoint List/Library.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;For deployment, we need to follow the steps mentioned below:&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;a. Converting InfoPath Data Connections to DCL library in SharePoint.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;b. Publishing InfoPath form to a SharePoint List/Library&amp;nbsp; &lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;c. Creating a .wsp solution package for the InfoPath form and its code-behind&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;d. Creating a batch script that will deploy the InfoPath form on your Production site.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;e. Ensuring the InfoPath form has been deployed as a feature&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;f.&amp;nbsp; Modify the DCL's in the production environment.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;g. Associate the InfoPath Content Type with the Document/Forms Library&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;a. &lt;/b&gt;&lt;b&gt;Convert all your InfoPath Data Connections into the Data Connections library (DCL) in SharePoint&lt;/b&gt;. &lt;br /&gt;
This is a very important step before deployment, because you need to modify these Data Connection URL's on the Production server. Suppose you have a Receive Data Connection from a SharePoint list in your InfoPath form, the List GUID and URL will be different for the Production environment, also your Submit data connection URL will be different for the Production environment. This is where DCL's come into picture.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Remember the web.config file in ASP.NET, where we store all our connection strings. Just before giving the msi build, we change the web.config connection settings to point to the correct production url without the need for re-compiling and re-building the project. Same applies to DCL, you cannot move ahead with your InfoPath form deployment without changing converting your existing InfoPath form data connections to a SharePoint DCL library.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;NOTE: &lt;/b&gt;However, after deployment you have to change these DCLs in the production environment.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Snapshots below show how to convert your InfoPath form Data Connections to DCL's :&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;1. Create a new Data Connections Library in your Development environment:&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/Syh6HFDd7iI/AAAAAAAAAyU/ritN5Zmn5Vg/s1600-h/DCL+Library+1.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="512" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/Syh6HFDd7iI/AAAAAAAAAyU/ritN5Zmn5Vg/s640/DCL+Library+1.JPG" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.. You can name it anything you want, for eg: DCL&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/Syh6OqM6CCI/AAAAAAAAAyc/kTNSusDsCeI/s1600-h/DCL+Library+2.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/Syh6OqM6CCI/AAAAAAAAAyc/kTNSusDsCeI/s640/DCL+Library+2.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;3. DCL library just got created. This is the place where all your InfoPath Data Connections gets stored in the form of a .udcx file.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/Syh6R7iSUfI/AAAAAAAAAyk/W6txPXNdV6Q/s1600-h/DCL+Library+3.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/Syh6R7iSUfI/AAAAAAAAAyk/W6txPXNdV6Q/s640/DCL+Library+3.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;4. Go to your InfoPath Form Tools -&amp;gt; Data Connections, you will see all your data connections: &lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUQtUN5eqI/AAAAAAAAA4E/J7ehUudTJCM/s1600-h/DCL+Library+4.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUQtUN5eqI/AAAAAAAAA4E/J7ehUudTJCM/s640/DCL+Library+4.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;5. Select your InfoPath Data Connection and Click on the "Convert" button besides it. There are two options here: Relative to Site Collection and Centrally managed, choose Relative to Site Collection, because we will later export this site to production environment and there we need to get all these Data Connections.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Give an appropriate name to your data connection and Click on the Ok button &lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SzUQ7JKAe-I/AAAAAAAAA4M/_mwLzobqXUI/s1600-h/DCL+Library+5.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SzUQ7JKAe-I/AAAAAAAAA4M/_mwLzobqXUI/s640/DCL+Library+5.JPG" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;6.&amp;nbsp; Go to the DCL library, you will see the InfoPath connection appears herem check the status, it shows as Pending&amp;nbsp; &lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/Syh6bDpCiVI/AAAAAAAAAy8/wwUNI_tqZ-g/s1600-h/DCL+Library+6.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/Syh6bDpCiVI/AAAAAAAAAy8/wwUNI_tqZ-g/s640/DCL+Library+6.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;7. Click on the Name Context menu, select Approve/Reject link &lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/Syh6krsHUVI/AAAAAAAAAzE/Y7_M4U92IHE/s1600-h/DCL+Library+7.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/Syh6krsHUVI/AAAAAAAAAzE/Y7_M4U92IHE/s640/DCL+Library+7.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;8. Select the radio button Approved and click on Ok button.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/Syh6nJ7HIqI/AAAAAAAAAzM/rIhZ_UHc1vM/s1600-h/DCL+Library+8.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/Syh6nJ7HIqI/AAAAAAAAAzM/rIhZ_UHc1vM/s640/DCL+Library+8.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;9. The DCL is now seperated from InfoPath form and has all the connection details. &lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/Syh6qbbvgrI/AAAAAAAAAzU/nBj0U-8VR1Y/s1600-h/DCL+Library+9.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/Syh6qbbvgrI/AAAAAAAAAzU/nBj0U-8VR1Y/s640/DCL+Library+9.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;10. The Convert button against the converted Data Connection becomes disabled &lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SzUVhDnBxUI/AAAAAAAAA4U/dLlNRHXWNVU/s1600-h/DCL+Library+10.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SzUVhDnBxUI/AAAAAAAAA4U/dLlNRHXWNVU/s640/DCL+Library+10.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;11. Once the DCL is created, you cannot re-convert the same InfoPath Data Connection again, so inorder to modify the same you need to recreate the Data Connection and then click on Convert again. Therefore, to avoid rework, it is always advisable to create data connections after test your InfoPath forms thoroughly in your Development environment before moving to test/production.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;NOTE:&lt;/b&gt; An important thing to remember is, that the DCL still holds the connection URLs for the development environment in the form of .udcx, we need to change them, when we deploy the site to Production environment, if we already know the Production URL, then we can change it here itself, but sometimes there are Receive Connections like Receive From SharePoint List/Library, XML data connection that have the List GUID too. Since we cannot predetermine the List GUID's for production, it is always advisable to modify these DCL's in the production environment.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;b. Publish your InfoPath forms to a SharePoint List/Library: &lt;/b&gt;Once all the Data Connections have been converted to the DCL library in SharePoint, we need to Publish the InfoPath form.&lt;br /&gt;
&lt;br /&gt;
1. Build and Re-build your InfoPath code behind solution first&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SynoN6jiEMI/AAAAAAAAA0U/U_M1K1RDOq0/s1600-h/Build+ReBuild+Solution.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SynoN6jiEMI/AAAAAAAAA0U/U_M1K1RDOq0/s640/Build+ReBuild+Solution.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Open your Infopath form, Go to File -&amp;gt; Publish, see snapshot below&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/SynqETJSfrI/AAAAAAAAA0c/Ar9Gr5vFQw0/s1600-h/Publish+InfoPath+1.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/SynqETJSfrI/AAAAAAAAA0c/Ar9Gr5vFQw0/s640/Publish+InfoPath+1.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;3. Follow the Steps in the Publishing Wizard, select first radio button i.e Publish to a SharePoint server and click on Next button&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUZUdWpR4I/AAAAAAAAA4c/jY6fn35oFjo/s1600-h/Publish+InfoPath+2.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUZUdWpR4I/AAAAAAAAA4c/jY6fn35oFjo/s640/Publish+InfoPath+2.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Enter your Site URL and click on Next button&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUZnbXlAII/AAAAAAAAA4k/vWY4AgLvSag/s1600-h/Publish+InfoPath+3.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUZnbXlAII/AAAAAAAAA4k/vWY4AgLvSag/s640/Publish+InfoPath+3.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. You may get this error at first, do not worry, it is due to the service Event Notification, which abnormally stops the Publishing&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUaAigwkgI/AAAAAAAAA4s/aumAFuaXnec/s1600-h/Publish+InfoPath+4.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUaAigwkgI/AAAAAAAAA4s/aumAFuaXnec/s640/Publish+InfoPath+4.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Be sure to Stop the System Event Notification services, go to Start -&amp;gt; Run -&amp;gt; services.msc, select System Event Notification and stop the service. &lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SynrMfCE6xI/AAAAAAAAA08/IY8VK-FbFlM/s1600-h/Publish+InfoPath+5.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SynrMfCE6xI/AAAAAAAAA08/IY8VK-FbFlM/s640/Publish+InfoPath+5.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. Now click on the Ok button of your error message pop-up and click the Next button, do not change anything here, click on Next button again&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SzUabD9t5rI/AAAAAAAAA40/NRfDLfUajA0/s1600-h/Publish+InfoPath+6.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SzUabD9t5rI/AAAAAAAAA40/NRfDLfUajA0/s640/Publish+InfoPath+6.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.&amp;nbsp; Enter your Publishing Location, this is the path where you will save your Published Form (this form will be used for Deployment to SharePoint), do not miss out to name your Published Form here, for eg: MyPublishedForm.xsn or the same name as your existing Form Template. Click on Next button&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUalViJD5I/AAAAAAAAA48/wOh9Us4zv3I/s1600-h/Publish+InfoPath+7.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUalViJD5I/AAAAAAAAA48/wOh9Us4zv3I/s640/Publish+InfoPath+7.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. Promote the required InfoPath fields you want into the SharePoint, the promoted fields become a part of the Content Type that we associate in our Document Library/ Form Library, click on the Next button.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUcSLLCX8I/AAAAAAAAA5E/YFTMife8WV8/s1600-h/Publish+InfoPath+8.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUcSLLCX8I/AAAAAAAAA5E/YFTMife8WV8/s640/Publish+InfoPath+8.JPG" /&gt;&lt;/a&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;NOTE:&lt;/b&gt; You can even allow the InfoPath form fields to be editable in SharePoint, by selecting the checkbox&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/Syn5Biy2T8I/AAAAAAAAA10/GINY6gm_WD0/s1600-h/Publish+InfoPath+11.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/Syn5Biy2T8I/AAAAAAAAA10/GINY6gm_WD0/s640/Publish+InfoPath+11.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;10. Click on the Publish button now.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUcieutSDI/AAAAAAAAA5M/OQ4BY5D_4DA/s1600-h/Publish+InfoPath+9.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SzUcieutSDI/AAAAAAAAA5M/OQ4BY5D_4DA/s640/Publish+InfoPath+9.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11. After clicking on Publish button, you will see the following screen, click on Close to complete the publishing process.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SzUc_j4j5LI/AAAAAAAAA5c/aONDRSzL5pE/s1600-h/Publish+InfoPath+10.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SzUc_j4j5LI/AAAAAAAAA5c/aONDRSzL5pE/s640/Publish+InfoPath+10.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;c. &lt;/b&gt;&lt;b&gt;Create an InfoPath solution package for deployment: &lt;/b&gt;We are now ready to create a package of the above browser enabled InfoPath form.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Install the famous WSP builder for Console application from &lt;a href="http://wspbuilder.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30858#DownloadId=77209"&gt;here&lt;/a&gt; (Download &lt;a class="FileNameLink" fileid="77209" filetime="128933688876870000" filetype="RuntimeBinary" href="http://wspbuilder.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30858#DownloadId=77209" id="ctl00_ctl00_MasterContent_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl00_FileNameHyperLink" onclick="suppressUnsavedData();return OnLoadDownload(this, true, false)" tabindex="9"&gt;WSPBuilder.exe version 0.9.9.0728 x86 (Console app)). &lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;1. In your hard disk drive, under the folder of your choice lets say Deployment, simulate the 12 hive structure&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;i.e create the following folders: 12, Tempalte, Features, Your Feature Name Folder&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;2. Next &lt;b&gt;&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/12/FeatureFiles.zip"&gt;Download&lt;/a&gt;&lt;/b&gt; the sample feature.xml and element.xml files from the &lt;b&gt;&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/12/FeatureFiles.zip"&gt;FeatureFiles.zip&lt;/a&gt;&lt;/b&gt;, you need to modify them, I have kept the relevant placeholders, change the values in the placeholders specified. I have scoped my InfoPath feature at the Site level. Next copy and paste your Published InfoPath form.xsn and InfoPath Form.dll within the features folder&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SykLWsK8kUI/AAAAAAAAAz0/cnCvK_aAT0o/s1600-h/Feature+Snapshot.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SykLWsK8kUI/AAAAAAAAAz0/cnCvK_aAT0o/s400/Feature+Snapshot.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;3. Next create a solution package for the feature, &lt;b&gt;&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/12/createwsp.zip"&gt;download&lt;/a&gt;&lt;/b&gt; the Create WSP batch file sample, all you have to do here modify values in the placeholders I have specified like creating a new GUID and modifying the WSP Name, you may also have to change the WSP Builder path.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Place the &lt;b&gt;createwsp.bat&lt;/b&gt; file in the same folder you have your 12 hive structure created, see the snapshot:&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SynOoM2V1iI/AAAAAAAAAz8/JdzF0RDxVGI/s1600-h/12Hive.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SynOoM2V1iI/AAAAAAAAAz8/JdzF0RDxVGI/s400/12Hive.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;4. Run the &lt;b&gt;createwsp.bat &lt;/b&gt;and it creates the feature solution package as shown in the snapshot below:&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SynPNNOdxnI/AAAAAAAAA0E/Ko5Un6dFgyU/s1600-h/WSP+Bat.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SynPNNOdxnI/AAAAAAAAA0E/Ko5Un6dFgyU/s400/WSP+Bat.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;d. Create a batch script to Install your InfoPath forms:&lt;/b&gt;&amp;nbsp; Download the &lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/12/InfoPathInstallBatch.zip"&gt;&lt;b&gt;InfoPathInstall.bat&lt;/b&gt;&lt;/a&gt; file batch file, this batch file will be used to Install the InfoPath form feature, change your InfoPath form .wsp name in the batch file, you may also have to change your stsadm path. See snapshot below:&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SynkvP0cazI/AAAAAAAAA0M/sPgkCN5ScDM/s1600-h/InfoPath+Install+Batch.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SynkvP0cazI/AAAAAAAAA0M/sPgkCN5ScDM/s400/InfoPath+Install+Batch.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Remember, this batch file and wsp package will be helpfull to you in case of Production deployment, where you do not have much access due to IT Policies and restrictions, you just need to give the .wsp and InfoPath Install.bat to the Server Administrators and they will do the needfull, only thing you may need to do is to manually Activate the feature via the interface.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;I have deliberately not included the activate feature command, since you may undergo a lot of changes in the InfoPath form package and you may have to do multiple re-deployments as well. It created a lot of issues for me while I was upgrading the package and re-deploying as it was making the new version of Content Type and not updating the existing Content Type. But when i only use Retract, Delete, Add and Deploy solution, it updates the Content Type properly. So i stick with this method, you are free to experiment by adding Install Feature, Activate Feature etc in your batch scripts.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;e. Ensuring the InfoPath form has been deployed as a feature: &lt;/b&gt;We assume that you are in your development environment and have completed the above mentioned steps, so deploying the .wsp created above is the only pending task now. Run the &lt;b&gt;InfoPath Install.bat&lt;/b&gt; file you created above in order to install your InfoPath form as a feature&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;NOTE: 2 Additonal deployment steps for Production environment: &lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;========================================================================= &lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;In&lt;b&gt; &lt;/b&gt;case you are ready to move your existing site collection and InfoPath forms into the Production environment, please follow the procedure mentioned below:&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;Before running the InfoPath Install.bat file in your Production envrionment, please ensure that:&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;1&lt;/b&gt;. &lt;b&gt;You have exported your development site collection using:&lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;stsadm -o export -url "http://yourwebappname/sites/sitecollname&lt;your collection="" site="" url=""&gt;" -filename "C:\Deployment\ITPurchaseBackUp.bak&lt;sitecollectionbackup.cmp&gt;"&lt;/sitecollectionbackup.cmp&gt;&lt;/your&gt;&lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;2&lt;/b&gt;. You have already created a Blank site collection in your production/deployment environment and ran the stsadm import command with the help of the exported .cmp&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;stsadm -o import -url "&lt;your collection="" site="" url=""&gt;&lt;/your&gt;&lt;/b&gt;&lt;b&gt;http://yourwebappname/sites/sitecollname&lt;/b&gt;&lt;b&gt;&lt;your collection="" site="" url=""&gt;" -filename "&lt;sitecollectionbackup.cmp&gt;&lt;/sitecollectionbackup.cmp&gt;&lt;/your&gt;&lt;/b&gt;&lt;b&gt;C:\Deployment\ITPurchaseBackUp.bak&lt;/b&gt;&lt;b&gt;&lt;your collection="" site="" url=""&gt;&lt;sitecollectionbackup.cmp&gt;"&lt;/sitecollectionbackup.cmp&gt;&lt;/your&gt;&lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;========================================================================= &lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Since the InfoPath feature is globally deployed, it is available as a feature in all the site collections in my web application. You can choose to scope it only respective to your site collection by modifying the InfoPath Install.bat file, I leave it upto you.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;The next step is to check whether our Published InfoPath form has been deployed as a feature or not:&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Go to your Site Settings -&amp;gt; Site Collection Features, find your feature and manually Activate it, see snapshot below:&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/Syn7nXdRCZI/AAAAAAAAA18/aFdp2uzps3g/s1600-h/Publish+InfoPath+12.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/Syn7nXdRCZI/AAAAAAAAA18/aFdp2uzps3g/s400/Publish+InfoPath+12.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;The moment you activate this feature Content Type specific to this solution gets created, Go to Site Settings -&amp;gt; Site Content Types -&amp;gt; Choose Microsoft Office InfoPath from the Show Group Dropdown&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/Syn8EcH1F3I/AAAAAAAAA2E/ur-3KIO5W4U/s1600-h/Publish+InfoPath+13.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/Syn8EcH1F3I/AAAAAAAAA2E/ur-3KIO5W4U/s320/Publish+InfoPath+13.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;f. Modify the DCL's in the Production environment: &lt;/b&gt;I believe you would have deployed your InfoPath Form solution wsp package and activated the feature in your respective Site Collection by now.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;In case you are in your development environment, the DCLs will automatically get created in your DCL library when you Convert your InfoPath data connections. We already completed that step. Now we want to move this site to the Production environment.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;I have specified the 2 additional steps for Production environment deployment in the previous step above., please follow that first.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Once you have imported your site, ensure that you activate your InfoPath form feature by following the steps mentioned in the previous point above.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Login as a user with Owners rights and go to your imported site collections DCL library, it will still have the connections referring to the Development environment. Now its time to change those connections by downloading the DCLs into your local disk, modifying and uploading the DCLs back to the library.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Let us follow the steps mentioned below:&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;a. Download the DCLs: Go to your Production site's DCL library, right click on the Type icon and click on Save Target As...for a specified Data Connection&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/SyoFzDq64EI/AAAAAAAAA2U/ncZP0pFRKAg/s1600-h/DCL+1.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/SyoFzDq64EI/AAAAAAAAA2U/ncZP0pFRKAg/s640/DCL+1.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
b. Save your .udcx file as an XML type file so that it is available for editing, you can either Save it in your Desktop or any other drive for that matter.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoGPl-O7KI/AAAAAAAAA2c/fvHF78crNdc/s1600-h/DCL+2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoGPl-O7KI/AAAAAAAAA2c/fvHF78crNdc/s400/DCL+2.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;c. Right Click the downloaded .udcx file, Open With Notepad and modify the ListID and WebUrl attributes, these attributes vary with the type of Data connection, so in case of a Submit Data Connection you wont see any ListID attribute, instead there will be a FolderName attribute that points to the Document/Form Library path where the form will be submitted to. Modifying your DCL's is nothing more than common sense, so everything is not covered in this post.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;The example we will cover is that of a Receive Data Connection type.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SyoG-FaTcSI/AAAAAAAAA2k/eX_5EsxR8ug/s1600-h/DCL+3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SyoG-FaTcSI/AAAAAAAAA2k/eX_5EsxR8ug/s400/DCL+3.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SyoHCkgNygI/AAAAAAAAA2s/Y8RGCc3Vuqs/s1600-h/DCL+4.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SyoHCkgNygI/AAAAAAAAA2s/Y8RGCc3Vuqs/s640/DCL+4.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d. Once modified with correct Production List GUIDS and Url, you need to upload the updated DCL back to the DCL library, see snapshots:&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Go to your DCL library -&amp;gt; Upload button &lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/SyoIP9eXI7I/AAAAAAAAA20/RKNoQG-FVMs/s1600-h/DCL+5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/SyoIP9eXI7I/AAAAAAAAA20/RKNoQG-FVMs/s400/DCL+5.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Browse and attach the modified .udcx file&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SyoIS-vgKII/AAAAAAAAA28/zvjoVjk357A/s1600-h/DCL+6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SyoIS-vgKII/AAAAAAAAA28/zvjoVjk357A/s400/DCL+6.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Click on Ok button, do not uncheck the checkbox. &lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoIcH9MZJI/AAAAAAAAA3E/L6FD_YwyvI4/s1600-h/DCL+7.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoIcH9MZJI/AAAAAAAAA3E/L6FD_YwyvI4/s400/DCL+7.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Ensure that the name and title should be the same with proper casing as it appears in the DCL library, do not change the other attributes, click on the Ok button&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoIiIbIHpI/AAAAAAAAA3M/Edq4jnBnVfc/s1600-h/DCL+8.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoIiIbIHpI/AAAAAAAAA3M/Edq4jnBnVfc/s400/DCL+8.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Select the Approve/Reject the modified and uploaded .udcx file and set it status to Approved.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoIlD1QUhI/AAAAAAAAA3U/2f4wWTbkI-A/s1600-h/DCL+9.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoIlD1QUhI/AAAAAAAAA3U/2f4wWTbkI-A/s400/DCL+9.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;g. Associate the InfoPath Content Type with the Document/Forms Library: &lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;1. Go to your Form/Document library where you want to use the InfoPath form content type, go to Document Library Settings&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SyoM9QKIK5I/AAAAAAAAA3c/fm2LEoJEuP8/s1600-h/Content+Type+1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SyoM9QKIK5I/AAAAAAAAA3c/fm2LEoJEuP8/s320/Content+Type+1.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;2. Select Advanced settings&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SyoNAQ52YvI/AAAAAAAAA3k/uOuvpiaM8_Y/s1600-h/Content+Type+2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SyoNAQ52YvI/AAAAAAAAA3k/uOuvpiaM8_Y/s400/Content+Type+2.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;3. Select the Radio button : Allow Management of Content Types to Yes  and select Display as a web page option in Opening browser-enabled documents&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SyoND1pKcPI/AAAAAAAAA3s/WgR4slnX0fM/s1600-h/Content+Type+3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SyoND1pKcPI/AAAAAAAAA3s/WgR4slnX0fM/s400/Content+Type+3.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;4. Go to Document Library settings again and Add the Microsoft Office InfoPath Content Type that we deployed using Add from existing content type option in the document library.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/SyoNGNgWUXI/AAAAAAAAA30/bUl6_X7NUao/s1600-h/Content+Type+4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/SyoNGNgWUXI/AAAAAAAAA30/bUl6_X7NUao/s400/Content+Type+4.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;5. Next go to your Document Library and click on New option, the new InfoPath Content Type will be visible with an InfoPath icon besides it. See snapshot&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoOonNiDzI/AAAAAAAAA38/gLzMuBZTGRY/s1600-h/Content+Type+5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/SyoOonNiDzI/AAAAAAAAA38/gLzMuBZTGRY/s320/Content+Type+5.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;Your InfoPath form should open up fine, if it throws errors like Cannot connect to the Data Source, then be sure to check your .udcx files in DCL's again.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;With this we complete the 2nd part series which covers correct way of deploying your InfoPath forms to the Production environment.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Stay tuned for Part 3 which will cover Nintex workflow deployment, I will share my workflow deployment scripts and share tricks and tips to deploy your Nintex workflows the correct way.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;In case you face any issues implementing the same, drop in your comments, I will be glad to help you... &lt;br /&gt;
&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;
&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;!--Session data--&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-182644028198436519?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=-LhCOH4s60M:X2OiPrFgiJ4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=-LhCOH4s60M:X2OiPrFgiJ4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=-LhCOH4s60M:X2OiPrFgiJ4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=-LhCOH4s60M:X2OiPrFgiJ4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=-LhCOH4s60M:X2OiPrFgiJ4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=-LhCOH4s60M:X2OiPrFgiJ4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=-LhCOH4s60M:X2OiPrFgiJ4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=-LhCOH4s60M:X2OiPrFgiJ4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/-LhCOH4s60M" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/-LhCOH4s60M/infopath-2007-form-and-nintex-workflows.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_x_mtoaEl5Us/Syh6HFDd7iI/AAAAAAAAAyU/ritN5Zmn5Vg/s72-c/DCL+Library+1.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/12/infopath-2007-form-and-nintex-workflows.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-3629922562440148031</guid><pubDate>Tue, 08 Dec 2009 05:05:00 +0000</pubDate><atom:updated>2009-12-07T23:14:07.700-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">notes to sharepoint application migration</category><category domain="http://www.blogger.com/atom/ns#">Lotus Notes to SharePoint Migration Estimation template</category><category domain="http://www.blogger.com/atom/ns#">drill down estimates</category><category domain="http://www.blogger.com/atom/ns#">application migration</category><title>Lotus Notes to SharePoint Application Migration Drill Down Estimation template</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/__G392e919yJyI9gu-x7M4uZd6A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/__G392e919yJyI9gu-x7M4uZd6A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/__G392e919yJyI9gu-x7M4uZd6A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/__G392e919yJyI9gu-x7M4uZd6A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;There are 4 parts to a typical Notes to SharePoint migration project, they are:&lt;br /&gt;
a. User account migration&lt;br /&gt;
b. Data migration&lt;br /&gt;
c. Application migration&lt;br /&gt;
d.&amp;nbsp; Mail Box migration&lt;br /&gt;
&lt;br /&gt;
Out of all the above parts, Application migration requires a huge amount of skill and effort specially when you rely on Visual Studio's Windows Workflow Foundation (WWF) for your workflow development, on the other hand if you have &lt;b&gt;&lt;a href="http://www.nintex.com/"&gt;Nintex workflows&lt;/a&gt;&lt;/b&gt; your job becomes much more easier.&lt;br /&gt;
&lt;br /&gt;
I am heavily into Application migration one because it is challenging and secondly it helps you understand the nature of the business processes that different companies follow.&lt;br /&gt;
&lt;br /&gt;
Based on my day-to-day experiences with Application migration, I have prepared a Drill Down Application migration estimation template which captures all the key parameters that will help you develop a near perfect estimate.&lt;br /&gt;
&lt;br /&gt;
Click here to &lt;a href="http://www.box.net/shared/4s1vuq13p1"&gt;&lt;b&gt;download&lt;/b&gt;&lt;/a&gt; the Lotus Notes to SharePoint Application Migration Drill Down Estimation template&lt;br /&gt;
&lt;br /&gt;
Once the estimation is in place, half the battle is won and success is close by. But overall success of a migration project also depends heavily on technical skills that your team posses, effective planning, resource mobilization, risk management and client communication.&lt;br /&gt;
&lt;br /&gt;
I personally believe team members and tech leads need to be given good solid technical trainings before they actually start a migration project. Especially when you use some third party tool for Data migration like&amp;nbsp;&lt;b&gt;&lt;a href="http://www.quest.com/"&gt;Quest&lt;/a&gt;&lt;/b&gt; Notes Migrator for SharePoint or &lt;b&gt;&lt;a href="http://www.nintex.com/"&gt;Nintex&lt;/a&gt;&lt;/b&gt; workflows for Application migration, &lt;a href="http://blogs.msdn.com/infopath/"&gt;&lt;b&gt;Microsoft InfoPath&lt;/b&gt;&lt;/a&gt; for business process forms. These tools have their own strengths and limitations, understanding both will help you play in a more safer zone and avoid conflicts and mismatch in the requirements, because lets face it, everything that you can do with Notes cannot be done in the same way in SharePoint and the vice versa. So a healthy relationship with the client and effective communication will help you save tons of hours of rework and change requests.&lt;br /&gt;
&lt;br /&gt;
Do let me know, in case you have any comments or feedback on the template&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-3629922562440148031?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BcbFOOrPFHY:ZmzAteIf6Fs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BcbFOOrPFHY:ZmzAteIf6Fs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BcbFOOrPFHY:ZmzAteIf6Fs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=BcbFOOrPFHY:ZmzAteIf6Fs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BcbFOOrPFHY:ZmzAteIf6Fs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=BcbFOOrPFHY:ZmzAteIf6Fs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=BcbFOOrPFHY:ZmzAteIf6Fs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=BcbFOOrPFHY:ZmzAteIf6Fs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/BcbFOOrPFHY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/BcbFOOrPFHY/lotus-notes-to-sharepoint-application.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/12/lotus-notes-to-sharepoint-application.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-1961884668119020740</guid><pubDate>Sun, 22 Nov 2009 10:13:00 +0000</pubDate><atom:updated>2009-11-25T03:37:14.206-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">estimate notes to sharepoint migration estimates</category><category domain="http://www.blogger.com/atom/ns#">Lotus Notes to SharePoint Migration Estimation template</category><category domain="http://www.blogger.com/atom/ns#">notes to sharepoint migration</category><title>Lotus Notes to SharePoint Migration Estimation template</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UPN4EomT9IczAzDlezXPWBAzqkg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UPN4EomT9IczAzDlezXPWBAzqkg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UPN4EomT9IczAzDlezXPWBAzqkg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UPN4EomT9IczAzDlezXPWBAzqkg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;My earlier blog &lt;b&gt;&lt;a href="http://mehulbhuva.blogspot.com/2009/06/notes-to-sharepoint-migration.html"&gt;post&lt;/a&gt;&lt;/b&gt; regarding estimating Notes to SharePoint migration project was a very basic method, in fact is was Work Breakdown Structure (WBS) in real-sense. It didn't capture all the parameters required to successfully estimate a notes to sharepoint migration project.&lt;br /&gt;
&lt;br /&gt;
This time after a lot of analysis, I have come up with a new Estimation template. This template effectively captures all the key parameters required to estimate both Data migration and Application migration effectively and leaves little scope of missing out on critical things.&lt;br /&gt;
&lt;br /&gt;
I have come up with the Application Quadrant approach where we analyze Lotus Notes applications based on the 4 Application quadrants. See the diagram below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/SwkRX4PHbRI/AAAAAAAAApc/KTeKO0Lalok/s1600/ApplicationQuadrants.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/SwkRX4PHbRI/AAAAAAAAApc/KTeKO0Lalok/s400/ApplicationQuadrants.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
I hope it will benefit all.&lt;br /&gt;
&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Click &lt;/span&gt;&lt;b style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;a href="http://www.box.net/shared/hp6cqv1iu5"&gt;here&lt;/a&gt;&lt;/b&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; to download the Notes to SharePoint Migration estimation template&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I frequently blog at &lt;a href="http://www.sharepointinsights.com/"&gt;&lt;b&gt;www.sharepointinsights.com&lt;/b&gt;&lt;/a&gt; You can also follow me on Twitter: &lt;a href="http://twitter.com/Mehul_Bhuva" mce_href="http://twitter.com/Mehul_Bhuva" target="_blank" title="Follow Mehul Bhuva on Twitter"&gt;&lt;b&gt;http://twitter.com/Mehul_Bhuva&lt;/b&gt;&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-1961884668119020740?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=euXCw6jTDGQ:Ak-lPqHHp6A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=euXCw6jTDGQ:Ak-lPqHHp6A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=euXCw6jTDGQ:Ak-lPqHHp6A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=euXCw6jTDGQ:Ak-lPqHHp6A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=euXCw6jTDGQ:Ak-lPqHHp6A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=euXCw6jTDGQ:Ak-lPqHHp6A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=euXCw6jTDGQ:Ak-lPqHHp6A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=euXCw6jTDGQ:Ak-lPqHHp6A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/euXCw6jTDGQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/euXCw6jTDGQ/lotus-notes-to-sharepoint-migration.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_x_mtoaEl5Us/SwkRX4PHbRI/AAAAAAAAApc/KTeKO0Lalok/s72-c/ApplicationQuadrants.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/11/lotus-notes-to-sharepoint-migration.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-3333564388354690099</guid><pubDate>Wed, 04 Nov 2009 11:30:00 +0000</pubDate><atom:updated>2010-01-15T04:42:27.373-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">infopath forms</category><category domain="http://www.blogger.com/atom/ns#">nintex workflows</category><category domain="http://www.blogger.com/atom/ns#">nintex my workflow tasks</category><category domain="http://www.blogger.com/atom/ns#">infopath nintex my workflow tasks infopath forms</category><title>Nintex My Workflow Tasks webpart for InfoPath forms</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/l1iH3DLcD92gIcnb8e4_9qMEIE8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l1iH3DLcD92gIcnb8e4_9qMEIE8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/l1iH3DLcD92gIcnb8e4_9qMEIE8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l1iH3DLcD92gIcnb8e4_9qMEIE8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;There is a problem with the OOTB Nintex My Workflow Tasks webpart. In the case of InfoPath forms, the Item column of the webpart, takes me to the Workflow Tasks List where I can directly edit my tasks as Approve or Reject bypassing my custom InfoPath Task form. This can be a problem, if my InfoPath task form has some other fields, that I want users to fill or if my custom form determines my next level of workflow.&lt;br /&gt;
&lt;br /&gt;
In this case, I want my workflow application users to use my custom InfoPath form as their Task form and not want users to edit tasks directly.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
I created a custom page in the &lt;b&gt;/_layouts&lt;/b&gt; directory based on Nintex provided &lt;b&gt;ApproveReject.aspx&lt;/b&gt;, lets name it &lt;b&gt;InfoPathApproveReject.aspx&lt;/b&gt; and removed the Task update actions like Approve/Reject radio buttons and Comments, here I only have a read only view of the Task item.&lt;br /&gt;
For the webpart to redirect users from &lt;b&gt;My Workflow Tasks Webpart&lt;/b&gt; to my custom &lt;b&gt;InfoPathApproveReject.aspx&lt;/b&gt; page, I used the following NWAdmin command:&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Command Syntax:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;/b&gt;&lt;/u&gt;NWAdmin.exe -o SetTaskForm -siteUrl teamsiteurl -contentType contenttypename -taskformUrl taskformurl [-formType Edit|View|All] [-updatechildren Yes|No]&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Actual Usage:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
a. Download the custom InfoPathApproveReject.aspx form from &lt;b&gt;&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/11/InfoPath-My-WorkFlow-Tasks.zip" mce_href="/wp-content/uploads/2009/11/InfoPath-My-WorkFlow-Tasks.zip" target="_blank" title="InfoPath Custom Approve Reject Task page"&gt;here&lt;/a&gt;&lt;/b&gt; or the link given below.&lt;br /&gt;
&lt;br /&gt;
b.Paste this form under the following folder: &lt;b&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\NINTEXWORKFLOW&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
c. Then run the following NWAdmin command:&lt;br /&gt;
&lt;b&gt;NWAdmin.exe -o SetTaskForm -siteUrl "http://nintex/sites/myteamsite" -contentType "Nintex Workflow Task" -taskformUrl "/sites/myteamsite/_layouts/InfoPathApproveReject.aspx" -formType View&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
So now when users click on the My Workflow Tasks Item column, my custom Task form opens up in the read only mode, now they can't update the task form directly without by-passing the InfoPath Task form.&lt;br /&gt;
&lt;br /&gt;
This solves my problem, but What if my Site Collection contains a Nintex workflow bound to a standard SharePoint List form and another Nintex workflow bound to a Document Library/List with InfoPath form as&lt;br /&gt;
Content type.&lt;br /&gt;
&lt;br /&gt;
What happens in this case?&lt;br /&gt;
Since, I have customized my Task Form URL to InfoPathApproveReject.aspx, it would redirect my standard SharePoint List workflow users to my custom page and does not allow them to use the OOTB ApproveReject.aspx task form. The above mentioned solution created another problem, we need a more generic solution, check the workaround for this problem in my new &lt;b&gt;&lt;a href="http://www.sharepointfix.com/2010/01/nintex-my-workflow-tasks-webpart.html"&gt;post&lt;/a&gt;&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Download:&lt;/b&gt; Click &lt;b&gt;&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/11/InfoPath-My-WorkFlow-Tasks.zip" mce_href="/wp-content/uploads/2009/11/InfoPath-My-WorkFlow-Tasks.zip" target="_blank" title="InfoPath Custom Approve Reject Task page"&gt;here&lt;/a&gt;&lt;/b&gt; to download the custom &lt;b&gt;InfoPathApproveReject.aspx&lt;/b&gt; task form.&lt;br /&gt;
&lt;br /&gt;
Feel free to share your comments and ask me in case of any doubts.&lt;br /&gt;
&lt;br /&gt;
I frequently blog at &lt;a href="http://www.sharepointinsights.com/" mce_href="http://www.mehulbhuva.blogspot.com/" target="_blank" title="Mehul Bhuva - SharePoint Blogs"&gt;&lt;b&gt;www.sharepointinsights.com&lt;/b&gt;&lt;/a&gt; You can also follow me on Twitter: &lt;a href="http://twitter.com/Mehul_Bhuva" mce_href="http://twitter.com/Mehul_Bhuva" target="_blank" title="Follow Mehul Bhuva on Twitter"&gt;&lt;b&gt;http://twitter.com/Mehul_Bhuva&lt;/b&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-3333564388354690099?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=scKijO8YQs8:HoDlUByXFS0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=scKijO8YQs8:HoDlUByXFS0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=scKijO8YQs8:HoDlUByXFS0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=scKijO8YQs8:HoDlUByXFS0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=scKijO8YQs8:HoDlUByXFS0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=scKijO8YQs8:HoDlUByXFS0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=scKijO8YQs8:HoDlUByXFS0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=scKijO8YQs8:HoDlUByXFS0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/scKijO8YQs8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/scKijO8YQs8/nintex-my-workflow-tasks-webpart-for.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/11/nintex-my-workflow-tasks-webpart-for.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-255003367643393908</guid><pubDate>Sun, 25 Oct 2009 07:44:00 +0000</pubDate><atom:updated>2009-12-16T03:38:48.289-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">delete previous versions</category><category domain="http://www.blogger.com/atom/ns#">delete sharepoint list older versions</category><category domain="http://www.blogger.com/atom/ns#">sharepoint document library older versions</category><category domain="http://www.blogger.com/atom/ns#">delete sharepoint library older versions</category><category domain="http://www.blogger.com/atom/ns#">delete versions</category><category domain="http://www.blogger.com/atom/ns#">delete older versions</category><title>Delete older versions of SharePoint list/library</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7Jf8sOcmyiSHhv2yZXLLxgOGr1I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7Jf8sOcmyiSHhv2yZXLLxgOGr1I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7Jf8sOcmyiSHhv2yZXLLxgOGr1I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7Jf8sOcmyiSHhv2yZXLLxgOGr1I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Just to give you a brief background of why we developed this utility.&lt;br /&gt;
&lt;br /&gt;
Suppose you have accidentally turned on the versioning feature in your document library and you are migrating data from Lotus Notes to SharePoint using any third party utility like Quest Notes migrator for SharePoint and assume you had to re-run the utility again and again on the version enabled document library so as to migrate notes data with full fidelity. What happens then? Many versions of the same document/list item get created.&lt;br /&gt;
&lt;br /&gt;
Assume there are 4000 records which got properly migrated into the versioned enabled document library, but each record created many versions of the same item, as a result average size of each item went to somewhere around 400-500 MB and some of them items were also 1 GB in size.&lt;br /&gt;
&lt;br /&gt;
The site was also deployed into Production. Clients encountered performance issues while accessing items in the document library since the size of the document library had sky rocketed.&lt;br /&gt;
What do you do in this case? How do you delete the unnecessary versions and retain only the latest version of the document/list item?&lt;br /&gt;
&lt;br /&gt;
My utility will just do that for you, Delete Item Versions utility  will  delete older versions of the document library items, while retaining the most recent version of the same. Most of the times, the site is  already deployed and running into the production environment, hence , we needed a utility, which can access our production site remotely from any local workstation without touching or deploying anything on the production environment.&lt;br /&gt;
&lt;br /&gt;
We have tested this utility thoroughly and it works like a charm. It uses SharePoint web services and users can run it from their workstations provided they have access to that particular SharePoint webapplication.&lt;br /&gt;
We also plan to enhance the features of this utility. Here is a snapshot of the same:&lt;br /&gt;
&lt;div class="mceTemp"&gt;&lt;br /&gt;
&lt;dl class="wp-caption alignnone" id="attachment_368" style="width: 310px;"&gt;&lt;dt class="wp-caption-dt"&gt;&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/DeleteItemVersions1.JPG" mce_href="/wp-content/uploads/2009/10/DeleteItemVersions1.JPG"&gt;&lt;img alt="Delete Item Versions" class="size-medium wp-image-399" height="282" mce_src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/DeleteItemVersions1-300x282.jpg" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/DeleteItemVersions1-300x282.jpg" title="DeleteItemVersions" width="300" /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dd class="wp-caption-dd"&gt;Snapshot of the Delete Item Versions utility  
&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;Click &lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/12/DeleteItemVersions.zip"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/12/DeleteItemVersions.zip" mce_href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/DeleteItemVersions.zip"&gt;here&lt;/a&gt;&lt;/b&gt; to download the source code.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;NOTE: &lt;/b&gt;You will have to change the webservice reference in the source code, Build the Project, Test the utility in your test environment and then use the DeleteItemVersions.exe for remotely deleting versions for your SharePoint List/Library.&lt;br /&gt;
&lt;br /&gt;
Feel free to share your comments and ask me in case of any doubts.&lt;br /&gt;
&lt;br /&gt;
I regularly post my SharePoint Insgihts at &lt;a href="http://www.sharepointinsights.com/" mce_href="http://www.mehulbhuva.blogspot.com/" target="_blank" title="Mehul Bhuva - SharePoint Blogs"&gt;&lt;b&gt;www.SharePointInsights.com&lt;/b&gt;&lt;/a&gt;&lt;b&gt; &lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
You can also follow me on Twitter: &lt;a href="http://twitter.com/Mehul_Bhuva" mce_href="http://twitter.com/Mehul_Bhuva" target="_blank" title="Follow Mehul Bhuva on Twitter"&gt;&lt;b&gt;http://twitter.com/Mehul_Bhuva&lt;/b&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-255003367643393908?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=2_H-vyF4pyc:fp5irdDE0C0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=2_H-vyF4pyc:fp5irdDE0C0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=2_H-vyF4pyc:fp5irdDE0C0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=2_H-vyF4pyc:fp5irdDE0C0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=2_H-vyF4pyc:fp5irdDE0C0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=2_H-vyF4pyc:fp5irdDE0C0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=2_H-vyF4pyc:fp5irdDE0C0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=2_H-vyF4pyc:fp5irdDE0C0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/2_H-vyF4pyc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/2_H-vyF4pyc/delete-older-versions-new-sharepoint.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">11</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/10/delete-older-versions-new-sharepoint.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-3747655764317819100</guid><pubDate>Mon, 19 Oct 2009 10:48:00 +0000</pubDate><atom:updated>2010-03-08T09:11:09.484-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">about web 2.0</category><category domain="http://www.blogger.com/atom/ns#">what is web 2.0</category><title>What is Web 2.0?</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mpUvLZT6rIijlvPzFQKMUNl-rpg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mpUvLZT6rIijlvPzFQKMUNl-rpg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mpUvLZT6rIijlvPzFQKMUNl-rpg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mpUvLZT6rIijlvPzFQKMUNl-rpg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Web 2.0 is not a technology, rather it is a terminology. It means Web as a platform. A platform that brings most of the common user tasks from desktop onto the network or the web.&lt;br /&gt;
&lt;br /&gt;
To be more concise, Web 2.0 is “The power of desktop on the web”. Let me give specific examples:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;a. Google Docs/Spreadsheets: &lt;/span&gt;Place to create and share online Word docs, Excel spreadsheets, PowerPoint presentations. You don’t need any software’s installed on your desktop, except for a decent web-browser like Firefox or IE. All through the power of Web.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;b. Media sharing: &lt;/span&gt;YouTube and Meta Cafe are more popular in sharing media resources like Videos, users can now Share, Watch, Videos online, no need for a hard-disk to store videos, everything is on the web and at your finger tips. Slideshare helps users in sharing their presentations online and is very popular in the community.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;c. Online File Storage:&lt;/span&gt; Want to save folders/files, we have BOX.NET (paid service) which gives 1GB of free space for Free users. Sky Drive is a online file share from Microsoft which gives 25GB of free space for your files/folders. You can create folders, upload files, delete them and share them too.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;d. Micro-blogging&lt;/span&gt; is at its best these days, as we see Twitter and Yammer flourishing day by day, last month 45 million user visited Twitter.  Most of the international celebrities, film stars, rock stars, individuals, businesses, communities etc have a Twitter account . Enterprises use Yammer which connects you to a specific pool of community.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;e. Social Networking:&lt;/span&gt; Facebook, LinkedIn, Orkut are three powerful examples in this space. Some organizations scan candidates based on their LinkedIn profile and peer recommendations. These sites also promote collaboration by allowing users to create Groups and Communities.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;f. RSS Feeds/Aggregator: &lt;/span&gt;Information from many sources is collaborated using popular aggregation services like FeedBurner. It converts your data into XML and generates a feed for your website/web-application. Other /applications can subscribe to these feeds using a RSS Reader software, which is mostly plugged-in into all modern browsers.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;g. Mash-Ups:&lt;/span&gt; A popular mash-up service is iGoogle and PageFlakes. These sites consume web services and use the power of AJAX to make user experience more seamless and less obstructive. There are little context switches as users get to see everything in one window, a typical iGoogle page can have the Weather report, Email Inbox view, Stock ticker, Digital, News &amp;amp; headlines,  Feeds from other websites, Game widgets etc. An icing to the cake is that these services are completely personalized per user.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;h. Blogs/Wikis: &lt;/span&gt;Popular services like Blogger, WordPress allows users to create, maintain and promote their own blogsites. Non-techie users can create blogsites in a flash and start publishing their posts. Wikipedia allows user to manage information on specific topics.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;i. Social Bookmarking: &lt;/span&gt;Popular social bookmarking sites like Delicious, NewsGator etc manage user bookmarks and promote sharing and collaboration.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;j. Maps &amp;amp; Directions:&lt;/span&gt; Google Maps is the best example, users can get directions, exact locations, distance etc all via Satellite imagery.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;k. Online Shopping, E-Commerce Applications: &lt;/span&gt;Most popular in this category are Amazon, e-Bay etc. They track user purchases and manage user preferences too. Online Air ticket booking systems, Railway reservation systems, Payment gateways like PayPal etc are all examples of the Web 2.0.&lt;br /&gt;
&lt;br /&gt;
The applications mentioned above have gradually changed the face of the Internet and how we consume services. All the applications mentioned above are examples of Rich Internet Applications and leverage Web 2.0.&lt;br /&gt;
&lt;br /&gt;
We are gradually moving into Cloud Computing with Google Chrome O/S, Microsoft Azure etc. That will be a space to watch out for. It will be called as Web 3.0. May be i ll talk about Web 3.0 in some other post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-3747655764317819100?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=EcfeA9iNuVA:DPYJbrmJPN0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=EcfeA9iNuVA:DPYJbrmJPN0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=EcfeA9iNuVA:DPYJbrmJPN0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=EcfeA9iNuVA:DPYJbrmJPN0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=EcfeA9iNuVA:DPYJbrmJPN0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=EcfeA9iNuVA:DPYJbrmJPN0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=EcfeA9iNuVA:DPYJbrmJPN0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=EcfeA9iNuVA:DPYJbrmJPN0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/EcfeA9iNuVA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/EcfeA9iNuVA/what-is-web-20.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/10/what-is-web-20.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-8657851863340362554</guid><pubDate>Fri, 16 Oct 2009 14:17:00 +0000</pubDate><atom:updated>2009-12-17T04:03:34.479-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">publish infopath forms</category><category domain="http://www.blogger.com/atom/ns#">infopath forms</category><category domain="http://www.blogger.com/atom/ns#">nintex workflows</category><title>InfoPath 2007 form and Nintex workflows 2007 - Part 1</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hdZwg7PFU9_fY3Bo4Tou4OCULDI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hdZwg7PFU9_fY3Bo4Tou4OCULDI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hdZwg7PFU9_fY3Bo4Tou4OCULDI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hdZwg7PFU9_fY3Bo4Tou4OCULDI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: left;"&gt;Integrating InfoPath 2007 form and Nintex workflows 2007 - Part 1 covers how InfoPath forms interact with Nintex workflow web services.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://www.sharepointfix.com/2009/12/infopath-2007-form-and-nintex-workflows.html"&gt;InfoPath 2007 form and Nintex workflows 2007 - Part 2&lt;/a&gt;&lt;/b&gt; covers on how to deploy browser enabled InfoPath forms as Content Types in your SharePoint List/Library.&lt;br /&gt;
&lt;br /&gt;
There are two important Nintex workflow web services which integrates InfoPath form with Nintex workflows, they are:&lt;br /&gt;
a. GetRunningWorkflowTasksForCurrentUser(string fileUrl)&lt;br /&gt;
b. ProcessTaskResponse(string comments, Outcome outcome, int spTaskId)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;a. GetRunningWorkflowTasksForCurrentUser:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This webservice identifies nintex workflow task associated with the currently logged in user for a given List Item which the nintex workflow is bound.&lt;br /&gt;
&lt;br /&gt;
It takes fileUrl as an input String parameter. fileUrl is the server relative url of the list item on which the nintex workflow is currently running.&lt;br /&gt;
&lt;br /&gt;
This webservice helps you retrieve various data fields like SharePointTaskId, HumanWorkflowID, WorkflowName, Comments, WorkflowName, WorkflowInstanceId, TaskName, TaskType etc...&lt;br /&gt;
&lt;br /&gt;
We will see the importance of the same in the Implementation Scenario section of this post.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;b. ProcessTaskResponse:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As the name suggests, this web service completes the workflow tasks on behalf of the user.It does the job of completing tasks of the type: Approved, Rejected and Continue. You can imagine an Approval/Review task form. Input parameter comments accept Approvers/Reviewers multi-line comments in the form of a string, outcome is generally of the following pre-defined types either Approved or Rejected for the Approver or else Continue for the Reviewer and lastly spTaskId accepts the SharePointTaskId retrieved by querying the GetRunningWorkflowTasksForCurrentUser web service.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Implementation Scenario:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;a. Design an InfoPath form: User fills an InfoPath Expense Report form as shown in Figure 1.1.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sample Expense Report Infopath Form&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Figure 1.1&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SampleExpenseReportForm.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SampleExpenseReportForm.JPG" style="cursor: pointer; float: left; height: 755px; margin: 0pt 10px 10px 0pt; width: 604px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;b. Submit Data Connection: &lt;/b&gt;The form has one Submit data connection which submits all the details of this form to a SharePoint document library, snapshots below show how to create a submit data connection in InfoPath:&lt;br /&gt;
&lt;br /&gt;
i. Go to Tools -&amp;gt; Data Connections -&amp;gt; Click on the "Add " button and you will see the wizard shown below: Choose "Submit data" option and click on the "Next" button&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/DataConnWizardSubmit.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/DataConnWizardSubmit.JPG" style="cursor: pointer; float: left; height: 316px; margin: 0pt 10px 10px 0pt; width: 474px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ii. Choose "To a document library on a SharePoint site" option and click on the "Next" button. Select to a document library option&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/DataConnWizardDocLib.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/DataConnWizardDocLib.JPG" style="cursor: pointer; float: left; height: 316px; margin: 0pt 10px 10px 0pt; width: 475px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iii. Enter your Document library URL, File name (must be a unique file name) and Check mark "Allow overwrite if file exists" option and click on the "Next" button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SubmitDataConnection.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SubmitDataConnection.JPG" style="cursor: pointer; float: left; height: 429px; margin: 0pt 10px 10px 0pt; width: 635px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;c. Receive Data Connections:&lt;/b&gt; The InfoPath form must compulsorily have two receive data connections that make calls to the Nintex web services namely:&lt;br /&gt;
&lt;br /&gt;
GetRunningWorkflowTasksForCurrentUser and ProcessTaskResponse respectively. You may have other receive data connections in your InfoPath form, for eg: I may have another receive data connection to receive data from a SharePoint List/Library and show it as a dropdown in my InfoPath form.&lt;br /&gt;
&lt;br /&gt;
Snapshots below show us how to create a Receive Data Connection of the type Web service.&lt;br /&gt;
&lt;br /&gt;
i. Go to Tools -&amp;gt; Data Connections -&amp;gt; Click on the "Add " button and you will see the wizard shown below: Choose the "Receive data" option and click on the "Next" button&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ReceiveDataConnection.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ReceiveDataConnection.JPG" style="cursor: pointer; float: left; height: 424px; margin: 0pt 10px 10px 0pt; width: 629px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ii. Choose the "Web service" option&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ReceiveDataWebService.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ReceiveDataWebService.JPG" style="cursor: pointer; float: left; height: 424px; margin: 0pt 10px 10px 0pt; width: 633px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iii. Enter the correct URL as mentioned here, URL for root level site collection should be: &lt;b&gt;http://nintex/&lt;sitecollection name=""&gt;_vti_bin/nintexworkflow/workflow.asmx?WSDL&lt;/sitecollection&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;sitecollection name=""&gt;&amp;nbsp;&lt;/sitecollection&gt;&lt;/b&gt; &lt;br /&gt;
for eg URL for a site collection with /sites as managed path should be: &lt;b&gt;http://nintex/sites/sitecollectionname/&lt;sitecollection name=""&gt;_vti_bin/nintexworkflow/workflow.asmx?WSDL&lt;/sitecollection&gt;&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
If your site collection has also a sub site, then your URL should be &lt;b&gt;http://nintex/sites/sitecollectionname/subsitename/&lt;sitecollection name=""&gt;&lt;subsite name=""&gt;_vti_bin/nintexworkflow/workflow.asmx?WSDL&lt;/subsite&gt;&lt;/sitecollection&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/WebService1ReceiveDataConn.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/WebService1ReceiveDataConn.JPG" style="cursor: pointer; float: left; height: 423px; margin: 0pt 10px 10px 0pt; width: 636px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iv. Select the web service "GetRunningWorkflowTasksForCurrentUser and click on the "Next" button&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.blogger.com/%20http://www.sharepointinsights.com/wp-content/uploads/2009/10/SelectGetRunningWebService.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SelectGetRunningWebService.JPG" style="cursor: pointer; float: left; height: 424px; margin: 0pt 10px 10px 0pt; width: 632px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
v. Click on the "Next" button&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SelectGetRunningWebServiceFileUrl.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SelectGetRunningWebServiceFileUrl.JPG" style="cursor: pointer; float: left; height: 424px; margin: 0pt 10px 10px 0pt; width: 634px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi. Click on the "Next" button (let the check box remain unchecked)&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SelectGetRunningWebServiceStore.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SelectGetRunningWebServiceStore.JPG" style="cursor: pointer; float: left; height: 423px; margin: 0pt 10px 10px 0pt; width: 634px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vii. Uncheck the check box option " Automatically receive data when the form is opened"&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SelectGetRunningWebServiceFinish.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/SelectGetRunningWebServiceFinish.JPG" style="cursor: pointer; float: left; height: 428px; margin: 0pt 10px 10px 0pt; width: 634px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Similarly make a web service receive data connection for ProcessTaskResponse nintex web service as well.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;d. InfoPath Form Options: &lt;/b&gt;We need to set the InfoPath form load options correctly. We need to configure Rules and Actions to ensure two different Views are shown for the  Requestor and Approver. We also create a string field namely RequestStatus in InfoPath form, this field displays the Current Status of the Request in the read-only mode in the InfoPath form, this field is updated by our Nintex workflow to set the correct Request Status as per the flow of the workflow.&lt;br /&gt;
&lt;br /&gt;
We also need to get the Task information for the current user who opens up the InfoPath form. Here is where our InfoPath webservice: GetRunningWorkflowTasksForCurrentUser comes into picture.&lt;br /&gt;
&lt;br /&gt;
To set Form Options go to: Tools -&amp;gt; Form Options -&amp;gt; Rules -&amp;gt; Add a new Rule&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/FormOptionsGetRunning.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/FormOptionsGetRunning.JPG" style="float: left; height: 598px; margin: 0pt 10px 10px 0pt; width: 933px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
i. First we check whether the FileUrl is not blank condition, we need to create a string data source field in our InfoPath form for eg: FileUrl which gets updated by the Nintex workflow using the workflow activity "Set Item Value". Our nintex workflow sets the FileUrl to the current server relative url for the current item on which the workflow is running.&lt;br /&gt;
&lt;br /&gt;
ii. We create a new Rule i.e Load Workflow Information, here we check whether FileUrl (data source field) is not blank for the Rule Condition to execute, see snapshot below&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/LoadWorkFlowInfo.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/LoadWorkFlowInfo.JPG" style="cursor: pointer; float: left; height: 335px; margin: 0pt 10px 10px 0pt; width: 435px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ii. We then assign the value of FileUrl (local data field generated by the Nintex workflow) to, GetRunningWorkflowTasksForCurrentUser web service input parameter: fileUrl and then query the web service using the action "Query using a data connection" in InfoPath.&lt;br /&gt;
&lt;br /&gt;
iv. This gets all the task related information for the current InfoPath form item on which the nintex workflow has been attached like SharePointTaskId, HumanWorkflowID, WorkflowName, Comments, WorkflowName, WorkflowInstanceId, TaskName, TaskType (i.e. Approval, Review, Collect Data) etc. We need the SharePointTaskId, as it will be used by the ProcessTaskResponse webservice. We also need to check whether task has been created for the user who is currently opening up the InfoPath form.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;e. InfoPath Views:&lt;/b&gt; The InfoPath form is designed to handle multiple Form Views within the same form. This helps us seperate our Requestor forms and Approver forms.&lt;br /&gt;
&lt;br /&gt;
Without much effort I can create two different Views one for the Requestor and another one for the Approver and depending on the workflow needs for a Reviewer too.&lt;br /&gt;
&lt;br /&gt;
Hence, Views addresses the Role management aspect of a Business Process workflow application.&lt;br /&gt;
&lt;br /&gt;
In order to create an InfoPath View -&amp;gt; Go to Design Tasks Pane on the right -&amp;gt; Views -&amp;gt; Add a New view&lt;br /&gt;
&lt;br /&gt;
You can even copy and paste table/structure from the existing view and later change it as per your requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;NOTE:&lt;/b&gt; This new View will always refer to the same underlying XML schema/data source, InfoPath just creates a new XSLT per view and not the XML schema/data source.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;f. Approvers View:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
i. By now we assume that the above InfoPath Expense Report form has been duly filled in by the requestor and submitted for Approval. The workfllow has already started and it has created and updated the FileUrl (local field of the published InfoPath form).&lt;br /&gt;
&lt;br /&gt;
ii. The workflow has also created a task for the Approver in the Workflow Tasks list. He has also received an email with the Item URL asking him to take some action on the request.&lt;br /&gt;
&lt;br /&gt;
iii. So when Approver clicks on the Item URL sent to him via notification email, an InfoPath form opens up. Remember we have to setup predefined conditions on Form Load to Switch Views as per the Task Type and other conditions, see snapshot for Rules and Conditions on form load:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ApprovalConditions.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ApprovalConditions.JPG" style="cursor: pointer; float: left; height: 470px; margin: 0pt 10px 10px 0pt; width: 718px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iv. The Approver gets to see the "Approvers View" after form loads and the above rules execute properly, see snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ApproversComments-300x49.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ApproversComments-300x49.jpg" style="cursor: pointer; float: left; height: 49px; margin: 0pt 10px 10px 0pt; width: 300px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The InfoPath Approval Task form above has a multi-line Comments field, Approve, Reject and Cancel buttons respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;g. Process Task Response:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
i. The Approver fills in his comments and clicks of the "Approve" button, it is like completing the task assigned to him. But how does Nintex know of it? Here is where Nintex's second web service ProcessTaskResponse. plays a role in completing the task on behalf of the Approver.&lt;br /&gt;
&lt;br /&gt;
ii. We need to configure some Rules and Actions on click of the Approve and Reject buttons, see snapshot below:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;For Approve button:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ApproveRequestConditions.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/ApproveRequestConditions.JPG" style="cursor: pointer; float: left; height: 367px; margin: 0pt 10px 10px 0pt; width: 566px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;For Reject button:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointinsights.com/wp-content/uploads/2009/10/RejectRequestConditions.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.sharepointinsights.com/wp-content/uploads/2009/10/RejectRequestConditions.JPG" style="cursor: pointer; float: left; height: 386px; margin: 0pt 10px 10px 0pt; width: 593px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here we set the ProcessTaskResponse webservice input parameters as follows:&lt;br /&gt;
&lt;br /&gt;
1. spTaskId - SharePointTaskId (returned by the former webservice)&lt;br /&gt;
&lt;br /&gt;
2. outcome - Approved (if approved) or Rejected (if Rejected) (you can have either Approved, Rejected, Continue as outcome)&lt;br /&gt;
&lt;br /&gt;
3. comments - Approver Comments multi-line text field&lt;br /&gt;
&lt;br /&gt;
Then finally we execute the Process Task Response using the InfoPath action "Query using a data connection"&lt;br /&gt;
&lt;br /&gt;
In this way using the two Nintex Web services, we have succeeded in integrating InfoPath form with our Nintex workflow.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Important Information:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Submitted&lt;/b&gt;, &lt;b&gt;RequestStatus&lt;/b&gt; and &lt;b&gt;FileUrl &lt;/b&gt;are fields in the InfoPath form.&lt;br /&gt;
&lt;br /&gt;
a. &lt;b&gt;Submitted&lt;/b&gt; is set to false, then as the user clicks on Submit button, we set it to true and use it as a condition in the Form Load options. We configure Nintex workflow's "Wait Until" activity, as we do not want the workflow to start until Submitted value is True.&lt;br /&gt;
&lt;br /&gt;
b. &lt;b&gt;RequestStatus&lt;/b&gt; can be set either from Code Behind or Nintex Workflow’s Set Field Value activity.&lt;br /&gt;
&lt;br /&gt;
c. &lt;b&gt;FileUrl&lt;/b&gt; needs to be set in the Nintex workflow’s Set Field Value activity as: Current Item’s Server Relative Url.&lt;br /&gt;
&lt;br /&gt;
This will be used as an Input parameter for the &lt;b&gt;GetRunningWorkflowTasksForCurrentUser&lt;/b&gt; webservice. It fetches the task information like SharePointTaskId and TaskType for the current user who is trying to open up the InfoPath form. The same SharePoint TaskId will be used to complete his task, using the Process Task Response webservice.&lt;br /&gt;
&lt;br /&gt;
We use it to determine the type of user and task assigned to him and switch Views respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointfix.com/2009/12/infopath-2007-form-and-nintex-workflows.html"&gt;&lt;b&gt;Part 2&lt;/b&gt;&lt;/a&gt; covers the correct way of deploying InfoPath forms as Content Types and how to associate them to a particular list/library in SharePoint.&lt;br /&gt;
&lt;br /&gt;
Feel free to share your comments and ask me in case of any doubts.&lt;br /&gt;
&lt;br /&gt;
You can also follow me on Twitter: &lt;b&gt;&lt;a href="http://twitter.com/Mehul_Bhuva"&gt;http://twitter.com/Mehul_Bhuva&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I also blog my SharePoint Insights &lt;b&gt;&lt;a href="http://www.sharepointinsights.com/"&gt;www.SharePointInsights.com&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-8657851863340362554?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=_rcHdnjHdXM:mIRIdejH1xo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=_rcHdnjHdXM:mIRIdejH1xo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=_rcHdnjHdXM:mIRIdejH1xo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=_rcHdnjHdXM:mIRIdejH1xo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=_rcHdnjHdXM:mIRIdejH1xo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=_rcHdnjHdXM:mIRIdejH1xo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=_rcHdnjHdXM:mIRIdejH1xo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=_rcHdnjHdXM:mIRIdejH1xo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/_rcHdnjHdXM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/_rcHdnjHdXM/infopath-2007-form-and-nintex-workflows.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">10</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/10/infopath-2007-form-and-nintex-workflows.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-6398220649668424391</guid><pubDate>Wed, 22 Jul 2009 17:54:00 +0000</pubDate><atom:updated>2009-07-22T10:59:56.232-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Lotus Notes to MOSS migration</category><category domain="http://www.blogger.com/atom/ns#">estimate notes to sharepoint migration estimates</category><category domain="http://www.blogger.com/atom/ns#">migrate notes document to sharepoint</category><category domain="http://www.blogger.com/atom/ns#">notes document to sharepoint document library</category><title>Lotus Notes to Sharepoint migration - ways to migrate a notes document to sharepoint</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/l2mnmPe4al7aw4qkrwcjTI9L0k0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l2mnmPe4al7aw4qkrwcjTI9L0k0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/l2mnmPe4al7aw4qkrwcjTI9L0k0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l2mnmPe4al7aw4qkrwcjTI9L0k0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;There are 13 ways to migrate a notes document to Sharepoint using Quest Notes Migrator for Sharepoint v 5.2, see these 13 ways out here : &lt;a style="font-weight: bold;" href="http://notes2sharepoint.org/archive/2009/06/11/thirteen-ways-to-migrate-a-document-to-sharepoint.aspx"&gt;http://notes2sharepoint.org/archive/2009/06/11/thirteen-ways-to-migrate-a-document-to-sharepoint.aspx&lt;/a&gt;&lt;br /&gt;&lt;input id="gwProxy" type="hidden"&gt;&lt;!--Session data--&gt;&lt;input onclick="jsCall();" id="jsProxy" type="hidden"&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-6398220649668424391?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=mZJ-7uiI91c:w3W2tYL_P50:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=mZJ-7uiI91c:w3W2tYL_P50:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=mZJ-7uiI91c:w3W2tYL_P50:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=mZJ-7uiI91c:w3W2tYL_P50:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=mZJ-7uiI91c:w3W2tYL_P50:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=mZJ-7uiI91c:w3W2tYL_P50:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=mZJ-7uiI91c:w3W2tYL_P50:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=mZJ-7uiI91c:w3W2tYL_P50:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/mZJ-7uiI91c" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/mZJ-7uiI91c/lotus-notes-to-sharepoint-migration.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/07/lotus-notes-to-sharepoint-migration.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-5192594895334386005</guid><pubDate>Sat, 20 Jun 2009 11:40:00 +0000</pubDate><atom:updated>2009-11-22T02:52:07.490-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">estimate notes to sharepoint migration estimates</category><category domain="http://www.blogger.com/atom/ns#">migration estimation template</category><category domain="http://www.blogger.com/atom/ns#">estimation model</category><category domain="http://www.blogger.com/atom/ns#">notes to sharepoint migration</category><category domain="http://www.blogger.com/atom/ns#">sharepoint migration estimates</category><title>Notes to Sharepoint migration estimation model</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XsE1HrAkdvx8n67ghNS1PEoSM7M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XsE1HrAkdvx8n67ghNS1PEoSM7M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XsE1HrAkdvx8n67ghNS1PEoSM7M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XsE1HrAkdvx8n67ghNS1PEoSM7M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;b style="color: red;"&gt;Updates: &lt;/b&gt;I have recently enhanced the Estimation model which will help people come up with more effective Notes to SharePoint migration estimats. Click &lt;b&gt;&lt;a href="http://mehulbhuva.blogspot.com/2009/11/lotus-notes-to-sharepoint-migration.html"&gt;here&lt;/a&gt;&lt;/b&gt; to refer to and download the new version of Notes to SharePoint migration estimation model &lt;br /&gt;
&lt;br /&gt;
=========================================================================&lt;br /&gt;
&lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: arial;"&gt;Its been a long time, since I am actually writing up on Lotus to Sharepoint migration.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;A friend of mine called me up to ask for factors that one needs to consider in order to estimate a Lotus Notes to Sharepoint migration project.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;I prepared an excel sheet and gave it to him which he found out to be immensely useful for estimating his sharepoint project, you can download the excel sheet at the end of the article, I request you to first read through the below mentioned guidelines:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial; font-weight: bold;"&gt;a) Jot down the key features:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;If you have 10 Lotus notes applications to be migrated, consider each application separately, jot down key features that you will have to develop for each of these application in the excel sheet.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial; font-weight: bold;"&gt;b) Identify the Common features:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;Find out features common to all applications, like for e.g:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;Set-up Configuration of SharePoint environment server farms, Administration, Search User profiles synchronization etc&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;Set-up the Data migration environment, install third-party tools like Quest Notes Migrator for Sharepoint, test connection to Lotus Notes applications. (this can be a common activity for all the applications to be migrated)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;You need to estimate for these common features only once for the entire migration project. In case you have many applications to estimate, record them only once in the excel sheet for correct estimates.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;c) Effort estimates: &lt;/span&gt;Identify effort involved against each feature in terms of number of days that a person will take to develop it. This will depend upon the current skill level of your SharePoint resource, nature of requirement and past experience.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;d) Actual effort involved:&lt;/span&gt; It is always good to find out whether you had correctly estimated the effort or not, this helps you to make better estimates the next time.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: arial;"&gt;That is why my estimation sheet consists of another column to be entered, i.e the Actual effort in terms of days, this should be filled in as the application feature listed in the sheet gets completed and not when the application gets completed, as there are chances of wrong effort recordings.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;The team should be disciplined enough to actually make proper time recordings during development activity.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial; font-weight: bold;"&gt;e) Learning from the past estimates: &lt;/span&gt;&lt;span style="font-family: arial;"&gt;Since, we are also capturing the actual time taken against the estimated time per activity, the variance % will help us whether we have a positive or a negative variance, this in turn will help us make better estimates and predict our team's productivity and output.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;f) Buffer:&lt;/span&gt; Always add buffer to each item in your estimates, as you can't predict what can go wrong, a team member may leave the organization in the midway or may fall sick, without any knowledge transition, additional requirements or change requests may creep in, you never know...&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;A good buffer also helps during bidding, where the client bargains on the effort, you can actually cut some buffer time and still deliver.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;So give a good solid buffer in your estimates, if you see my estimation worksheet, you will notice that I have added a lot of buffer for each feature that I am going to develop.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;Download:&lt;/span&gt; &lt;/span&gt;&lt;a href="http://www.box.net/shared/ifs4d8s5gv" style="font-family: arial; font-style: italic; font-weight: bold;"&gt;Notes to Sharepoint migration Estimation sheet&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;NOTE:&lt;/span&gt; I will request people who have downloaded the excel template to use it for their projects and send it to me at &lt;span style="font-weight: bold;"&gt;mehul.bhuva@gmail.com, &lt;/span&gt;since, i need to calibrate the actual data from projects and make an estimation model out of it.&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-5192594895334386005?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Hzs65f76Ol4:XQIdLAE7UAo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Hzs65f76Ol4:XQIdLAE7UAo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Hzs65f76Ol4:XQIdLAE7UAo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=Hzs65f76Ol4:XQIdLAE7UAo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Hzs65f76Ol4:XQIdLAE7UAo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=Hzs65f76Ol4:XQIdLAE7UAo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Hzs65f76Ol4:XQIdLAE7UAo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=Hzs65f76Ol4:XQIdLAE7UAo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/Hzs65f76Ol4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/Hzs65f76Ol4/notes-to-sharepoint-migration.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/06/notes-to-sharepoint-migration.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-502129491525665877</guid><pubDate>Fri, 01 May 2009 19:28:00 +0000</pubDate><atom:updated>2009-05-01T13:50:36.651-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">sharepoint farm topologies</category><category domain="http://www.blogger.com/atom/ns#">configure sharepoint farms</category><title>Configure Sharepoint Server Farm Topology</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GdMRpGcFbYHCo_-iDScECnaxqqU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GdMRpGcFbYHCo_-iDScECnaxqqU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GdMRpGcFbYHCo_-iDScECnaxqqU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GdMRpGcFbYHCo_-iDScECnaxqqU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;There a several ways, a user can configure Sharepoint farm topology, for two primary reasons, i.e performance and availability.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The key to achieve both performance and availability is redundancy. By redundancy, i mean having identical server farms in order to swap between the farms either using network load balancing software or hardware such as a router or a switch box.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Here are some interesting topologies that one can implement for performance, availability and scalability.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:100%;"  &gt;a) Single Server farm:&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;  In this topology, you have everything under one box as explained in the diagram below: &lt;/span&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SftZUOmy3qI/AAAAAAAAAmE/U9Lo4MKMrxA/s1600-h/SingleServerFarm.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 141px; height: 150px;" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SftZUOmy3qI/AAAAAAAAAmE/U9Lo4MKMrxA/s400/SingleServerFarm.JPG" alt="" id="BLOGGER_PHOTO_ID_5330952787976183458" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:100%;"  &gt;b) Two server farm:&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt; This is the most recommended approach in general situations&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Server 1 : Web Server and Search server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Server 2 : A dedicated SQL Content database server&lt;/span&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SftZroEQ34I/AAAAAAAAAmM/EIBI7Cux4ew/s1600-h/TwoServerFamrs.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 134px; height: 227px;" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SftZroEQ34I/AAAAAAAAAmM/EIBI7Cux4ew/s400/TwoServerFamrs.JPG" alt="" id="BLOGGER_PHOTO_ID_5330953189947662210" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:100%;"  &gt;c) Four server farm :&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt; This topology brings in some redundancy to the table.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Servers 1 and 2 are webservers with a search server configured with any one web server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Servers 3 and 4 are Clustered or mirrored content SQL database servers for high availability &lt;/span&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SftaQblNV2I/AAAAAAAAAmU/6G8xI693A_c/s1600-h/FourServerFarm.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 246px; height: 277px;" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SftaQblNV2I/AAAAAAAAAmU/6G8xI693A_c/s400/FourServerFarm.JPG" alt="" id="BLOGGER_PHOTO_ID_5330953822251341666" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:100%;"  &gt;d) Five Server Farm:&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt; This adds a middle tier layer.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Servers 1 and 2 are webservers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Server 3 : A dedicated search server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Servers 4 and 5 are Clustered or mirrored content SQL database servers for high availability&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_x_mtoaEl5Us/Sfta2xHe_3I/AAAAAAAAAmc/s10NPPdDyxQ/s1600-h/FiveServerFarms.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 204px; height: 304px;" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/Sfta2xHe_3I/AAAAAAAAAmc/s10NPPdDyxQ/s400/FiveServerFarms.JPG" alt="" id="BLOGGER_PHOTO_ID_5330954480867278706" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:100%;"  &gt;e) Three server farm:  &lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;Choose the below mentioned topology when performance is more important than availability.&lt;/span&gt; &lt;span style="font-size:100%;"&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_x_mtoaEl5Us/SftcAfDU-AI/AAAAAAAAAmk/fnfxupx5ZoQ/s1600-h/ThreeServerFarm.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 246px; height: 253px;" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/SftcAfDU-AI/AAAAAAAAAmk/fnfxupx5ZoQ/s400/ThreeServerFarm.JPG" alt="" id="BLOGGER_PHOTO_ID_5330955747328325634" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;If your focus is on availability as well, reduce the web server and add an additional SQL content database server as mentioned in the diagram below:&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size:100%;"&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_x_mtoaEl5Us/Sftc6KHcC2I/AAAAAAAAAms/G0ubtEIRSF4/s1600-h/ThreeServerFarmPart2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 180px; height: 244px;" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/Sftc6KHcC2I/AAAAAAAAAms/G0ubtEIRSF4/s400/ThreeServerFarmPart2.JPG" alt="" id="BLOGGER_PHOTO_ID_5330956738140834658" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Choose any of the above topology that best fits for your organizational need, scale/magnitude of your application, number of users and most importantly how critical is the availability of your sharepoint application for your business and end users.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Source: &lt;/span&gt;&lt;a style="font-weight: bold; font-style: italic; font-family: arial;" href="http://technet.microsoft.com/"&gt;Technet&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-502129491525665877?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=jDFF4qz4lF8:7Rxc63EMK4k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=jDFF4qz4lF8:7Rxc63EMK4k:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=jDFF4qz4lF8:7Rxc63EMK4k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=jDFF4qz4lF8:7Rxc63EMK4k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=jDFF4qz4lF8:7Rxc63EMK4k:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=jDFF4qz4lF8:7Rxc63EMK4k:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=jDFF4qz4lF8:7Rxc63EMK4k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=jDFF4qz4lF8:7Rxc63EMK4k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/jDFF4qz4lF8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/jDFF4qz4lF8/sharepoint-server-farm-topologies.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_x_mtoaEl5Us/SftZUOmy3qI/AAAAAAAAAmE/U9Lo4MKMrxA/s72-c/SingleServerFarm.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/05/sharepoint-server-farm-topologies.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-8812782400188091385</guid><pubDate>Thu, 02 Apr 2009 18:01:00 +0000</pubDate><atom:updated>2009-04-02T11:03:18.414-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sharepoint designer</category><category domain="http://www.blogger.com/atom/ns#">download sharepoint designer</category><category domain="http://www.blogger.com/atom/ns#">MOSS designer</category><title>Download Sharepoint Designer for FREE</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6yAuXwFQYq-tSmeTNUbTAvKCDGU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6yAuXwFQYq-tSmeTNUbTAvKCDGU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6yAuXwFQYq-tSmeTNUbTAvKCDGU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6yAuXwFQYq-tSmeTNUbTAvKCDGU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Sharepoint Designer is now free...&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Click here to download your free Sharepoint Designer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-8812782400188091385?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3M2wocUyEVI:6_6f3s7D4-M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3M2wocUyEVI:6_6f3s7D4-M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3M2wocUyEVI:6_6f3s7D4-M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=3M2wocUyEVI:6_6f3s7D4-M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3M2wocUyEVI:6_6f3s7D4-M:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=3M2wocUyEVI:6_6f3s7D4-M:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3M2wocUyEVI:6_6f3s7D4-M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=3M2wocUyEVI:6_6f3s7D4-M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/3M2wocUyEVI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/3M2wocUyEVI/download-sharepoint-designer-for-free.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/04/download-sharepoint-designer-for-free.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-9067108642261026328</guid><pubDate>Fri, 27 Mar 2009 19:30:00 +0000</pubDate><atom:updated>2009-03-27T12:30:26.847-07:00</atom:updated><title>The Art Of Making Effective Presentations : Steve Jobs Way</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SXCjI2EAanXNGfpAsgGYHzcDncE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SXCjI2EAanXNGfpAsgGYHzcDncE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SXCjI2EAanXNGfpAsgGYHzcDncE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SXCjI2EAanXNGfpAsgGYHzcDncE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;A few years back, I did some extensive research on Apple's CEO, Steve Jobs. I learnt a lot from the way he delivers his Key note speeches/presentations. Sharing my very popular slide deck from SlideShare...&lt;div style="width:425px;text-align:left" id="__ss_579568"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/mehul.bhuva/art-of-making-effective-presentations-steve-jobs-way-presentation?type=presentation" title="Art Of Making Effective Presentations   Steve Jobs Way"&gt;Art Of Making Effective Presentations   Steve Jobs Way&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=art-of-making-presentations-steve-jobs-way-1220378712156269-9&amp;stripped_title=art-of-making-effective-presentations-steve-jobs-way-presentation" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=art-of-making-presentations-steve-jobs-way-1220378712156269-9&amp;stripped_title=art-of-making-effective-presentations-steve-jobs-way-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/mehul.bhuva"&gt;Mehul Bhuva&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-9067108642261026328?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=cExiC_mMwHI:1o25T3Kt76Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=cExiC_mMwHI:1o25T3Kt76Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=cExiC_mMwHI:1o25T3Kt76Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=cExiC_mMwHI:1o25T3Kt76Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=cExiC_mMwHI:1o25T3Kt76Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=cExiC_mMwHI:1o25T3Kt76Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=cExiC_mMwHI:1o25T3Kt76Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=cExiC_mMwHI:1o25T3Kt76Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/cExiC_mMwHI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/cExiC_mMwHI/art-of-making-effective-presentations_27.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/03/art-of-making-effective-presentations_27.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-8376560872884512738</guid><pubDate>Fri, 20 Mar 2009 18:41:00 +0000</pubDate><atom:updated>2009-03-20T11:46:16.655-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">10 sharepoint themes</category><category domain="http://www.blogger.com/atom/ns#">download sharepoint themes</category><title>Download New Sharepoint themes</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WJhpZ5wF7X0ftM5-A63b3ybY0YA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WJhpZ5wF7X0ftM5-A63b3ybY0YA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WJhpZ5wF7X0ftM5-A63b3ybY0YA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WJhpZ5wF7X0ftM5-A63b3ybY0YA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;Microsoft has introduced 10 new Share point themes, click here to download: &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=0a87658f-20b8-4dcc-ad7a-09ad22641f3a"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=0a87658f-20b8-4dcc-ad7a-09ad22641f3a&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-8376560872884512738?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=dUB71s4I4uY:CCsIxi0XazA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=dUB71s4I4uY:CCsIxi0XazA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=dUB71s4I4uY:CCsIxi0XazA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=dUB71s4I4uY:CCsIxi0XazA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=dUB71s4I4uY:CCsIxi0XazA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=dUB71s4I4uY:CCsIxi0XazA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=dUB71s4I4uY:CCsIxi0XazA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=dUB71s4I4uY:CCsIxi0XazA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/dUB71s4I4uY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/dUB71s4I4uY/download-new-sharepoint-themes.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/03/download-new-sharepoint-themes.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-4094492448229058414</guid><pubDate>Tue, 10 Mar 2009 19:06:00 +0000</pubDate><atom:updated>2009-03-10T12:16:37.945-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sharepointupdates</category><category domain="http://www.blogger.com/atom/ns#">februaryuberpackage</category><category domain="http://www.blogger.com/atom/ns#">sharepointservicepacks</category><category domain="http://www.blogger.com/atom/ns#">mosscumulativeupdates</category><title>New Cumulative Updates for Sharepoint 2007</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lIx-n9KbXqcIl8WfKEf7pOUjIRg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lIx-n9KbXqcIl8WfKEf7pOUjIRg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lIx-n9KbXqcIl8WfKEf7pOUjIRg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lIx-n9KbXqcIl8WfKEf7pOUjIRg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-family: arial;"&gt;Finally the much awaited February cumulative updates Uber package has been released.&lt;br /&gt;&lt;br /&gt;For more details and download instructions, visit: &lt;/span&gt;&lt;a style="font-weight: bold; font-family: arial;" href="http://blogs.msdn.com/sharepoint/archive/2009/03/09/uber-packages-of-february-cumulative-update-are-ready.aspx"&gt;&lt;span style="font-style: italic;"&gt;http://blogs.msdn.com/sharepoint/archive/2009/03/09/uber-packages-of-february-cumulative-update-are-ready.aspx&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-4094492448229058414?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=WqUa440L9SQ:vagZMJZrxI0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=WqUa440L9SQ:vagZMJZrxI0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=WqUa440L9SQ:vagZMJZrxI0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=WqUa440L9SQ:vagZMJZrxI0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=WqUa440L9SQ:vagZMJZrxI0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=WqUa440L9SQ:vagZMJZrxI0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=WqUa440L9SQ:vagZMJZrxI0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=WqUa440L9SQ:vagZMJZrxI0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/WqUa440L9SQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/WqUa440L9SQ/new-cumulative-updates-for-sharepoint.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/03/new-cumulative-updates-for-sharepoint.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-8317963348559516533</guid><pubDate>Wed, 04 Mar 2009 17:00:00 +0000</pubDate><atom:updated>2010-03-08T09:07:19.985-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">develop knowledge management portal in sharepoint</category><title>Develop Knowledge Management Portal in Sharepoint 2007 - A Case Study</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ikG2vHRnOg4OA1oD6Ju537XvkBk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ikG2vHRnOg4OA1oD6Ju537XvkBk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ikG2vHRnOg4OA1oD6Ju537XvkBk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ikG2vHRnOg4OA1oD6Ju537XvkBk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-family: arial; font-size: 100%;"&gt;Recently, I incorporated an organization level Knowledge Management Portal primarily built for warehousing/capturing knowledge across our organization.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Our Site Collection topology was as follows:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Metadata is as follows:&lt;/span&gt; &lt;/span&gt;&lt;span style="font-family: arial; font-size: 100%;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/Sa63AB_zUUI/AAAAAAAAAlI/U5iNgnbJ3bk/s1600-h/SiteColl.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5309382221880316226" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/Sa63AB_zUUI/AAAAAAAAAlI/U5iNgnbJ3bk/s400/SiteColl.png" style="cursor: pointer; height: 400px; width: 291px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: 100%;"&gt;&lt;br /&gt;
All the above Sites share a common Meta-Data&lt;br /&gt;
(all of the meta-data mentioned below have been incorporated as SharePoint Lists)&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/Sa69XijVw3I/AAAAAAAAAlY/Z5xFFXLT1dA/s1600-h/MetaData.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5309389222826066802" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/Sa69XijVw3I/AAAAAAAAAlY/Z5xFFXLT1dA/s400/MetaData.jpg" style="cursor: pointer; height: 322px; width: 349px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Ratings:&lt;/span&gt;&lt;br /&gt;
I have also used an innovative feature known as List Item Rating, where users can rate each of the above meta-data.&lt;br /&gt;
&lt;br /&gt;
To incorporate the same, kindly download the Document Rating System from Codeplex: &lt;a href="http://sptoolbasket.codeplex.com/Wiki/View.aspx?title=SharePoint%20-%20Document%20Rating%20System&amp;amp;referringTitle=Home" style="font-style: italic; font-weight: bold;"&gt;http://sptoolbasket.codeplex.com/Wiki/View.aspx?title=SharePoint%20-%20Document%20Rating%20System&amp;amp;referringTitle=Home&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Also read the &lt;/span&gt;&lt;span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel" style="font-family: arial;"&gt;&lt;a href="javascript:window.location.href='http://sptoolbasket.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=58123';" style="font-style: italic; font-weight: bold;"&gt;SharePoint_Document_Rating_System_Manual.pdf&lt;/a&gt;&lt;br /&gt;
It contains step-by-step guidelines as to how to set-up the Rating model for lists/libraries.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Implementation Approach:&lt;/span&gt;&lt;br /&gt;
So the approach was to create a MOSS publishing collaboration site with all of the above meta-data as lists and implement them as Content-Types on the Top-Level site-collection, since meta-data is common across the entire site-collection except for a few columns like Keywords and Related Items, which are subject to a specific Technology site. Both these columns were created as seperate SiteColumns in the Site Column Gallery for that respective Technology site.&lt;br /&gt;
&lt;br /&gt;
I also incorporated a common list namely Technology Category on the top-level site-collection having Category name and Technology as two columns. This has a special significance, as each of the knowledge sharing Technology sites have respective Technology Categories like for eg: Microsoft has C#.NET, VB.NET, Workflow foundation, Web-Services, Sharepoint etc and so on and so forth for other technologies....&lt;br /&gt;
&lt;br /&gt;
This list will be used as a look-up column in each of my Meta-Data Content-Type as I need to identify my content with a Technology Category, i.e if a user wants to share a Sharepoint E-Book, he will go to the Microsoft site, and then go to the respective meta-data list, in our case E-Books and then choose the Technology Category i.e Sharepoint and upload the required PDF file. Keywords is a common list we maintain at each Site level and then use as a look-up column in each of the list, so that the user can select Keywords and add them in reference of the item he is creating, similarly for Related Content column.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Use of the Query String filter approach:&lt;/span&gt;&lt;br /&gt;
Now, the idea was to create and maintain as little pages as possible on our Technology sites, so we had just two pages for each of the Technology sites, i.e Microsoft site had just one landing page, where all the meta-data lists are shown as ListView webparts and are grouped by Technology Category columns within the site.&lt;br /&gt;
&lt;br /&gt;
We created static links of Technology Categories specific to each site, linking to the same landing page with a query string parameter, we then used a Query String filter web part inside this landing page to filter all the List View web parts using web part connections property filtering Categories on the basis of the column '&lt;span style="font-style: italic; font-weight: bold;"&gt;Technology Category&lt;/span&gt;'&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel" style="font-family: arial;"&gt;So  now, if there is a new Category added, the user just needs to go to the top level site collection list namely Technology Category and make an entry.&lt;br /&gt;
&lt;br /&gt;
He then needs to create a navigation link on the respective site with Query string specifying the Category, for eg:&lt;span style="font-style: italic; font-weight: bold;"&gt; /sites/kbase/microsfot/landingpage.aspx?Category=Sharepoint&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;(NOTE&lt;/span&gt;: This &lt;span style="font-weight: bold;"&gt;Category&lt;/span&gt; parameter should exactly match the category name specified in the top level site-collection list namely &lt;span style="font-style: italic; font-weight: bold;"&gt;Technology Category&lt;/span&gt;).&lt;br /&gt;
&lt;br /&gt;
So, this is how we avoided creating pages for each Category, Query String Filter webpart did the trick for us.&lt;br /&gt;
&lt;/span&gt;&lt;span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel" style="font-family: arial;"&gt;&lt;br /&gt;
Apart from that, each user could also see his own content uploaded in various lists as, we added a separate list view web part with the filter formula "[Me]" on the Created By column.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Approvers Console:&lt;/span&gt;&lt;br /&gt;
The second page in each of the Technology sites behaved more like an Approvers Console, where we used Audience Targeting feature to allow only approvers to see this respective section.&lt;br /&gt;
&lt;br /&gt;
Very importantly, all the lists had Content Approval feature enabled, so if a user uploads a document it is in the Draft stauts, he needs to Publish this document to send it for Approval, it then goes to the users defined in that site-specific &lt;span style="font-style: italic; font-weight: bold;"&gt;"Approvers"&lt;/span&gt; group for Content Approval. (&lt;span style="font-weight: bold;"&gt;NOTE:&lt;/span&gt; By default a Publishing Collaboration site has an Approver group in place). The document lands in the Approvers Console and is not visible to anyone except the Author and Approver.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Security:&lt;/span&gt;&lt;br /&gt;
All our sites inherited permissions from the Top-Level site in the sitecollection. We validated users from the AD and we had one Domain users group which spawned all the employees in the organization, this group was assigned &lt;span style="font-weight: bold;"&gt;"Viewers"&lt;/span&gt; rights on the top level site, by default all the other sites inherited these permissions.&lt;br /&gt;
&lt;br /&gt;
We then changed the List level permissions and assigned &lt;span style="font-weight: bold;"&gt;"Contributor"&lt;/span&gt; rights to the &lt;span style="font-weight: bold;"&gt;"Viewers" &lt;/span&gt;group.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Since, all the users in each of our lists had the same&lt;span style="font-weight: bold;"&gt; "Contributor"&lt;/span&gt; rights, I had to use the &lt;span style="font-weight: bold;"&gt;List Write&lt;/span&gt; security feature provided OOTB, where i had to allow only the Author of the document to Edit/Delete the list item and Read access to all.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Customization:&lt;/span&gt;&lt;br /&gt;
We also desgined our Custom Branding and page layouts using Sharepoint designer and then packaged it as a feature.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Effort:&lt;/span&gt;&lt;br /&gt;
The Knowledge Management site was developed within less than 2 months of our time with 2 resources, we had add some data to kick-start this portal and make it more inuitive for the end-users.&lt;br /&gt;
&lt;br /&gt;
It is an extremely user-friendly interface and looks contemporary with Article ratings implemented.&lt;br /&gt;
&lt;br /&gt;
If you feel this article as valuable, share it with your friends and colleagues &lt;span style="font-weight: bold;"&gt;:)&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-8317963348559516533?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uOpysVM5uqo:WjxUbaCIJjc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uOpysVM5uqo:WjxUbaCIJjc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uOpysVM5uqo:WjxUbaCIJjc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=uOpysVM5uqo:WjxUbaCIJjc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uOpysVM5uqo:WjxUbaCIJjc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=uOpysVM5uqo:WjxUbaCIJjc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uOpysVM5uqo:WjxUbaCIJjc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=uOpysVM5uqo:WjxUbaCIJjc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/uOpysVM5uqo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/uOpysVM5uqo/knowledge-management-in-sharepoint.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_x_mtoaEl5Us/Sa63AB_zUUI/AAAAAAAAAlI/U5iNgnbJ3bk/s72-c/SiteColl.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/03/knowledge-management-in-sharepoint.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-6890695746532002223</guid><pubDate>Thu, 19 Feb 2009 18:10:00 +0000</pubDate><atom:updated>2009-10-16T08:55:36.980-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Steps to AJAXIFY the Zone Tabs Web part in Sharepoint</category><category domain="http://www.blogger.com/atom/ns#">AJAX MOSS</category><category domain="http://www.blogger.com/atom/ns#">configure Sharepoint AJAX</category><title>AJAX enable Zone Tabs Web part in Sharepoint</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9738at4_w-_pvVWCnQuKfY81D8w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9738at4_w-_pvVWCnQuKfY81D8w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9738at4_w-_pvVWCnQuKfY81D8w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9738at4_w-_pvVWCnQuKfY81D8w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;1. &lt;/span&gt;&lt;b style="font-family: arial;"&gt;Install Zone Tabs web part &lt;/b&gt;&lt;span style="font-family:arial;"&gt; from &lt;/span&gt;&lt;a style="font-family: arial;" href="http://code.msdn.microsoft.com/zonetabs/Release/ProjectReleases.aspx?ReleaseId=201"&gt;http://code.msdn.microsoft.com/zonetabs/Release/ProjectReleases.aspx?ReleaseId=201&lt;/a&gt;&lt;o:p style="font-family: arial;"&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;All credit goes to Bob German who developed this wonderful web part: &lt;/span&gt;&lt;a style="font-family: arial;" href="http://blogs.msdn.com/bobgerman/archive/2008/02/19/back-in-the-zone-with-zonetabs.aspx"&gt;http://blogs.msdn.com/bobgerman/archive/2008/02/19/back-in-the-zone-with-zonetabs.aspx&lt;/a&gt;&lt;o:p style="font-family: arial;"&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Installation steps:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;a) Add Solution: (assuming you copy the .wsp file in C drive)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;stsadm.exe –o addsolution –filename “C:\ EasyTabParts.wsp”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;b) &lt;/span&gt;&lt;span style="font-family:arial;"&gt;Deploy Solution:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;stsadm.exe –o deploysolution –name “EasyTabParts.wsp” –url “http://sitecollectionurl”   –allowgacdeployment –immediate  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;c)This feature has now been installed at your site collection specified&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Activate this feature for your Site Collection.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Add this web part to any of your pages in web part zones i.e Left, Right, Middle, Bottom etc. (Note: you have to AJAXIFY this zone in the Page Layout, covered later in this article)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Works wonderfully well, but refreshes the whole page when you click on respective Tabs, our task is to make it AJAX driven, thereby causing only partial post-backs and not full page refreshes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;2. &lt;/span&gt;&lt;b style="font-family: arial;"&gt;Download ASP.NET 2.0 AJAX extensions 1.0&lt;/b&gt;&lt;span style="font-family:arial;"&gt; from &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.ajax.asp.net/"&gt;http://www.ajax.asp.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;3.&lt;/span&gt;  &lt;/span&gt;&lt;b style="font-family: arial;"&gt;Ensure that you have MOSS SP 1 &lt;/b&gt;&lt;span style="font-family:arial;"&gt; installed for sure; also install the December Cumulative updates from Microsoft too.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;4. &lt;/span&gt;&lt;b style="font-family: arial;"&gt;Configure your SharePoint web application with AJAX.&lt;/b&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;It means you have to add some entries in web.config for your SharePoint web application. This could be time consuming and error-prone, instead I recommend you to install this great utility available at Codeplex, &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.codeplex.com/ajaxifymoss/Release/ProjectReleases.aspx?ReleaseId=13360"&gt;http://www.codeplex.com/ajaxifymoss/Release/ProjectReleases.aspx?ReleaseId=13360&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;It automatically adds the web.config extensions for you.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Here are the installation steps:&lt;/span&gt;&lt;o:p style="font-family: arial;"&gt;&lt;/o:p&gt;&lt;span style="font-family:arial;"&gt;Download the zip file, extract it, and execute deploy.cmd on your MOSS environment. The stsadm commands for ajaxifying MOSS will then be available.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- add asp.net ajax to web.config&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;stsadm -o addajax -url "http://your.moss.webapplication"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;NOTE:&lt;/span&gt; After installing this, one entry got missed from Safe Control assembly, I guess it is an inherent bug in the utility, go to your web.config file and ensure that this piece of code exists in your web.config Safe Control section&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;SafeControl Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TypeName="*" Safe="True" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;If it exists, its good for you, in case it doesn’t, then you have to add it manually&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- remove asp.net ajax from web.config&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;stsadm -o removeajax -url http://your.moss.webapplication&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- add .Net 3.5 ajax to web.config&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;stsadm -o addajax35 -url http://your.moss.webapplication&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;-remove .Net 3.5 ajax from web.config&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;stsadm -o removeajax35 -url "http://your.moss.webapplication"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;In any case, you are not successful and get stuck, using the above utility, refer to Mike’s blog at: &lt;/span&gt;&lt;a style="font-family: arial;" href="http://sharepoint.microsoft.com/blogs/mike/Lists/Posts/Post.aspx?ID=3"&gt;http://sharepoint.microsoft.com/blogs/mike/Lists/Posts/Post.aspx?ID=3&lt;/a&gt;&lt;span style="font-family:arial;"&gt; and make the web.config changes manually.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;5.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Modify your master page.&lt;/span&gt; If you have an customized your master page, using SharePoint designer, Check Out and make changes, else if you have deployed master page as a feature, make these changes in your Visual Studio solution and re-deploy the feature once again using upgrade command of stsadm utility&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;a) Search for &lt;/span&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;webpartpages:spwebpartmanager id="m" runat="Server"&gt; in your master page and add the Script Manager tag just beneath the above tag&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;asp:ScriptManager runat="server" ID="ScriptManager1" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;b) Add the following JavaScript function in your master page, just above the closing head tag&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;script type="text/javascript" language="javascript"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;function RestoreToOriginalFormAction()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;if (_spOriginalFormAction != null) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;if (_spEscapedFormAction==document.forms[0].action){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;document.forms[0].action=_spOriginalFormAction;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;_spOriginalFormAction=null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;_spEscapedFormAction=null;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;document.forms[0]._initialAction = document.forms[0].action;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;/script&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;c) Add the javascript method &lt;span style="font-weight: bold;"&gt;RestoreToOriginalFormAction() &lt;/span&gt;in the Body onload tag, as follows:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;&lt;span style="font-family:arial;"&gt;BODY scroll="yes" onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper(); &lt;span style="font-weight: bold;"&gt;RestoreToOriginalFormAction();&lt;/span&gt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;6. Modify your Page Layout&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This is the final step in getting your Zone Tabs to work with AJAX, choose your Page Layout depending on your page, where you have added the Easy Tabs webpart, remember the webpart zone: for eg: Left, Middle, Right, Bottom, Top Left, Top Right etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;We need to place the Update Panel just above the webpart zone, here is the code for update panel (assuming, we are adding the update panel on the left webpart zone), copy this code:&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;asp:UpdatePanel id="LeftPanel" runat="server"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoListParagraphCxSpMiddle"  style="margin-left: 0.75in;font-family:arial;"&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;ContentTemplate&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"  style="margin-left: 1in;font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;WebPartPages:WebPartZone runat="server" Title="Left" ID="LeftColumn" Orientation="Vertical"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"  style="margin-left: 1in;font-family:arial;"&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;ZoneTemplate&gt;&lt;/span&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;/ZoneTemplate&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"  style="margin-left: 1in;font-family:arial;"&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;/WebPartPages:WebPartZone&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;/ContentTemplate&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle"  style="font-family:arial;"&gt;&lt;span&gt;&lt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;/asp:UpdatePanel&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;After adding this code to your page layout, it should appear in the following way in Sharepoint Designer:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SZ2tJz_NwcI/AAAAAAAAAkE/FXN9JSf6MSI/s1600-h/PageLayouts.jpg"&gt;&lt;img style="cursor: pointer; width: 470px; height: 304px;" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SZ2tJz_NwcI/AAAAAAAAAkE/FXN9JSf6MSI/s320/PageLayouts.jpg" alt="" id="BLOGGER_PHOTO_ID_5304586320198091202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Similar to this you can add many Update Panels in different zones in the same page layout, I added two update panel controls with different id’s on the Left Webpart zone and the other on the Right webpart zone.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Finally go to your site page, see the Easy Tab webparts with AJAX in action. Now when you click any of the tabs, you will see only the webpart zone getting refreshed and not the full page. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;If you find this information useful, send in your valuable comments&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-6890695746532002223?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=zTE8PD_FrEg:FuHn0MXo4fo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=zTE8PD_FrEg:FuHn0MXo4fo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=zTE8PD_FrEg:FuHn0MXo4fo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=zTE8PD_FrEg:FuHn0MXo4fo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=zTE8PD_FrEg:FuHn0MXo4fo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=zTE8PD_FrEg:FuHn0MXo4fo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=zTE8PD_FrEg:FuHn0MXo4fo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=zTE8PD_FrEg:FuHn0MXo4fo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/zTE8PD_FrEg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/zTE8PD_FrEg/ajaxify-zone-tabs-web-part-in.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_x_mtoaEl5Us/SZ2tJz_NwcI/AAAAAAAAAkE/FXN9JSf6MSI/s72-c/PageLayouts.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">31</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/02/ajaxify-zone-tabs-web-part-in.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-414587085245830990</guid><pubDate>Wed, 11 Feb 2009 17:00:00 +0000</pubDate><atom:updated>2009-07-18T02:27:39.808-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Sharepoint List security manager</category><category domain="http://www.blogger.com/atom/ns#">sharepoint write permission for document library</category><category domain="http://www.blogger.com/atom/ns#">Sharepoint List permissions</category><category domain="http://www.blogger.com/atom/ns#">List security manager</category><category domain="http://www.blogger.com/atom/ns#">Read/Write permissions</category><category domain="http://www.blogger.com/atom/ns#">document library permission issue</category><title>Sharepoint List/Library Permissions - A new utility on Codeplex</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nxVBQqDCdJXPakYnyfQSRkqMgX4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nxVBQqDCdJXPakYnyfQSRkqMgX4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nxVBQqDCdJXPakYnyfQSRkqMgX4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nxVBQqDCdJXPakYnyfQSRkqMgX4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;Recently, I released my own utility on CodePlex&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;, it is known as Sharepoint List Security Manager.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;It addresses the inherent permission issue of Sharepoint Document Library, where two contributors are able to edit/delete each others document.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I personally faced this issue, while I was developing a Knowledge Base Portal, we were dealing with a lot of document libraries in this project, but unlike Lists, there was no OOTB way to set who should Read or Edit documents within the library.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Sharepoint Lists have this built-in mechanism in place OOTB, so when you go to List Settings -&gt; Advanced Settings you can set this permission, but the same is missing for a Document Library.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I made a generic tool to set these permissions for any list/library on your server farm.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;" id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel"  &gt;The utility allows you to set&lt;br /&gt;List/Library Read permissions to: a) Everyone b) Only Author&lt;br /&gt;Write permissions to: a) Everyone b) Only Author c) None&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;" id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel"  &gt;The utility is developed using Windows Forms in C#, it is very intuitive and user-friendly.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt; You can download this from CodePlex, available here: &lt;a style="font-weight: bold;" href="http://www.codeplex.com/ListSecurityManager/Release/ProjectReleases.aspx?ReleaseId=23086" target="_blank"&gt;http://www.codeplex.com/ListSecurityManager/Release/ProjectReleases.aspx?ReleaseId=23086&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;input id="gwProxy" type="hidden"&gt;&lt;!--Session data--&gt;&lt;input onclick="jsCall();" id="jsProxy" type="hidden"&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-414587085245830990?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bwa5Hn4g3r8:5cPfVL7XfjY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bwa5Hn4g3r8:5cPfVL7XfjY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bwa5Hn4g3r8:5cPfVL7XfjY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=bwa5Hn4g3r8:5cPfVL7XfjY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bwa5Hn4g3r8:5cPfVL7XfjY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=bwa5Hn4g3r8:5cPfVL7XfjY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bwa5Hn4g3r8:5cPfVL7XfjY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=bwa5Hn4g3r8:5cPfVL7XfjY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/bwa5Hn4g3r8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/bwa5Hn4g3r8/sharepoint-list-permissions-new-utility.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">15</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/02/sharepoint-list-permissions-new-utility.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-4793574216737709170</guid><pubDate>Sat, 07 Feb 2009 12:53:00 +0000</pubDate><atom:updated>2009-02-11T09:16:53.899-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Sharepoint MOSS 2007</category><category domain="http://www.blogger.com/atom/ns#">configure shared services</category><category domain="http://www.blogger.com/atom/ns#">Shared Services error</category><category domain="http://www.blogger.com/atom/ns#">indexer error shared services</category><title>Shared Services Error "An indexer is not assigned to the Shared Services Provider 'SharedServices1"</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/V0Y02rh2Sb8-m34Uy3SAu9com1g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V0Y02rh2Sb8-m34Uy3SAu9com1g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/V0Y02rh2Sb8-m34Uy3SAu9com1g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V0Y02rh2Sb8-m34Uy3SAu9com1g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-family: arial;font-family:trebuchet ms;font-size:100%;"  &gt;A few days back, i was unable to import user profiles, after our development server crashed and fortunately we restored it using the last known back-up of the Virtual machine.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt; All of a sudden our user profiles import and search crawling and indexing services stopped abruptly, throwing a nasty "An indexer is not assigned to the Shared Services Provider 'SharedServices1' error.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Luckily i found a solution for the same:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;a. Log in to Central Administration&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;b. Select your Shared Services provider and choose "Edit Properties" from the drop-down context menu&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;c. Configure your Index server and it works like a charm...&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-4793574216737709170?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Q7Xp7qJi_Ew:e7MrYyaHr9Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Q7Xp7qJi_Ew:e7MrYyaHr9Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Q7Xp7qJi_Ew:e7MrYyaHr9Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=Q7Xp7qJi_Ew:e7MrYyaHr9Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Q7Xp7qJi_Ew:e7MrYyaHr9Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=Q7Xp7qJi_Ew:e7MrYyaHr9Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Q7Xp7qJi_Ew:e7MrYyaHr9Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=Q7Xp7qJi_Ew:e7MrYyaHr9Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/Q7Xp7qJi_Ew" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/Q7Xp7qJi_Ew/shared-services-error-indexer-is-not.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/02/shared-services-error-indexer-is-not.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-7362869416183565915</guid><pubDate>Sun, 25 Jan 2009 09:56:00 +0000</pubDate><atom:updated>2010-03-08T09:10:19.452-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Enterprise Collaboration Portal</category><category domain="http://www.blogger.com/atom/ns#">Collaboration features Sharepoint MOSS 2007</category><category domain="http://www.blogger.com/atom/ns#">ECM Sharepoint</category><category domain="http://www.blogger.com/atom/ns#">Sharepoint Case Study</category><category domain="http://www.blogger.com/atom/ns#">Intranet Portal</category><title>Case Study - ECM for Enterprise wide Sharepoint Intranet Collaboration Portal</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SeyqIFlCMrP6BPlk76c3Ziwd9RU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SeyqIFlCMrP6BPlk76c3Ziwd9RU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SeyqIFlCMrP6BPlk76c3Ziwd9RU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SeyqIFlCMrP6BPlk76c3Ziwd9RU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;We recently completed development of my company's Collaboration Intranet Portal, here is a small case-study of MOSS features we have used and customizations we have done during the development phase:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;1. &lt;span style="font-weight: bold;"&gt;Use of default Publishing features:&lt;/span&gt; We created a site collection using Collaboration Publishing Portal site template, in that way we got what we wanted for ECM including Page Publishing with Approval mechanism.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;2.    &lt;span style="font-weight: bold;"&gt;Site Structure and Architecture: &lt;/span&gt;We had a single site collection with various internal  departments as Sites under One site collection like : we had Home as the top level site and then HR, Finance, Administration, Business Units etc as our sub-sites within the site    collection. We had a single server farm, one dedicated search server and one SSP configured.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;We had separate Virtual machines configured for Development, Content Management and Production environment respectively with WSS SP 1 and MOSS SP 1. We had identified a few Content Managers from within the respective units, who would maintain their respective sites for managing/uploading content in lists/libraries.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;3.    &lt;span style="font-weight: bold;"&gt;Capacity Planning: &lt;/span&gt;We had a Cord Core processor with sufficient hard-disk and 4 GB RAM, our capacity planning was based on the fact that we had a target audience of 3000 users within the organization.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;4.    &lt;span style="font-weight: bold;"&gt;Use of custom Master page, custom Page Layouts and custom styles:&lt;/span&gt; We actually created a copy of default.master, a copy of Page Layout from Blank Web Part page and a copy of Core.css from Style Library using SharePoint Designer, after creating copies of each of them we restructured the entire master page and added some new styles in our custom style sheet, we had to hide certain Content Placeholders from Master page(you should not delete these placeholders, instead place them all in an control with visibility as hidden to avoid errors), we then added a new Left Web part Zone to our Custom Page Layout, all using SharePoint Designer&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: trebuchet ms;"&gt;But doing all the above mentioned customizations using SPD was not a viable option as all the pages would then become un-ghosted (customized) and everything would be then stored into SharePoint Content Databases, instead we copied all the three files we developed with SPD into the file system and deployed it as a feature using WSP builder, so we could get both the benefit of Visual design using SPD and Ghosting (un-customization). So we now  have  our custom master page, custom page layout and custom style sheet on the file system, making it more scalable across farms, as all of them have been deployed as features, we also have them under our source control now.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;     5.    &lt;span style="font-weight: bold;"&gt;Use of .NET User Controls: &lt;/span&gt;We used a lot of pure .NET user controls within the custom master page, for e.g. the organization wanted to   display names of its employees having their birthdays on that day, in a dynamic ticker which would change each day, the birthday data was exported from excel to SharePoint list using the Excel Add-In for MOSS 2007, click on the link to download, &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=25836e52-1892-4e17-ac08-5df13cfc5295&amp;amp;displaylang=en" style="font-weight: bold;"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=25836e52-1892-4e17-ac08-5df13cfc5295&amp;amp;displaylang=en&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;We then used a calculated field to determine employee birthdays as on Today. Similarly, we also had a rolling ticker for News, Events and Announcements from SharePoint lists across all the sites in the site collection; we had to use impersonation due to some security concerns in accessing lists across subsites.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;Similarly, we had to roll thumbnails of pictures from the Site Collection Image Gallery on the top-level site, when clicked the enlarged images would appear as a lite box pop-up. We could have used J-Query too, may be next time.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;The beauty of using User Controls in master page is that we could maintain them without having to customize the master page, the hassle of upgrading the WSP file, redeploying the feature is no longer required, in case any of the user control file changes.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: trebuchet ms;"&gt;We deployed .ascx files in the Control Templates folder of the 12 hive structure, then deployed the DLL in inetpub\wwwroot\&lt;/span&gt;&lt;web style="font-family: trebuchet ms;"&gt;\bin, we also had to register the DLL in GAC&lt;br /&gt;
&lt;br /&gt;
To create User Controls with MOSS, read this excellent post: &lt;a href="http://www.helloitsliam.com/archive/2008/01/21/sharepoint-%E2%80%93-user-control-in-master-page-page-footer.aspx" style="font-weight: bold;"&gt;http://www.helloitsliam.com/archive/2008/01/21/sharepoint-%E2%80%93-user-control-in-master-page-page-footer.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
6.&lt;span style="font-weight: bold;"&gt;    List Items as Pop-ups: &lt;/span&gt;We also made a .aspx page which will accept List Item Id to be displayed, List Name and Column Name as query string parameters, this was deployed in the LAYOUTS folder of the 12 hive structure, it meant that it will now be accessible to any site within the site collection due to the virtual directory _layouts which is mapped to the physical folder LAYOUTS, so if I have to call the .aspx page from the HR sub-site, I would call it in the following way: /HR/_layouts/ShowListDescription.aspx?ItemId=1&amp;amp;ListName=NewsEvents&amp;amp;ColumnName=NewsDescription&lt;br /&gt;
We used to link the .aspx page as a Read More… pop-up in the List View web part, so that it could show the description/details of that particular list item in a pop-up window.&lt;br /&gt;
&lt;br /&gt;
7.&lt;span style="font-weight: bold;"&gt;    Daily Back Up and Restore:&lt;/span&gt; Since, we had a separate Content Managers Environment for uploading data into lists/libraries, we would actually perform back-up and restore drills each day to move updated content from Content manager’s environment to Production environment. We created back-up and restore batch scripts, it would have to be run manually each day by a dedicated Administrator as he had to copy .bak files and move it across the server and then restore. Later on we found that this could have been achieved without manual intervention using Content Deployment Jobs, to download this white paper, visit: &lt;a href="http://technet.microsoft.com/enus/library/cc627268.aspx" style="font-weight: bold;"&gt;http://technet.microsoft.com/enus/library/cc627268.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
8.    &lt;span style="font-weight: bold;"&gt;Third party web parts:&lt;/span&gt; We used various free third-party web parts like the Quick&lt;br /&gt;
a. Surveys web part for Surveys &amp;amp; Polls (http://code.msdn.microsoft.com/QuickSurveys)&lt;br /&gt;
b. Zone Tabs web part to show web parts in a tabbed manner (&lt;a href="http://code.msdn.microsoft.com/zonetabs" style="font-weight: bold;"&gt;http://code.msdn.microsoft.com/zonetabs&lt;/a&gt;)&lt;br /&gt;
c. RSS Feed Reader web part from CodePlex: &lt;a href="http://www.codeplex.com/FeedReader/Release/ProjectReleases.aspx?ReleaseId=19830"&gt;&lt;span style="font-weight: bold;"&gt;http://www.codeplex.com/FeedReader/Release/ProjectReleases.aspx?ReleaseId=19830&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
We also customized the existing Content Query Web part to include URL’s from Link List, here is an excellent article: &lt;a href="http://www.helloitsliam.com/archive/2007/11/06/moss2007-%C3%A2%C2%80%C2%93-link-lists-and-the-content-query-web-part.aspx" style="font-weight: bold;"&gt;http://www.helloitsliam.com/archive/2007/11/06/moss2007-–-link-lists-and-the-content-query-web-part.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
9.    &lt;span style="font-weight: bold;"&gt;Use of Visual Studio workflows: &lt;/span&gt;We had to pick up email addresses from a master list based on the site context and send an Email alert to the appropriate contact, whenever a Suggestion/Feedback is entered from the portal; we used Visual Studio Workflows and deployed it as a SharePoint feature.&lt;br /&gt;
&lt;br /&gt;
10. &lt;span style="font-weight: bold;"&gt;Search Scopes: &lt;/span&gt;We created context based Search Scopes like HR, Finance, Admin, Purchase using Central Administration and then added them to our Site Collection using Search Scopes setting at the top level site collection.&lt;br /&gt;
&lt;br /&gt;
11. &lt;span style="font-weight: bold;"&gt;Stress Testing Tool: &lt;/span&gt;We used Microsoft Stress Testing tool in order to load test concurrent users, we created 100 dummy users and test scripts for all the pages, load tested our application for about 12 hours, we found RPS rate was good and the application didn't even crashed once, when the concurrent stress testing was going on.&lt;br /&gt;
&lt;br /&gt;
All throughout i was reading Andrew Connel's book on Web Content Management for Sharepoint, (&lt;a href="http://andrewconnell.com/blog/articles/RecommendedReading.aspx" style="font-weight: bold;"&gt;Go to Andrew Connels bookshelf&lt;/a&gt;) Heather Solomon’s blog for Custom master pages (&lt;a href="http://www.heathersolomon.com/blog/"&gt;&lt;span style="font-weight: bold;"&gt;http://www.heathersolomon.com/blog/&lt;/span&gt;&lt;/a&gt;) During my development phase, i got some help from &lt;a href="http://www.johnholliday.net/" style="font-weight: bold;"&gt;John Holliday&lt;/a&gt; in relation to Disposing Sharepoint objects while using Sharepoint API. &lt;a href="http://www.helloitsliam.com/default.aspx" style="font-weight: bold;"&gt;Liam Cleary's&lt;/a&gt; wonderful posts also help me profoundly.&lt;br /&gt;
&lt;br /&gt;
&lt;/web&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-7362869416183565915?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=RZ2ppneKtoM:ABNmvZ_SM6k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=RZ2ppneKtoM:ABNmvZ_SM6k:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=RZ2ppneKtoM:ABNmvZ_SM6k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=RZ2ppneKtoM:ABNmvZ_SM6k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=RZ2ppneKtoM:ABNmvZ_SM6k:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=RZ2ppneKtoM:ABNmvZ_SM6k:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=RZ2ppneKtoM:ABNmvZ_SM6k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=RZ2ppneKtoM:ABNmvZ_SM6k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/RZ2ppneKtoM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/RZ2ppneKtoM/case-study-ecm-for-enterprise-wide.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2009/01/case-study-ecm-for-enterprise-wide.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-1075380750172840397</guid><pubDate>Sun, 21 Dec 2008 07:21:00 +0000</pubDate><atom:updated>2009-01-30T19:40:46.416-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Best Practices: Using Disposable Windows SharePoint Services Objects</category><category domain="http://www.blogger.com/atom/ns#">Sharepoint DIspose Check utility</category><title>Best Practices disposing Sharepoint objects - Reference Guide</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1aarca0PRZ7MyiIocB59pmnuhls/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1aarca0PRZ7MyiIocB59pmnuhls/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1aarca0PRZ7MyiIocB59pmnuhls/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1aarca0PRZ7MyiIocB59pmnuhls/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;Frequently developers use the Sharepoint object model either to read or write data into Share point database via Lists/Libraries. Here comes the need to dispose Sharepoint objects, even though they are created as managed objects, these objects use unmanaged code and memory to perform a majority of their work.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Because the smaller managed part of the object does not put memory pressure on the garbage collector, the garbage collector does not release the object from memory in a timely manner. The object's use of a large amount of unmanaged memory can cause some of the unusual behaviors described as follows:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul  style="font-family:arial;"&gt;&lt;li&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Frequent recycles of the Microsoft Windows SharePoint Services application pool, especially during peak usage&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Application crashes that appear as heap corruption in the debugger&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;High memory use for Microsoft Internet Information Services (IIS) worker processes&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Poor system and application performance &lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;Applications that work with &lt;/span&gt;&lt;strong style="font-family: arial;"&gt;IDisposable&lt;/strong&gt;&lt;span style="font-family:arial;"&gt; objects in MOSS must dispose of the objects when the applications finish using them. You should not rely on the garbage collector to release them from memory automatically.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Unusual behaviors mentioned above occur when Sharepoint objects are not disposed off properly or explicitly by the devlopers. Here is a reference guide on Sharepoint Coding best practices with relevant scenarios and examples of each type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Three techniques to ensure that your objects get disposed properly:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul  style="font-family:arial;"&gt;&lt;li&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;Dispose&lt;/strong&gt; method&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;using&lt;/strong&gt; clause&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;try&lt;/strong&gt;, &lt;strong&gt;catch&lt;/strong&gt;, and &lt;strong&gt;finally&lt;/strong&gt; blocks&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;Whenever you wish to free memory resources, call &lt;span style="font-weight: bold;"&gt;Dispose method&lt;/span&gt;, instead of the &lt;span style="font-weight: bold;"&gt;Close method&lt;/span&gt; , internally &lt;span style="font-weight: bold;"&gt;Dispose method&lt;/span&gt;  calls &lt;span style="font-weight: bold;"&gt;Close method&lt;/span&gt;  itself, the reason being that standard .NET Framework process calls the &lt;span style="font-weight: bold;"&gt;Dispose method &lt;/span&gt;to free memory resources associated with object.&lt;br /&gt;&lt;br /&gt;Thankfully Microsoft has recently launched Sharepoint Dispose Checker utility. It will ensure that you have properly disposed objects so that you aren't consuming more memory. All developers should run this utility after they use Sharepoint object model. Click &lt;a href="http://download.microsoft.com/download/B/4/D/B4D279A0-E159-40BF-A5E8-F49ABDBE95C7/SPDisposeCheck.msi"&gt;&lt;span style="font-weight: bold;"&gt;here&lt;/span&gt;&lt;/a&gt; to download SPDispose Utility.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Best Practice #1:&lt;/span&gt; Use the Using Clause for all Sharepoint objects that implement the &lt;span style="font-weight: bold;"&gt;IDisposable&lt;/span&gt; interface&lt;br /&gt;&lt;pre class="libCScode" style="white-space: pre-wrap;" id="ctl00_rs1_mainContentContainer_ctl05CSharp" space="preserve"&gt;&lt;span style="font-weight: bold;"&gt;C# Coding snippet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;String str;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;(SPSite oSPsite = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SPSite(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"http://server"&lt;/span&gt;&lt;/span&gt;))&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;(SPWeb oSPWeb = oSPSite.OpenWeb())&lt;br /&gt;{&lt;br /&gt;    str = oSPWeb.Title;&lt;br /&gt;    str = oSPWeb.Url;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Best Practice #2:&lt;/span&gt; Use the &lt;span style="font-weight: bold;"&gt;try/catch/finally&lt;/span&gt; blocks. When you use &lt;span style="font-weight: bold;"&gt;try&lt;/span&gt; blocks, it is important to add a &lt;span style="font-weight: bold;"&gt;finally&lt;/span&gt; block to ensure that all objects are disposed off properly:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Coding snippet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;String str;&lt;br /&gt;SPSite oSPSite = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;br /&gt;SPWeb oSPWeb = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;try&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;oSPSite = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SPSite(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"http://server"&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;oSPWeb = oSPSite.OpenWeb(..);&lt;br /&gt;&lt;br /&gt;str = oSPWeb.Title;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:blue;"&gt;catch&lt;/span&gt;(Exception e)&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:blue;"&gt;finally&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (oSPWeb != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;  oSPWeb.Dispose();&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (oSPSite != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;   oSPSite.Dispose();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Best Practice #3:&lt;/span&gt; Using &lt;span style="font-weight: bold;"&gt;Response.Redirect&lt;/span&gt; in the try block will never execute the finally block, so it is important, to dispose off all objects before the redirection occurs:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Coding snippet&lt;/span&gt;&lt;br /&gt;String str;&lt;br /&gt;SPSite oSPSite = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;br /&gt;SPWeb oSPWeb = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;br /&gt;bool bDoRedirection = true;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;try&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;oSPSite = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SPSite(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"http://server"&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;oSPWeb = oSPSite.OpenWeb(..);&lt;br /&gt;&lt;br /&gt;str = oSPWeb.Title;&lt;br /&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;(bDoRedirection)&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color:blue;"&gt;if&lt;/span&gt; (oSPWeb != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;       oSPWeb.Dispose();&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;if&lt;/span&gt; (oSPSite != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;       oSPSite.Dispose();&lt;br /&gt;&lt;br /&gt;    Response.Redirect(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"newpage.aspx"&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:blue;"&gt;catch&lt;/span&gt;(Exception e)&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:blue;"&gt;finally&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (oSPWeb != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;  oSPWeb.Dispose();&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (oSPSite != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;   oSPSite.Dispose();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Best Practice #&lt;span style="font-family:monospace;"&gt;4:&lt;/span&gt;&lt;/span&gt; Whenever you create an object with a new operation, the creating application must dispose it off&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Coding snippet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;SPSite oSPSite = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SPSite(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"http://server"&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;... additional processing on SPSite ...&lt;br /&gt;&lt;br /&gt;oSPSite.Dispose();&lt;br /&gt;&lt;br /&gt;alternatively, this is a better approach&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Coding snippet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;using(SPSite oSPSite = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SPSite(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"http://server"&lt;/span&gt;&lt;/span&gt;))&lt;br /&gt;{&lt;br /&gt;... additional processing on SPSite ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Best Practice #&lt;span style="font-family:monospace;"&gt;5:&lt;/span&gt;&lt;/span&gt; For &lt;span style="font-weight: bold;"&gt;Site.OpenWeb&lt;/span&gt; method, you need to dispose it off explicitly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Coding snippet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;String str;&lt;br /&gt;SPSite oSPSite = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SPSite(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"http://server"&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;SPWeb oSPWeb = oSPSite.OpenWeb();&lt;br /&gt;&lt;br /&gt;str = oSPWeb.Title;&lt;br /&gt;str = oSPWeb.Url;&lt;br /&gt;&lt;br /&gt;... additional processing on SPWeb ...&lt;br /&gt;&lt;br /&gt;oSPWeb.Dispose();&lt;br /&gt;oSPSite.Dispose();&lt;br /&gt;&lt;br /&gt;Alternatively you may use the &lt;span style="font-weight: bold;"&gt;Using &lt;/span&gt;clause too for better readibility and automatic disposition of objects:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Coding snippet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;String str;&lt;br /&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;(SPSite oSPSite = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SPSite(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"http://server"&lt;/span&gt;&lt;/span&gt;))&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;(SPWeb oSPWeb = oSPSite.OpenWeb())&lt;br /&gt;{&lt;br /&gt;    str = oSPWeb.Title;&lt;br /&gt;    str = oSPWeb.Url;&lt;br /&gt;&lt;br /&gt;    ... additional processing on SPWeb ...&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Best Practice #&lt;span style="font-family:monospace;"&gt;6:&lt;/span&gt;&lt;/span&gt; An exception to the rule is that One should not explicitly dispose &lt;span style="font-weight: bold;"&gt;SPSite.RootWeb&lt;/span&gt;, as it is automatically disposed off.&lt;br /&gt;&lt;br /&gt;Similary one should not explicity dispose &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;SPContext.Current.Site and SPContext.Current.Web &lt;/span&gt;as they are handles automatically by Sharepoint and .NET framework.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Bad Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; SPContextBADPractice()&lt;br /&gt;{&lt;br /&gt; SPSite siteCollection = SPContext.Current.Site;&lt;br /&gt; siteCollection.Dispose(); &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;// DO NOT DO THIS&lt;/span&gt;&lt;br /&gt; SPWeb web = SPContext.Current.Web;&lt;br /&gt; web.Dispose(); &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;// DO NOT DO THIS&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Good Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; SPContextBestPractice()&lt;br /&gt;{&lt;br /&gt; SPSite siteCollection = SPContext.Current.Site;&lt;br /&gt; SPWeb web = SPContext.Current.Web;&lt;br /&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;// Do NOT call Dispose()&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;pre class="libCScode" style="white-space: pre-wrap;" id="ctl00_rs1_mainContentContainer_ctl05CSharp" space="preserve"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Best Practice #&lt;span style="font-family:monospace;"&gt;7: SPControl.GetContextSite(Context) and GetContextWeb(Context)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:monospace;"&gt; return SPSite and SPWeb respectively, they do not need an explicit call to &lt;span style="font-weight: bold;"&gt;Dispose()&lt;/span&gt;, they will be disposed automatically&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;C# Bad Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; SPControlBADPractice()&lt;br /&gt;{&lt;br /&gt; SPSite siteCollection = SPControl.GetContextSite(Context);&lt;br /&gt; siteCollection.Dispose();   &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;// DO NOT DO THIS&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; SPWeb web = SPControl.GetContextWeb(Context);&lt;br /&gt; web.Dispose();  &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;// DO NOT DO THIS&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Good Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; SPControlBestPractice()&lt;br /&gt;{&lt;br /&gt; SPSite siteCollection = SPControl.GetContextSite(Context);&lt;br /&gt; SPWeb web = SPControl.GetContextWeb(Context);&lt;br /&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;// Do NOT call Dispose()&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Best Practice #&lt;span style="font-family:monospace;"&gt;8: SPWeb.ParentWeb &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:monospace;"&gt; returns SPWeb, and needs to be disposed off explicitly&lt;/span&gt;&lt;/span&gt; using either Dispose() or the using clause&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Bad Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; ParentWebLeak()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb outerWeb = siteCollection.OpenWeb())&lt;br /&gt;     {&lt;br /&gt;         SPWeb parentWeb = outerWeb.ParentWeb; &lt;span style="color: rgb(0, 128, 0);"&gt;// Internal reference to SPWeb parentWeb&lt;/span&gt;&lt;br /&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; sTitle = parentWeb.Title;&lt;br /&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; sUrl = parentWeb.Url;&lt;br /&gt;         &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;strong&gt;// SPWeb object parentWeb leaked&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;     } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object outerWeb.Dispose() automatically called&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Good Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; ParentWebBestPractice()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb outerWeb = siteCollection.OpenWeb())&lt;br /&gt;     {&lt;br /&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb parentWeb = outerWeb.ParentWeb) &lt;span style="color: rgb(0, 128, 0);"&gt;// Internal reference to SPWeb parentWeb&lt;/span&gt;&lt;br /&gt;         {&lt;br /&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; sTitle = parentWeb.Title;&lt;br /&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; sUrl = parentWeb.Url;&lt;br /&gt;         } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object parentWeb.Dispose() automatically called&lt;/span&gt;&lt;br /&gt;     } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object outerWeb.Dispose() automatically called&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Best Practice #&lt;span style="font-family:monospace;"&gt;9: SPWeb.Webs&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:monospace;"&gt; returns an &lt;span style="font-weight: bold;"&gt;SPWeb&lt;/span&gt; object&lt;/span&gt;&lt;/span&gt;, practically used in drilling down sub-sites within a Site&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Bad Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; WebsLeak()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb outerWeb = siteCollection.OpenWeb())&lt;br /&gt;     {&lt;br /&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (SPWeb innerWeb &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; outerWeb.Webs)&lt;br /&gt;         {&lt;br /&gt;             &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;// SPWeb innerWeb leak&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;         }&lt;br /&gt;     } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object outerWeb.Dispose() automatically called&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Good Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; WebsBestPractice()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb outerWeb = siteCollection.OpenWeb())&lt;br /&gt;     {&lt;br /&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (SPWeb innerWeb &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; outerWeb.Webs)&lt;br /&gt;         {&lt;br /&gt;             innerWeb.Dispose();&lt;br /&gt;         }&lt;br /&gt;     } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object outerWeb.Dispose() automatically called&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Best Practice #10: &lt;/span&gt;&lt;strong&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spsite.allwebs.aspx" target="_blank"&gt;AllWebs[]&lt;/a&gt;&lt;/strong&gt; Indexer returns &lt;strong&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spweb.aspx" target="_blank"&gt;SPWeb&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;object that needs to be disposed to avoid aggregation of memory which&lt;br /&gt;can lead to memory pressure when running on a site collection with&lt;br /&gt;large number of sub sites. Practically used in Enumerating or iterating all webs in a site collection.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Bad Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; AllWebsForEachLeakBestPractices()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb outerWeb = siteCollection.OpenWeb())&lt;br /&gt;     {&lt;br /&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (SPWeb innerWeb &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; siteCollection.AllWebs)&lt;br /&gt;         {&lt;br /&gt;             &lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; // Explicit Dispose must be called to avoid aggregation of memory&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;         }&lt;br /&gt;     } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object outerWeb.Dispose() automatically called&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Good Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; AllWebsForEachLeakBestPractices()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb outerWeb = siteCollection.OpenWeb())&lt;br /&gt;     {&lt;br /&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (SPWeb innerWeb &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; siteCollection.AllWebs)&lt;br /&gt;         {&lt;br /&gt;             innerWeb.Dispose()&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;;   // Explicit Dispose must be called to avoid aggregation of memory&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;         }&lt;br /&gt;     } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object outerWeb.Dispose() automatically called&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Bad Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; AllWebsIndexerLeak()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     SPWeb web = siteCollection.AllWebs[0];&lt;br /&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;// SPWeb web leaked&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Good Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; AllWebsIndexerBestPractice()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb web = siteCollection.AllWebs[0])&lt;br /&gt;     {&lt;br /&gt;     } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object web.Dispose() automatically called&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Best Practice #11&lt;/span&gt;: &lt;strong&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spwebcollection.add.aspx" target="_blank"&gt;AllWebs.Add()&lt;/a&gt;&lt;/strong&gt; returns a instance of &lt;strong&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spweb.aspx" target="_blank"&gt;SPWeb&lt;/a&gt;&lt;/strong&gt; object which needs to be disposed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Bad Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; AllWebsAddLeak()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     SPWeb web = siteCollection.AllWebs.Add(&lt;span style="color: rgb(0, 96, 128);"&gt;"site-relative URL"&lt;/span&gt;);&lt;br /&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;// SPWeb web Leaked&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Good Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; AllWebsAddBestPractice()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb web = siteCollection.AllWebs.Add(&lt;span style="color: rgb(0, 96, 128);"&gt;"site-relative URL"&lt;/span&gt;))&lt;br /&gt;     {&lt;br /&gt;     } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object web.Dispose() automatically called&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Best Practice #12:&lt;/span&gt; &lt;strong&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms473155.aspx" target="_blank"&gt;OpenWeb()&lt;/a&gt;&lt;/strong&gt; returns a &lt;strong&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spweb.aspx" target="_blank"&gt;SPWeb&lt;/a&gt;&lt;/strong&gt; object which needs to be disposed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Bad Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; OpenWebLeak()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb web = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(SPContext.Current.Web.Url).OpenWeb())&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;// SPSite leaked !&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object web.Dispose() automatically called&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Good Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; OpenWebBestPractice()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPWeb web = siteCollection.OpenWeb())&lt;br /&gt;     {&lt;br /&gt;     } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPWeb object web.Dispose() automatically called&lt;/span&gt;&lt;br /&gt; }  &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Best Practice #13:&lt;/span&gt;&lt;strong&gt;new &lt;a href="http://msdn2.microsoft.com/en-us/library/ms462369.aspx" target="_blank"&gt;SPSite()&lt;/a&gt;&lt;/strong&gt; - Instantiating &lt;strong&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms462369.aspx" target="_blank"&gt;SPSite&lt;/a&gt;&lt;/strong&gt; objects with the &lt;strong&gt;new&lt;/strong&gt; operator needs to be disposed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Bad Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; CreatingSPSiteLeak()&lt;br /&gt;{&lt;br /&gt; SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;);&lt;br /&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;// siteCollection leaked&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C# Good Coding Practice Snippet:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; CreatingSPSiteExplicitDisposeBestPractice()&lt;br /&gt;{&lt;br /&gt; SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;);&lt;br /&gt; siteCollection.Dispose();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; CreatingSPSiteWithAutomaticDisposeBestPractice()&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (SPSite siteCollection = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SPSite(&lt;span style="color: rgb(0, 96, 128);"&gt;"http://moss"&lt;/span&gt;))&lt;br /&gt; {&lt;br /&gt; } &lt;span style="color: rgb(0, 128, 0);"&gt;// SPSite object siteCollection.Dispose() automatically called&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Sources: Compiled from &lt;a href="http://msdn.microsoft.com/en-us/library/aa973248.aspx#sharepointobjmodel__codingtechniques"&gt;MSDN&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/rogerla/archive/2008/02/12/sharepoint-2007-and-wss-3-0-dispose-patterns-by-example.aspx"&gt;Roger Lamb's blog site&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you find the Coding practices helpfull, please drop in your valuable comments...&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-1075380750172840397?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tCtXPWM6uME:ooNQmQmDMec:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tCtXPWM6uME:ooNQmQmDMec:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tCtXPWM6uME:ooNQmQmDMec:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=tCtXPWM6uME:ooNQmQmDMec:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tCtXPWM6uME:ooNQmQmDMec:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=tCtXPWM6uME:ooNQmQmDMec:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tCtXPWM6uME:ooNQmQmDMec:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=tCtXPWM6uME:ooNQmQmDMec:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/tCtXPWM6uME" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/tCtXPWM6uME/best-practices-disposing-sharepoint.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2008/12/best-practices-disposing-sharepoint.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-4431084414299265114</guid><pubDate>Sun, 14 Dec 2008 14:25:00 +0000</pubDate><atom:updated>2008-12-14T07:42:36.754-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SQL Exception while applying WSS Service Pack 1</category><category domain="http://www.blogger.com/atom/ns#">WSS 3.0 Service Pack 1 installation error</category><title>SQL Exception while applying WSS Service Pack 1</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Og400caiuNny-_atDcD2qD6UkRo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Og400caiuNny-_atDcD2qD6UkRo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Og400caiuNny-_atDcD2qD6UkRo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Og400caiuNny-_atDcD2qD6UkRo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;Its been a long busy month, actually i am working on our company's Intranet portal, its an end-to-end implementation, so we started right from scratch and iteration 1 is about to complete and we are nearing the virgin roll-out.&lt;br /&gt;&lt;br /&gt;I was actually applying the WSS Service Pack 1 on our Test environment and it bombed the site, luckily i had taken the full back-up of my site collection with Content database using stsadm, (click here for more information how to take back-ups and restore the entire site collection using STSADM utility)&lt;br /&gt;&lt;br /&gt;Immediately as i was applying the WSS 3.0 SP 1 update, the configuration wizard threw this nasty error :&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;I tried out the following tricks&lt;span style="font-weight: bold;"&gt; (Source: MSDN)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;h3 id="tocHeadRef"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Enable remote connections for SQL Server 2005 Express or SQL Server 2005 Developer Edition&lt;/span&gt;&lt;/h3&gt; &lt;ol  style="font-family:arial;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click &lt;strong class="uiterm"&gt;Start&lt;/strong&gt;, point to &lt;strong class="uiterm"&gt;Programs&lt;/strong&gt;, point to &lt;strong class="uiterm"&gt;Microsoft SQL Server 2005&lt;/strong&gt;, point to &lt;strong class="uiterm"&gt;Configuration Tools&lt;/strong&gt;, and then click &lt;strong class="uiterm"&gt;SQL Server Surface Area Configuration&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;On the &lt;strong class="uiterm"&gt;SQL Server 2005 Surface Area Configuration&lt;/strong&gt; page, click &lt;strong class="uiterm"&gt;Surface Area Configuration for Services and Connections&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;On the &lt;strong class="uiterm"&gt;Surface Area Configuration for Services and Connections&lt;/strong&gt; page, expand &lt;strong class="uiterm"&gt;Database Engine&lt;/strong&gt;,  click &lt;strong class="uiterm"&gt;Remote Connections&lt;/strong&gt;, click &lt;strong class="uiterm"&gt;Local and remote connections&lt;/strong&gt;, click the appropriate protocol to enable for your environment, and then click &lt;strong class="uiterm"&gt;Apply&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; Click &lt;strong class="uiterm"&gt;OK&lt;/strong&gt; when you receive the following message:&lt;/span&gt;&lt;div class="message"&gt;&lt;span style="font-size:100%;"&gt;Changes to Connection Settings will not take effect until you restart the Database Engine service.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;On the &lt;strong class="uiterm"&gt;Surface Area Configuration for Services and Connections&lt;/strong&gt; page, expand &lt;strong class="uiterm"&gt;Database Engine&lt;/strong&gt;,  click &lt;strong class="uiterm"&gt;Service&lt;/strong&gt;, click &lt;strong class="uiterm"&gt;Stop&lt;/strong&gt;, wait until the MSSQLSERVER service stops, and then click &lt;strong class="uiterm"&gt;Start&lt;/strong&gt; to restart the MSSQLSERVER service.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 id="tocHeadRef"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Enable the SQL Server Browser service&lt;/span&gt;&lt;/h3&gt;&lt;script type="text/javascript"&gt;         loadTOCNode(2, 'moreinformation');       &lt;/script&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;If you are running SQL Server 2005 by using an instance name and you are not using a specific TCP/IP port number in your connection string, you must enable the SQL Server Browser service to allow for remote connections. For example, SQL Server 2005 Express is installed with a default instance name of &lt;var&gt;Computer Name&lt;/var&gt;\SQLEXPRESS. You are only required to enable the SQL Server Browser service one time, regardless of how many instances of SQL Server 2005 you are running. To enable the SQL Server Browser service, follow these steps.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Important&lt;/b&gt; These steps may increase your security risk. These steps may also make your computer or your network more vulnerable to attack by malicious users or by malicious software such as viruses. We recommend the process that this article describes to enable programs to operate as they are designed to, or to implement specific program capabilities. Before you make these changes, we recommend that you evaluate the risks that are associated with implementing this process in your particular environment. If you choose to implement this process, take any appropriate additional steps to help protect your system. We recommend that you use this process only if you really require this process.&lt;/span&gt;&lt;ol  style="font-family:arial;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click &lt;strong class="uiterm"&gt;Start&lt;/strong&gt;, point to &lt;strong class="uiterm"&gt;Programs&lt;/strong&gt;, point to &lt;strong class="uiterm"&gt;Microsoft SQL Server 2005&lt;/strong&gt;, point to &lt;strong class="uiterm"&gt;Configuration Tools&lt;/strong&gt;, and then click &lt;strong class="uiterm"&gt;SQL Server Surface Area Configuration&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;On the &lt;strong class="uiterm"&gt;SQL Server 2005 Surface Area Configuration&lt;/strong&gt; page, click &lt;strong class="uiterm"&gt;Surface Area Configuration for Services and Connections&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;On the &lt;strong class="uiterm"&gt;Surface Area Configuration for Services and Connections&lt;/strong&gt; page, click &lt;strong class="uiterm"&gt;SQL Server Browser&lt;/strong&gt;, click &lt;strong class="uiterm"&gt;Automatic&lt;/strong&gt; for &lt;strong class="uiterm"&gt;Startup type&lt;/strong&gt;, and then click &lt;strong class="uiterm"&gt;Apply&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; When you click the &lt;strong class="uiterm"&gt;Automatic&lt;/strong&gt; option, the SQL Server Browser service starts automatically every time that you start Microsoft Windows.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click &lt;strong class="uiterm"&gt;Start&lt;/strong&gt;, and then click &lt;strong class="uiterm"&gt;OK&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;b&gt;Note&lt;/b&gt; When you run the SQL Server Browser service on a computer, the computer displays the instance names and the connection information for each instance of SQL Server that is running on the computer. This risk can be reduced by not enabling the SQL Server Browser service and by connecting to the instance of SQL Server directly through an assigned TCP port. Connecting directly to an instance of SQL Server through a TCP port is beyond the scope of this article. For more information about the SQL Server Browser server and connecting to an instance of SQL Server, see the following topics in SQL Server Books Online: &lt;/span&gt;&lt;ul  style="font-family:arial;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;SQL Server Browser Service&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Connecting to the SQL Server Database Engine&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Client Network Configuration&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="tocHeadRef"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Create exceptions in Windows Firewall&lt;/span&gt;&lt;/h3&gt;&lt;script type="text/javascript"&gt;         loadTOCNode(2, 'moreinformation');       &lt;/script&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;These steps apply to the version of Windows Firewall that is included in Windows XP Service Pack 2 (SP2) and in Windows Server 2003. If you are using a different firewall system, see your firewall documentation for more information.&lt;br /&gt;&lt;br /&gt;If you are running a firewall on the computer that is running SQL Server 2005, external connections to SQL Server 2005 will be blocked unless SQL Server 2005 and the SQL Server Browser service can communicate through the firewall. You must create an exception for each instance of SQL Server 2005 that you want to accept remote connections and an exception for the SQL Server Browser service.&lt;br /&gt;&lt;br /&gt;SQL Server 2005 uses an instance ID as part of the path when you install its program files. To create an exception for each instance of SQL Server, you must identify the correct instance ID. To obtain an instance ID, follow these steps:&lt;/span&gt;&lt;ol  style="font-family:arial;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click &lt;strong class="uiterm"&gt;Start&lt;/strong&gt;, point to &lt;strong class="uiterm"&gt;Programs&lt;/strong&gt;, point to &lt;strong class="uiterm"&gt;Microsoft SQL Server 2005&lt;/strong&gt;, point to &lt;strong class="uiterm"&gt;Configuration Tools&lt;/strong&gt;, and then click &lt;strong class="uiterm"&gt;SQL Server Configuration Manager&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;In SQL Server Configuration Manager, click the SQL Server Browser service in the right pane, right-click the instance name in the main window, and then click &lt;strong class="uiterm"&gt;Properties&lt;/strong&gt;. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;On the &lt;strong class="uiterm"&gt;SQL Server Browser Properties&lt;/strong&gt; page, click the &lt;strong class="uiterm"&gt;Advanced&lt;/strong&gt; tab, locate the instance ID in the property list, and then click &lt;strong class="uiterm"&gt;OK&lt;/strong&gt;. &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;To open Windows Firewall, click &lt;strong class="uiterm"&gt;Start&lt;/strong&gt;, click &lt;strong class="uiterm"&gt;Run&lt;/strong&gt;, type &lt;span class="userInput"&gt;firewall.cpl&lt;/span&gt;, and then click &lt;strong class="uiterm"&gt;OK&lt;/strong&gt;. &lt;/span&gt;&lt;h4 id="tocHeadRef"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Create an exception for SQL Server 2005 in Windows Firewall&lt;/span&gt;&lt;/h4&gt;&lt;script type="text/javascript"&gt;       loadTOCNode(3, 'moreinformation');     &lt;/script&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;To create an exception for SQL Server 2005 in Windows Firewall, follow these steps:&lt;/span&gt;&lt;ol  style="font-family:arial;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;In Windows Firewall, click the &lt;strong class="uiterm"&gt;Exceptions&lt;/strong&gt; tab, and then click &lt;strong class="uiterm"&gt;Add Program&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;In the Add a Program window, click &lt;strong class="uiterm"&gt;Browse&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt; Click the C:\Program Files\Microsoft SQL Server\&lt;var&gt;MSSQL.1&lt;/var&gt;\MSSQL\Binn\sqlservr.exe executable program, click &lt;strong class="uiterm"&gt;Open&lt;/strong&gt;, and then click &lt;strong class="uiterm"&gt;OK&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; The path may be different depending on where SQL Server 2005 is installed. &lt;var&gt;MSSQL.1&lt;/var&gt; is a placeholder for the instance ID that you obtained in step 3  of the previous procedure.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Repeat steps 1 through 3 for each instance of SQL Server 2005 that needs an exception. &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4 id="tocHeadRef"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Create an exception for the SQL Server Browser service in Windows Firewall&lt;/span&gt;&lt;/h4&gt;&lt;script type="text/javascript"&gt;       loadTOCNode(3, 'moreinformation'&lt;/script&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;To create an exception for the SQL Server Browser service in Windows Firewall, follow these steps:&lt;/span&gt;&lt;ol  style="font-family:arial;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;In Windows Firewall, click the &lt;strong class="uiterm"&gt;Exceptions&lt;/strong&gt; tab, and then click &lt;strong class="uiterm"&gt;Add Program&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;In the Add a Program window, click &lt;strong class="uiterm"&gt;Browse&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click the C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe executable program, click &lt;strong class="uiterm"&gt;Open&lt;/strong&gt;, and then click &lt;strong class="uiterm"&gt;OK&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; The path may be different depending on where SQL Server 2005 is installed         See the actual implementation of the same by Pinal Dave at:&lt;a href="http://blog.sqlauthority.com/2008/08/09/sql-server-fix-error-1326-cannot-connect-to-database-server-error-40-could-not-open-a-connection-to-sql-server/"&gt; &lt;span style="font-weight: bold;"&gt;http://blog.sqlauthority.com/2008/08/09/sql-server-fix-error-1326-cannot-connect-to-database-server-error-40-could-not-open-a-connection-to-sql-server/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;I verified all of the above, but all in vain..&lt;br /&gt;.&lt;br /&gt;I checked the Event Viewer and it told me something else in addition to above,&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt;The reason I get the errors is that the content databases are not at the same version as the application files causing an inability for SharePoint to read the database. Fortunately, you can solve this by running a nice little &lt;span style="font-weight: bold;"&gt;stsadm&lt;/span&gt; command:&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;so here is what i did,&lt;br /&gt;went to the Command prompt mode, typed the path of the12 Hive,  i.e : &lt;span style="font-weight: bold;"&gt;cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN&lt;/span&gt;), then gave the following command,&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;stsadm.exe -o upgrade -forceupgrade -inplace&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After Operation successfull completed message, Do an &lt;span style="font-weight: bold;"&gt;iisreset&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Everything started worked beautifully like before. It was another gruilling day of the already hectic month, i immediately made up my mind on writing this article, so as to save my readers from hours of googling and needless stress.&lt;br /&gt;&lt;br /&gt;In case, your issue is not resolved, try this: &lt;span style="font-weight: bold;"&gt;http://support.microsoft.com/kb/934838/en-us&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-4431084414299265114?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=HaaEn6aNURw:wVz_iNgWuHw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=HaaEn6aNURw:wVz_iNgWuHw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=HaaEn6aNURw:wVz_iNgWuHw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=HaaEn6aNURw:wVz_iNgWuHw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=HaaEn6aNURw:wVz_iNgWuHw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=HaaEn6aNURw:wVz_iNgWuHw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=HaaEn6aNURw:wVz_iNgWuHw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=HaaEn6aNURw:wVz_iNgWuHw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/HaaEn6aNURw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/HaaEn6aNURw/sql-exception-while-applying-wss.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2008/12/sql-exception-while-applying-wss.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-884419730934585271</guid><pubDate>Sun, 23 Nov 2008 09:42:00 +0000</pubDate><atom:updated>2008-11-25T11:00:24.954-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">submit Infopath form sharepoint list</category><title>Submit Infopath form to Sharepoint list</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xFIrbHzN3N2dsf8pURSFsi_367I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xFIrbHzN3N2dsf8pURSFsi_367I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xFIrbHzN3N2dsf8pURSFsi_367I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xFIrbHzN3N2dsf8pURSFsi_367I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;As you know, submitting to a Microsoft Windows SharePoint form library from an InfoPath form is quite simple: just add a “submit” type of data connection to InfoPath and away you go. However, submitting to a SharePoint List is another matter. In this post, we will take a look at the steps necessary to enable this functionality. &lt;/span&gt;    &lt;div class="postcontent"  style="font-family:arial;"&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;u&gt;Step 1: Create the list&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;1. Create a new custom list named: MyContacts&lt;br /&gt;2. From the Settings button choose List Settings&lt;br /&gt;3. Click Create Column&lt;br /&gt;4. Add the following columns/data types:&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;FirstName, Single line of text&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;LastName, Single line of text&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Email, Single line of text&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Phone, Single line of text&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;The next step is to create a Collaborative Application Markup Language (CAML) template that contains the same XML nodes as the columns we added to our list – this will be used as a secondary data connection in the InfoPath Form Template.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;u&gt;Step 2: Create the CAML template&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;1. Launch Notepad (or any text editor)&lt;br /&gt;2. Copy and paste the following code to the Notepad document&lt;/span&gt;&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_x_mtoaEl5Us/SSxLMwFGtzI/AAAAAAAAAM8/4K6V9PgJVI4/s1600-h/XML+Code.bmp"&gt;&lt;img style="cursor: pointer; width: 320px; height: 139px;" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/SSxLMwFGtzI/AAAAAAAAAM8/4K6V9PgJVI4/s320/XML+Code.bmp" alt="" id="BLOGGER_PHOTO_ID_5272671946180835122" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;batch onerror="Continue"&gt;&lt;/batch&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;method id="1" cmd="New"&gt;&lt;/method&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;field name="Title"&gt;&lt;/field&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;field name="FirstName"&gt;&lt;/field&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;field name="LastName"&gt;&lt;/field&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;field name="Email"&gt;&lt;/field&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;3. Save this as: Add List Item Template.xml&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;u&gt;Step 3: Create the InfoPath Form Template&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;1. Create a new, blank, browser-compatible form template&lt;br /&gt;2. Add a “Receive” type secondary data connection to the Add List Item Template.xml file created in Step #2. (Make sure the options “Include the data as a resource file in the form template” and “Automatically retrieve data when the form is opened” are enabled.)&lt;br /&gt;3. Add a “Receive” type secondary data connection to the “MyContacts” SharePoint List created in Step #1 and make sure the option “Automatically retrieve data when the form is opened” is enabled.&lt;br /&gt;NOTE: Be sure to include the “Title” field along with the custom fields we created. &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Each SharePoint list is created with a unique identifier called a GUID. In order to submit items to a SharePoint list, you must know the unique GUID for that list. These next steps will enable you to identify the GUID for your “MyContacts” list.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;u&gt;Step 4: Identify the list GUID&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;1. Open a browser and navigate to the MyContacts list&lt;br /&gt;2. From the Settings menu choose List Settings&lt;br /&gt;3. In the browser’s address bar you will see the URL appended with “List=”&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B3%5D.png" mce_href="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B3%5D.png" atomicselection="true"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image_thumb%5B3%5D.png" mce_src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image_thumb%5B3%5D.png" width="439" height="47" /&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p mce_keep="true"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;4. Copy everything after the equals sign and paste this into a text editor as we will need this value later on.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;NOTE: We will need the list GUID to be formatted as “{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”. If your GUID appears as above with the hyphens and braces “escaped” (i.e. %7B for the braces and %2D for the hyphens) then you will need to replace the escaped characters with the braces and hyphens so when we use this GUID later, it will appear as: {1E76517B-2C36-4473-A420-A737D98589BC} &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;u&gt;Step 5: Add controls to the InfoPath Form Template&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;1. Open the Data Source Task Pane&lt;br /&gt;2. From the Data Source dropdown box choose the “MyContacts” connection&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B7%5D.png" mce_src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B7%5D.png" width="286" height="267" /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;3. Right-click on “MyContacts” and choose Repeating Table – this will add a repeating table bound to that connection to your View&lt;br /&gt;4. From the Data Source dropdown box choose Main&lt;br /&gt;5. Add a text box to the “myFields” node named: ListName and set the Default Value property to the GUID value of your list – we will use this node to specify the list when we perform the Submit operation&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B12%5D.png" mce_src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B12%5D.png" width="428" height="371" /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p mce_keep="true"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;To update the SharePoint list we will be using the “&lt;b&gt;UpdateListItems&lt;/b&gt;” method of the SharePoint “lists.asmx” web service. This web method requires a couple of parameters (the list name and what gets updated) – now that we have added the “ListName” node which contains the GUID and we have the Add List Item Template XML data connection which describes our data structure we have all the necessary information to add the “UpdateListItems” web method! &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;u&gt;Step 6: Add the “lists.asmx” web service&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;1. Add a new “Submit” type of web service data connection to the “lists.asmx” web service – this is typically located at: &lt;a href="http://servername/_vti_bin/lists.asmx" mce_href="http://servername/_vti_bin/lists.asmx"&gt;http://servername/_vti_bin/lists.asmx&lt;/a&gt;&lt;br /&gt;2. Select the “UpdateListItems” operation&lt;br /&gt;3. Double-click the “listname” parameter and assign the “my:ListName” node as the value&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B15%5D.png" mce_href="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B15%5D.png" atomicselection="true"&gt;&lt;img style="border: 0px none ;" src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image_thumb%5B11%5D.png" mce_src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image_thumb%5B11%5D.png" width="476" border="0" height="325" /&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;4. Double-click the “updates” parameter, select the “Add list Item Parameter” data source, select “Batch” and click OK&lt;br /&gt;5. For the “Include” option select “XML subtree, including selected element” &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B18%5D.png" mce_href="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B18%5D.png" atomicselection="true"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image_thumb%5B14%5D.png" mce_src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image_thumb%5B14%5D.png" width="480" height="328" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;6. Complete the Data Connection Wizard&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Now that we have all the connections that are required, we now need to add the “submit” functionality to the form template.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;u&gt;Step 7: Add Submit functionality&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;1. Display the Data Source Task Pane&lt;br /&gt;2. From the Data Source dropdown box choose the Add List Item Template data connection&lt;br /&gt;3. Drill down through the data source, right-click on the Field node and choose Repeating Table&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B23%5D.png" mce_src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B23%5D.png" width="290" height="301" /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p mce_keep="true"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;We need to change the text box control in the “Name” column to Read-only – if these values were to be changed it would affect the CAML and the submit would fail.&lt;br /&gt;• Double-click on the text box in the Name column of the Repeating Table&lt;br /&gt;• Select the Display tab&lt;br /&gt;• Enable the Read-only property and click OK&lt;br /&gt;• Add a new Button control to the View&lt;br /&gt;• Double-click the button to display the Properties&lt;br /&gt;• Click the Submit Options button&lt;br /&gt;• Enable the option “Allow users to submit this form”&lt;br /&gt;• Enable the option “Perform custom action using Rules” and click the Rules button&lt;br /&gt;• Click the Add button&lt;br /&gt;• Click the Add Action button&lt;br /&gt;• From the Action dropdown box choose “Submit using a data connection”, select the “Web Service Submit” data connection and click OK&lt;br /&gt;• Click the Add Action button&lt;br /&gt;• From the Action dropdown box choose “Query using a data connection”, select the “MyContacts” data connection and click OK (this will automatically refresh the list in InfoPath so you can see the newly added record) &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B28%5D.png" mce_src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B28%5D.png" width="447" height="280" /&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;• Click OK until you are back to your form  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;NOTE: If you want to automatically clear out the submitted values, add another action to this Rule to “Set a field’s value” and the only option you need to specify is the “Field” option – select the “Field” node from the “Add List Item Template” data connection and then simply leave the Value option blank. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;u&gt;Step 8: Test!&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;1. Click the Preview button to preview the form&lt;br /&gt;2. Fill in values for each of the fields: Title, First Name, Last Name, E-mail and Phone&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B33%5D.png" mce_src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B33%5D.png" width="460" height="232" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;3. Click the Submit button – the contact information should be submitted successfully and the “MyContacts” list automatically updated!&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B38%5D.png" mce_src="http://blogs.msdn.com/blogfiles/infopath/WindowsLiveWriter/SubmittingtoaSharePointList_C639/image%5B38%5D.png" width="422" height="267" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Courtesy : &lt;a href="http://blogs.msdn.com/infopath/archive/2007/03/26/submitting-to-a-sharepoint-list.aspx"&gt;MSDN&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-884419730934585271?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=L9hu3Uc-8rg:Q-IWwIvsrTE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=L9hu3Uc-8rg:Q-IWwIvsrTE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=L9hu3Uc-8rg:Q-IWwIvsrTE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=L9hu3Uc-8rg:Q-IWwIvsrTE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=L9hu3Uc-8rg:Q-IWwIvsrTE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=L9hu3Uc-8rg:Q-IWwIvsrTE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=L9hu3Uc-8rg:Q-IWwIvsrTE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=L9hu3Uc-8rg:Q-IWwIvsrTE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/L9hu3Uc-8rg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/L9hu3Uc-8rg/submit-infopath-form-to-sharepoint-list.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_x_mtoaEl5Us/SSxLMwFGtzI/AAAAAAAAAM8/4K6V9PgJVI4/s72-c/XML+Code.bmp" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2008/11/submit-infopath-form-to-sharepoint-list.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-5521075297355356700</guid><pubDate>Sun, 23 Nov 2008 09:09:00 +0000</pubDate><atom:updated>2008-11-23T01:10:51.815-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CAML builder tool download install</category><title>CAML Builder Tool</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2vLrKDxLywCO9yheYKfPGzssfWM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2vLrKDxLywCO9yheYKfPGzssfWM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2vLrKDxLywCO9yheYKfPGzssfWM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2vLrKDxLywCO9yheYKfPGzssfWM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;U2U recently released a new version of CAML Builder tool, download it from here:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://www.u2u.info/Blogs/karine/Lists/Posts/Post.aspx?ID=30"&gt;http://www.u2u.info/Blogs/karine/Lists/Posts/Post.aspx?ID=30&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;New features include:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-family: arial;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Code snippet generation  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;DateTime&lt;/strong&gt; enhancements  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Query options for SPQuery  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Enhancements for Calendar lists&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-5521075297355356700?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=omS4agfckI4:slNhnYybPVc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=omS4agfckI4:slNhnYybPVc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=omS4agfckI4:slNhnYybPVc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=omS4agfckI4:slNhnYybPVc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=omS4agfckI4:slNhnYybPVc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=omS4agfckI4:slNhnYybPVc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=omS4agfckI4:slNhnYybPVc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=omS4agfckI4:slNhnYybPVc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/omS4agfckI4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/omS4agfckI4/caml-builder-tool.html</link><author>mehul.bhuva@gmail.com (Mehul Bhuva)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2008/11/caml-builder-tool.html</feedburner:origLink></item></channel></rss>
