<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2899445787685954966</id><updated>2012-02-16T03:53:06.239-08:00</updated><category term='Speaking Enggagements'/><category term='Publishing'/><category term='Administration Updates'/><category term='Errors'/><category term='Web Services'/><category term='SharePoint'/><category term='Migration'/><category term='Technical Architecture'/><category term='SharePoint 2003'/><category term='SharePoint 2010'/><category term='Search'/><category term='Theams'/><category term='SOA'/><category term='Best Practices'/><category term='Virtulization'/><category term='Programming'/><category term='Limitations'/><category term='Administration'/><category term='JQuery'/><category term='Custom Fields'/><category term='Simple.master'/><category term='JavaScripts'/><category term='Charts'/><category term='WebParts'/><category term='Upgrade'/><category term='Features'/><category term='Resources'/><category term='GAC'/><category term='SharePoint Foundation 2010'/><category term='Tools'/><category term='Debugging'/><category term='Event Log'/><category term='Audience Compilation'/><category term='Welcome Menu'/><category term='Validations'/><category term='Documentation'/><category term='Tricks'/><category term='branding'/><category term='Optimization'/><title type='text'>Hemendra Patel</title><subtitle type='html'>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.linkedin.com/in/hemendrapatel"&gt; View my Full Profile&lt;/a&gt; &lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.linkedin.com/groups?gid=93094"&gt;Join my Group on LikedIn &amp;quot;SharePoint - Enterprise Architects&amp;quot; - 3600+ Architects, 20+ MVPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Follow me on Twitter @hemsoft2010&lt;/li&gt;
&lt;/ul&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>51</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-7116878829434918007</id><published>2012-01-13T19:41:00.000-08:00</published><updated>2012-01-13T19:41:06.103-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Foundation 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='branding'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='WebParts'/><title type='text'>Hide the Quick Launch in SharePoint 2010</title><content type='html'>If you like a welcome page of portal or selected pages without Quick Launch and the Tree View navigation&amp;nbsp;then the easiest way is to implement the solution is to use the content editor web.&lt;br /&gt;
&lt;br /&gt;
This solution is called micro solution which do not need code and uses content editor to insert style code embeded on the pages. Follow steps below to implement solution.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Step 1.&lt;/strong&gt; Open Page in edit mode where you do not need Quick Launch Menu&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Step 2&lt;/strong&gt;. Click on "Insert" --&amp;gt; Web Part to insert new web part on the page and select Content Editor web Part from "Media and Content" category on the page&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Step 3.&lt;/strong&gt; Add following text in the HTML Source mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
/*--Hide Quick Launch --*/&lt;br /&gt;
&amp;nbsp;#s4-leftpanel{&lt;br /&gt;
&amp;nbsp;display:none&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;.s4-ca{&lt;br /&gt;
&amp;nbsp;margin-left:0px&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Step 4.&lt;/strong&gt; Save Changes and Browse the page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-7116878829434918007?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/7116878829434918007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=7116878829434918007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7116878829434918007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7116878829434918007'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2012/01/hide-quick-launch-in-sharepoint-2010.html' title='Hide the Quick Launch in SharePoint 2010'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-1724224642945032277</id><published>2012-01-12T20:03:00.000-08:00</published><updated>2012-01-12T20:03:41.317-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='branding'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Remove Site Actions Menu for users</title><content type='html'>Remove “Site Actions” for users based&amp;nbsp;on&amp;nbsp;their&amp;nbsp;permissions&lt;br /&gt;
&lt;strong&gt;Step 1:&lt;/strong&gt; Open the master page attached for your site into SharePoint Designer 2010/Visual Studio or Notepad&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Step 2:&lt;/strong&gt; Search for "&amp;lt;SharePoint:SiteActions" Text&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Step 3:&lt;/strong&gt; Now, Just before &amp;lt;SharePoint:SiteActions&amp;gt;.. Add following line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SharePoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl2" runat="server" PermissionsString="ManageSubwebs"&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Step 4&lt;/strong&gt;: Last, find "&amp;lt;/SharePoint:SiteActions" Text and add following line after that&lt;br /&gt;
&amp;lt;/SharePoint:SPSecurityTrimmedControl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, Your updated code will read somewhat as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SharePoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl2" runat="server" PermissionsString="ManageSubwebs"&amp;gt;&lt;br /&gt;
&amp;lt;&amp;lt;SharePoint:SiteActions control text&amp;gt;&amp;gt;&lt;br /&gt;
&amp;lt;/SharePoint:SPSecurityTrimmedControl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Explaination....&lt;/strong&gt;SharePoint:SPSecurityTrimmedControl tag checks the SharePoint permission for user and then it enables content (if allowed). There are many predefined permission strings documented at MSDN (&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spbasepermissions.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spbasepermissions.aspx&lt;/a&gt;) and you can mention more than one in same declaration delimited by comma.&lt;br /&gt;
&lt;br /&gt;
Hope you liked the trick.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-1724224642945032277?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/1724224642945032277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=1724224642945032277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1724224642945032277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1724224642945032277'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2012/01/remove-site-actions-menu-for-users.html' title='Remove Site Actions Menu for users'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-6039080126792786325</id><published>2011-09-26T08:38:00.000-07:00</published><updated>2011-09-26T08:38:53.589-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Simple.master'/><category scheme='http://www.blogger.com/atom/ns#' term='branding'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>SharePoint Branding and simple.master Considerations</title><content type='html'>SharePoint 2010 has&amp;nbsp;few pages that uses its own master page to present data back to users. In this article we are going to talk about those pages and the master page which is responsible for the branding part. &amp;nbsp; &lt;br /&gt;
There are about seven pages within SharePoint 2010 which utilize the simple.master page for rendering content presented without customizations.&lt;br /&gt;
&lt;br /&gt;
And the pages are ...&lt;br /&gt;
&lt;br /&gt;
1. Login.aspx&lt;br /&gt;
2. SignOut.aspx&lt;br /&gt;
3. Error.aspx&lt;br /&gt;
4. ReqAcc.aspx&lt;br /&gt;
5. Confirmation.aspx&lt;br /&gt;
6. WebDeleted.aspx&lt;br /&gt;
7. AccessDenied.aspx&lt;br /&gt;
&lt;br /&gt;
If you are branding SharePoint 2010, I recommend that one should consider strategy for handling these pages as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-6039080126792786325?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/6039080126792786325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=6039080126792786325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/6039080126792786325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/6039080126792786325'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2011/09/sharepoint-branding-and-simplemaster.html' title='SharePoint Branding and simple.master Considerations'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-7678821844257208414</id><published>2011-08-03T18:40:00.000-07:00</published><updated>2011-08-03T18:40:28.101-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='Event Log'/><title type='text'>Fix: TaxonomyPicker.ascx control Error</title><content type='html'>If you have found Windows Event log is Error 7043 indicating an issue with the TaxonomyPicker.ascx control then here are the steps to resolve the issue.&lt;br /&gt;
&lt;br /&gt;
1. using notepad open file located at following location&lt;br /&gt;
&amp;nbsp;&amp;nbsp; C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES\TaxonomyPicker.ascx&lt;br /&gt;
&lt;br /&gt;
2. In the very first line find "&amp;amp;#44;" and replace it with comma ","&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;OLD &lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;%@ Control className="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker&amp;amp;#44;Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;NEW&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;%@ Control className="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker,Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-7678821844257208414?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/7678821844257208414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=7678821844257208414' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7678821844257208414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7678821844257208414'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2011/08/fix-taxonomypickerascx-control-error.html' title='Fix: TaxonomyPicker.ascx control Error'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-3892366343561484868</id><published>2011-06-27T10:29:00.000-07:00</published><updated>2011-06-27T10:29:13.515-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Configuring AD account as Farm Administrator Account</title><content type='html'>If you want to configure newly created&amp;nbsp;AD account as a Farm Administrator Account in SharePoint 2010 Environment then follow the steps below:&lt;br /&gt;
&lt;br /&gt;
1. Create user in Active Directory (e.g. corp\spadmin)&lt;br /&gt;
2. Add created user into WSS_ADMIN_WPG group&lt;br /&gt;
3. Using Central Administration UI&amp;nbsp;add AD User into Farm Administrators&lt;br /&gt;
4. At last, using power shell script execute following&amp;nbsp; command&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Get-SPDatabase | Add-SPShellAdmin -UserName {your User}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; [ In my case command will read like Get-SPDatabase | Add-SPShellAdmin -UserName corp\spadmin ]&lt;br /&gt;
&lt;br /&gt;
Done!!.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-3892366343561484868?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/3892366343561484868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=3892366343561484868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/3892366343561484868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/3892366343561484868'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2011/06/configuring-ad-account-as-farm.html' title='Configuring AD account as Farm Administrator Account'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-5967910709973550994</id><published>2011-06-27T10:23:00.000-07:00</published><updated>2011-06-27T10:23:31.410-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtulization'/><category scheme='http://www.blogger.com/atom/ns#' term='Optimization'/><title type='text'>Triming SQL Server Database Logs</title><content type='html'>&lt;div&gt;Recently, I was working on a Virtual Machine (VM) and noticed that the log file for the SHAREPOINT_CONFIG database had grown to 34 GB in size and similarly other content databases&amp;nbsp; as well.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;My&amp;nbsp;first reaction was this can't be true as it is&amp;nbsp;pretty large considering it is the configuration database. Working on a VM and Virtual Hard Disks (VHD)&amp;nbsp;using a lot of disk space brings lots of unwanted issues.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;So, I decided to fix this using my SQL DBA hat. Just fire up SQL management studio and execute followings:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
ALTER DATABASE [SHAREPOINT_CONFIG] SET RECOVERY SIMPLE WITH NO_WAIT&lt;/div&gt;&lt;div&gt;DBCC SHRINKFILE(SHAREPOINT_CONFIG_LOG, 1)&lt;/div&gt;&lt;div&gt;ALTER DATABASE [SHAREPOINT_CONFIG] SET RECOVERY FULL WITH NO_WAIT&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;As a results, It&amp;nbsp;cleared the log file from 34 GB&amp;nbsp;to less than&amp;nbsp;5 MB.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Just perform a quick check on your environment and see if you can get some of the storage back for a better use.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-5967910709973550994?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/5967910709973550994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=5967910709973550994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5967910709973550994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5967910709973550994'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2011/06/triming-sql-server-database-logs.html' title='Triming SQL Server Database Logs'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-8486967064146089387</id><published>2011-03-15T18:59:00.000-07:00</published><updated>2011-03-15T18:59:04.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Audience Compilation'/><title type='text'>Audience Compilation Issue in SharePoint 2010</title><content type='html'>&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;If you created an Audience, scheduled Compilation and started Compilation of it and nothing happens... then you might want to check status of "User Profile Synchronization Service".&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;You will always see Uncompiled Audiences and no matter how many times you force to Compile Audiences it will not change. It does not show any error!!&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Check services running on the farm and try to start User Profile Synchronization Service. If it starts then issue will go away.&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;If issue still remains then make sure the managed service account has been part of Farm administrator, local system administration. &lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Furthermore, Make sure Account permissions and security settings are in place (Membership in the WSS_ADMIN_WPG &amp;amp; IIS_WPG role)&amp;nbsp;and start the service.&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Hope this helps.&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;References:&amp;nbsp; &lt;a href="http://technet.microsoft.com/en-us/library/cc678863.aspx"&gt;http://technet.microsoft.com/en-us/library/cc678863.aspx&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-8486967064146089387?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/8486967064146089387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=8486967064146089387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/8486967064146089387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/8486967064146089387'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2011/03/audience-compilation-issue-in.html' title='Audience Compilation Issue in SharePoint 2010'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-8710222266119292377</id><published>2010-05-27T11:36:00.000-07:00</published><updated>2010-05-27T11:36:43.507-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Administration Updates'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Organizing Site Collections as they grow across the Content Databases</title><content type='html'>&lt;div&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;As we all know that over the period each site collection grows depending on the adoption and its usage patterns with-in the business processes. However, we need to scale our database earlier than user adoption and that needs some serious consideration about sizing of a content database. If one content database is getting too big then that would impact several other factors such as Performance, Search, Backup etc.&lt;/div&gt;&lt;br /&gt;
The best solution in such scenario is to move one or more site collections from large database to a different content database. You can do this activity using stsadm command&lt;br /&gt;
&lt;br /&gt;
At First, Let's get all sites from the web application using enumsites command. &lt;br /&gt;
&lt;br /&gt;
STSADM.EXE -o enumsites -url http://mywebsp2010 &amp;gt; sites.xml&lt;br /&gt;
&lt;br /&gt;
Now that we have a list of sites from web application into sites.xml file, we can easily&amp;nbsp;update the file and remove the sites that we do not want to move to new database.&lt;br /&gt;
&lt;br /&gt;
Finally, use following command to move the site collections to new content database.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #660000;"&gt;STSADM.EXE -o mergecontentdbs -url http://mywebsp2010 -sourcedatabase [olddbname] -destinationdatabase [newdbname] -operation 3 -filename sites.xml&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="color: blue;"&gt;Few Recommndations:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;1. Make sure you have full backup of the farm.&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;2. First upgrade SharePoint Farm with SP2 as there were important updates applied into fix.&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;3. Make sure you perform this activities on off-peak hours as it may take long time depending on your resources and content.&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
&lt;/strong&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/2899445787685954966-8710222266119292377?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/8710222266119292377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=8710222266119292377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/8710222266119292377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/8710222266119292377'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2010/05/organizing-site-collections-as-they.html' title='Organizing Site Collections as they grow across the Content Databases'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-7589432468942833785</id><published>2010-04-27T11:53:00.000-07:00</published><updated>2010-04-27T11:53:43.097-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><title type='text'>URL Protocol with MOSS 2007</title><content type='html'>&lt;div&gt;Have you heard about URL Protocol? If not then it is very nice URL based utility which offers nice set of operations. &lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Let's say you like to know the internal &lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;nam&lt;/span&gt;e of the Columns. One way to know that is &lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;CAML&lt;/span&gt; builder. However, That would require one to install and configure &lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;CAML&lt;/span&gt; editor on client machine. With the help of the URL Protocol you can find all internal names of a selected list/view without installing any utility tools.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Now, let's say you like to&amp;nbsp;have a Document Library or&amp;nbsp;List called "My Library" and View as "my View". Then just navigate to the view modify the view using browser. Now you got &lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;GUID&lt;/span&gt; for List and View in the URL. We need them in a URL Protocols. Just Append your List and View &lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;GUID&lt;/span&gt; values to URL Below (e.g. if you have &amp;amp;List=%7BBE2D605C%2D1924%2D4AD9%2D8258%2DB5DC93F41227%7D&amp;amp;View=%7B887C0D0B%2D2A67%2D4301%2DBEAC%2DA7D2242BB734%7D)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;a href="http://yourserver/_vti_bin/owssvr.dll?Cmd=Display&amp;amp;XMLDATA=TRUE"&gt;http://&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;YourServer&lt;/span&gt;/_&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;vti&lt;/span&gt;_bin/&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;owssvr&lt;/span&gt;.&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;dll&lt;/span&gt;?&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;Cmd&lt;/span&gt;=Display&amp;amp;&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;XMLDATA&lt;/span&gt;=TRUE&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Then, Your final URL will be&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;a href="http://yourserver/_vti_bin/owssvr.dll?Cmd=Display&amp;amp;XMLDATA=TRUE&amp;amp;List=%7BBE2D605C%2D1924%2D4AD9%2D8258%2DB5DC93F41227%7D&amp;amp;View=%7B887C0D0B%2D2A67%2D4301%2DBEAC%2DA7D2242BB734%7D"&gt;http://&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;YourServer&lt;/span&gt;/_&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;vti&lt;/span&gt;_bin/&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;owssvr&lt;/span&gt;.&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;dll&lt;/span&gt;?&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;Cmd&lt;/span&gt;=Display&amp;amp;&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;XMLDATA&lt;/span&gt;=TRUE&amp;amp;List=%7BBE2D605C%2D1924%2D4AD9%2D8258%2DB5DC93F41227%7D&amp;amp;View=%7B887C0D0B%2D2A67%2D4301%2DBEAC%2DA7D2242BB734%7D&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;At Last, Browse to above URL. You will get all columns included on view and their internal names.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;For further reading on URL Protocols go to: &lt;a href="http://msdn.microsoft.com/en-us/library/ms478653.aspx"&gt;http://&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;msdn&lt;/span&gt;.&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;microsoft&lt;/span&gt;.com/en-us/library/ms478653.&lt;span class="goog-spellcheck-word" style="background: yellow;"&gt;aspx&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;I liked the URL Protocols and hope you will too....&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-7589432468942833785?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/7589432468942833785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=7589432468942833785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7589432468942833785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7589432468942833785'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2010/04/url-protocol-with-moss-2007.html' title='URL Protocol with MOSS 2007'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-2041748340887432346</id><published>2010-04-24T06:40:00.000-07:00</published><updated>2010-04-26T07:10:30.294-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScripts'/><title type='text'>Updating List/Document Library's Checkbox values using Javascript and List.asmx</title><content type='html'>&lt;span style="color: black;"&gt;You may have come accross many scenario's of updating SharePoint Lists and Document Repositories using List.asmx. In this post we will cover updating SharePoint Lists and Libraries using Pure JavaScript and List.asmx services. The challange we will cover is to update SharePoint column of data type CheckBox. In order to update checkbox values we need to either set value as 1 (yes or selected) and 0 (No or not selceted).&lt;br /&gt;
&lt;br /&gt;
In the code below, We have created a JavaScript Function which takes three arguments and updates the column "Is Update Needed".&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;&lt;script type="text/javascript"&gt;
&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;function UpdateCheckBoxValues(siteURL,ListName,ID)&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;{&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; var soapRequest = '&lt;?xml version="1.0" encoding="utf-8"?&gt;' +&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; '&lt;soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"&gt;' +&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; '&lt;soap12:Body&gt;'+&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; '&lt;updatelistitems xmlns="http://schemas.microsoft.com/sharepoint/soap/"&gt;'+&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; '&lt;listname&gt;'+ListName+'&lt;/listName&gt;'+&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; '&lt;updates&gt;&lt;batch OnError="Continue"&gt;'+&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; '&lt;method ID="'+ ID +'" Cmd="Update"&gt;&lt;field Name="ID"&gt;'+ID+'&lt;/Field&gt;&lt;field Name="Is Update Needed"&gt;1&lt;/Field&gt;&lt;/Method&gt;'+&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; '&lt;/Batch&gt;&lt;/updates&gt;'+&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; '&lt;/UpdateListItems&gt;&lt;/soap12:Body&gt;'&lt;/soap12:Envelope&gt;';&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; xmlHttp=new XMLHttpRequest();&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; xmlHttp.open('post', siteURL +'/_vti_bin/Lists.asmx', true);&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; xmlHttp.setRequestHeader('Content-Type','application/soap+xml; charset=utf-8');&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;&amp;nbsp; xmlHttp.send(soapRequest);&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;

&lt;font color=#990000&gt;
&lt;/script&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;function UpdateCheckBoxValues(SiteURL,ListName, ID)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;var soapRequest = '&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;' +&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"&amp;gt;' +&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;soap12:Body&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;UpdateListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/"&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;listName&amp;gt;'+ListName+'&amp;lt;/listName&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;updates&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;Batch OnError="Continue"&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;Method ID="'+ ID +'" Cmd="Update"&amp;gt;&amp;lt;Field Name="ID"&amp;gt;'+ID+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;/Field&amp;gt;&amp;lt;Field Name="Is Update Needed"&amp;gt;1&amp;lt;/Field&amp;gt;&amp;lt;/Method&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;/Batch&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;/updates&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;/UpdateListItems&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;/soap12:Body&amp;gt;'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;'&amp;lt;/soap12:Envelope&amp;gt;';&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;xmlHttp=new XMLHttpRequest();&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;xmlHttp.open('post', SiteURL+'/_vti_bin/Lists.asmx', true);&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;xmlHttp.setRequestHeader('Content-Type','application/soap+xml; charset=utf-8');&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;xmlHttp.send(soapRequest);&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #990000;"&gt;}&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If you need any further help on the same post, Please feel free to reach out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-2041748340887432346?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/2041748340887432346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=2041748340887432346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2041748340887432346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2041748340887432346'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2010/04/updating-listdocument-librarys-checkbox.html' title='Updating List/Document Library&apos;s Checkbox values using Javascript and List.asmx'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-9081304185492451188</id><published>2010-01-07T11:17:00.001-08:00</published><updated>2010-03-25T06:35:42.342-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Using SharePoint 2010 Search.asmx WebService and exporting results into CSV format using Console Application</title><content type='html'>Using SharePoint 2010 Search.asmx WebService and exporting results into CSV format using Console Application

&lt;strong&gt;&lt;em&gt;Console Application Code&lt;/em&gt;&lt;/strong&gt;
&lt;pre&gt;using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Data;
using System.Net;
using System.Web;
using System.Configuration;

namespace SearchServices
{
    class Program
    {
        static void Main(string[] args)
        {
            MySearchWS(args[0]);
        }

        private static void MySearchWS(string keywordString)
        {
            string uid, pwd, dom;
            //Read Credentials from App.config
            uid = ConfigurationManager.AppSettings.Get("ServiceUID").ToString();
            pwd = ConfigurationManager.AppSettings.Get("ServicePWD").ToString();
            dom = ConfigurationManager.AppSettings.Get("ServiceDomain").ToString();

            //Set Service
            SearchServices.WSSearch.QueryServiceSoapClient myService =
     new SearchServices.WSSearch.QueryServiceSoapClient("QueryServiceSoap");
            myService.ClientCredentials.Windows.ClientCredential  =
     new System.Net.NetworkCredential( uid, pwd, dom);
            //Enable ImpersonationLevel and ntlm
            myService.ClientCredentials.Windows.AllowedImpersonationLevel =
System.Security.Principal.TokenImpersonationLevel.Impersonation;
            myService.ClientCredentials.Windows.AllowNtlm = true;

            //Verify that the Search Server is up and running
            if (string.Compare(myService.Status(), "ONLINE", true) != 0)
             throw new Exception("The Search Server is not available online.");

            //The XML string containing the query request information
            string qXMLString = "&amp;lt;QueryPacket xmlns='urn:Microsoft.Search.Query'&amp;gt;" +
                  "&amp;lt;Query&amp;gt;&amp;lt;SupportedFormats&amp;gt;&amp;lt;Format revision='1'&amp;gt;" +
                  "urn:Microsoft.Search.Response.Document:Document&amp;lt;/Format&amp;gt;" +
                  "&amp;lt;/SupportedFormats&amp;gt;"+
                  "&amp;lt;Context&amp;gt;"+
                  "&amp;lt;QueryText language='en-US' type='STRING'&amp;gt;" +
                  keywordString +
                  "&amp;lt;/QueryText&amp;gt;&amp;lt;/Context&amp;gt;"+
                  "&amp;lt;/Query&amp;gt;&amp;lt;/QueryPacket&amp;gt;";
            var queryResults = new System.Data.DataSet();
            //Call SharePoint Search Web Service method with XML Query
            try
            {
                queryResults = myService.QueryEx(qXMLString);
                // Print Key columns seperated by comma
                int i = 0;
                foreach (DataRow row in queryResults.Tables[0].Rows)
                {
                    Console.WriteLine("{0},{1},{2},{3},{4},{5}", i++, row["Title"], row["Author"], row["Path"], row["Write"], row["HitHighlightedSummary"]);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error !! {0}", ex.Message);
            }
        }
    }
}
&lt;/pre&gt;
&lt;strong&gt;&lt;em&gt;App.Config Settings&lt;/em&gt;&lt;/strong&gt;
&lt;pre&gt;
&amp;lt;?xml version="1.0"?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;appSettings&amp;gt;
    &amp;lt;add key="ServiceUID" value="UserName"/&amp;gt;
    &amp;lt;add key="ServicePWD" value="Password"/&amp;gt;
    &amp;lt;add key="ServiceDomain" value="Domain"/&amp;gt;
  &amp;lt;/appSettings&amp;gt;
  &amp;lt;system.serviceModel&amp;gt;
        &amp;lt;bindings&amp;gt;
            &amp;lt;basicHttpBinding&amp;gt;
                &amp;lt;binding name="QueryServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="500000000" maxBufferPoolSize="500000000" maxReceivedMessageSize="500000000" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"&amp;gt;
                    &amp;lt;readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/&amp;gt;
                  &amp;lt;security mode="TransportCredentialOnly"&amp;gt;
                    &amp;lt;transport clientCredentialType="Ntlm" /&amp;gt;
                  &amp;lt;/security&amp;gt;
                &amp;lt;/binding&amp;gt;
            &amp;lt;/basicHttpBinding&amp;gt;
        &amp;lt;/bindings&amp;gt;
        &amp;lt;client&amp;gt;
            &amp;lt;endpoint address="http://server:port/_vti_bin/search.asmx" binding="basicHttpBinding" bindingConfiguration="QueryServiceSoap" contract="WSSearch.QueryServiceSoap" name="QueryServiceSoap"/&amp;gt;
        &amp;lt;/client&amp;gt;
    &amp;lt;/system.serviceModel&amp;gt;
&amp;lt;/configuration&amp;gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-9081304185492451188?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/9081304185492451188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=9081304185492451188' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/9081304185492451188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/9081304185492451188'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2010/01/using-sharepoint-2010-searchasmx.html' title='Using SharePoint 2010 Search.asmx WebService and exporting results into CSV format using Console Application'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-70449046590030338</id><published>2009-12-09T06:50:00.001-08:00</published><updated>2010-03-25T06:36:36.422-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2003'/><title type='text'>Reading SharePoint 2003 Libraries using WebServices and DataSets</title><content type='html'>In one of my assignment, I was requested to access SharePoint 2003 environment programatically using out of the box Web Services.

In this post, I have shared the .NET console application source that I have wrote to access SharePoint 2003 libraries using WebServices, DataSets and Application Configurations.

================================================================================
Console Application Source
================================================================================

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Data;
using System.Net;

using System.Configuration;
using Microsoft.SharePoint;
using System.IO;

namespace Com.Hemsoft
{
class Program
{
static void Main(string[] args)
{
string mylist = ConfigurationManager.AppSettings.Get("ListName").ToString();
string viewGUID = ConfigurationManager.AppSettings.Get("ViewGUID").ToString();

//Declare DataSet and read SP 2003 List into DataSet
DataSet dsMyResults;
dsMyResults = new DataSet();
dsMyResults = GetListDataWS(mylist, viewGUID);

//Do your Process with DataSet

//Dispose objects
dsMyResults.Dispose();
}

private static DataSet GetListDataWS(string listName, string viewGuidName)
{
//Call 2003 WebService
RCPILists.ListsSoapClient listService = new RCPILists.ListsSoapClient("ListsSoap");
listService.ClientCredentials.Windows.AllowedImpersonationLevel =
System.Security.Principal.TokenImpersonationLevel.Delegation;
listService.ClientCredentials.Windows.ClientCredential
= new System.Net.NetworkCredential(
ConfigurationManager.AppSettings.Get("ServiceUID").ToString(),
ConfigurationManager.AppSettings.Get("ServicePWD").ToString(),
ConfigurationManager.AppSettings.Get("ServiceDomain").ToString());
string maxReadSize = ConfigurationManager.AppSettings.Get("maxReadSize").ToString();
XmlNode myResults = listService.GetListItems(listName, viewGuidName, null, null,maxReadSize , null);
XmlTextReader xmlTextReader = new XmlTextReader(myResults.OuterXml, XmlNodeType.Element, null);
DataSet dataSet = new DataSet();
dataSet.ReadXml(xmlTextReader);

return dataSet;
}
}
}



================================================================================
Application Configurations
================================================================================

&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;
&amp;lt;configuration&amp;gt;
&amp;lt;appSettings&amp;gt;
&amp;lt;add key="ListName" value="List Name"/&amp;gt;
&amp;lt;add key="ViewGUID" value="{View GUID Here}"/&amp;gt;
&amp;lt;add key="ServiceUID" value="YourUser"/&amp;gt;
&amp;lt;add key="ServicePWD" value="YourPassWord"/&amp;gt;
&amp;lt;add key="ServiceDomain" value="Domain"/&amp;gt;
&amp;lt;add key="maxReadSize" value="1000000"/&amp;gt;
&amp;lt;/appSettings&amp;gt;
&amp;lt;system.serviceModel&amp;gt;
&amp;lt;bindings&amp;gt;
&amp;lt;basicHttpBinding&amp;gt;
&amp;lt;binding name="ListsSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="5000000" maxBufferPoolSize="5000000" maxReceivedMessageSize="5000000"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true"&amp;gt;
&amp;lt;readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" /&amp;gt;
&amp;lt;security mode="TransportCredentialOnly"&amp;gt;
&amp;lt;transport clientCredentialType="Ntlm" /&amp;gt;
&amp;lt;/security&amp;gt;
&amp;lt;/binding&amp;gt;
&amp;lt;/basicHttpBinding&amp;gt;
&amp;lt;/bindings&amp;gt;
&amp;lt;client&amp;gt;
&amp;lt;endpoint address="http://SP2003hostname:port/site/_vti_bin/lists.asmx"
binding="basicHttpBinding" bindingConfiguration="ListsSoap"
contract="RCPILists.ListsSoap" name="ListsSoap" /&amp;gt;
&amp;lt;/client&amp;gt;
&amp;lt;/system.serviceModel&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-70449046590030338?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/70449046590030338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=70449046590030338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/70449046590030338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/70449046590030338'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/12/reading-sharepoint-2003-libraries-using.html' title='Reading SharePoint 2003 Libraries using WebServices and DataSets'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-823791634359745587</id><published>2009-12-04T11:24:00.001-08:00</published><updated>2010-03-10T17:55:44.193-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2003'/><title type='text'>Web Part or Web Form Control Error</title><content type='html'>&lt;p&gt;&lt;span style="color:#ff0000;"&gt;"A Web Part or Web Form Control on this Web Part Page cannot be displayed or imported because it is not registered as safe on this site"&lt;/span&gt;

If you get the error then go to the URL and append “?contents=1” to view all web parts that have been added to page.

If you have a web part that you added at one point and deleted it through the URL, It still ‘exists’ on a page.

Select each of them and delete them&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-823791634359745587?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/823791634359745587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=823791634359745587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/823791634359745587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/823791634359745587'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/12/web-part-or-web-form-control-error.html' title='Web Part or Web Form Control Error'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-1884162877710427592</id><published>2009-11-25T11:15:00.001-08:00</published><updated>2010-01-14T06:59:57.248-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Master Pages in SharePoint 2010</title><content type='html'>In this post, we will try to hash out what each of the master pages offer and when to use them.When you install &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt; 2010, It allows you to choose from three types of master pages.

&lt;em&gt;&lt;strong&gt;v4.master
Default.master
&lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;Minimal&lt;/span&gt;.master&lt;/strong&gt;&lt;/em&gt;

Obviously, You can extend these master pages into your environment and start customizing as you used to in MOSS 2007.

&lt;strong&gt;&lt;span style="color:#000066;"&gt;v4.master -&lt;/span&gt;&lt;/strong&gt; This is the default master page used with version 4 team sites. It provides the &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-corrected"&gt;Ribbon &lt;/span&gt;and new visual &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;UI&lt;/span&gt; changes such as the site actions menu on the left side etc.

&lt;strong&gt;&lt;span style="color:#000066;"&gt;Default.master&lt;/span&gt;&lt;/strong&gt; - If you did an upgrade to &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt; 2010 and haven’t transitioned to the new &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;UI&lt;/span&gt; yet due to user training or &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;UAT&lt;/span&gt; then, the old master page is still in default.master. It just look like the master page you use in &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt; 2007. It &lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;doesn&lt;/span&gt;’t have new &lt;span id="SPELLING_ERROR_9" class="blsp-spelling-error"&gt;UI&lt;/span&gt; Changes, That's all.

&lt;strong&gt;&lt;span style="color:#000066;"&gt;Minimal.master&lt;/span&gt;&lt;/strong&gt; - This is a master page without much of the controls on it (e.g. It &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-error"&gt;doesn&lt;/span&gt;’t have navigation) The search pages by default now use minimal.master. It is nice that Product team came with Minimal.master (out of the box) page so that all developer community do not have to work to figure out what should be left on for master page to be a minimal master page.

Additionally, If you recall - in MOSS 2007 there was a need for creating a stapling feature to replace default.master with one you have customized for showing custom errors and &lt;span id="SPELLING_ERROR_12" class="blsp-spelling-error"&gt;logins&lt;/span&gt; etc. The good news is SharePoint 2010 has simple.master page for that you that takes care of the issue. Now if you don't like that then you would have to replace that with a similar feature.

Hope this helps!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-1884162877710427592?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/1884162877710427592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=1884162877710427592' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1884162877710427592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1884162877710427592'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/11/master-pages-in-sharepoint-2010.html' title='Master Pages in SharePoint 2010'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-3604763563040032732</id><published>2009-11-02T11:50:00.001-08:00</published><updated>2010-01-12T09:50:47.675-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Foundation 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Unable to Create Site Collection in SharePoint 2010 and SharePoint Foundation 2010</title><content type='html'>If you have experienced failure to to Create New Site Collection in SharePoint 2010 and/or SharePoint Foundation 2010 Beta. Then you have been saved from a panic and a re-install.

Let's take a step back and identify the Issue behaviour, If you have noticed that only collaboration tab is available for creating site collection and the other tabs including publishing are not working, clicking on any of them doesn't show or do anything. That's an Issue...

Plus... After filling out key input values and you press ok to create the site collection you recieve error as shown below then That's an issue too...

&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Unable to generate a temporary class (result=1).
error CS2001: Source file 'C:\WINDOWS\TEMP\* .cs' could not be found
error CS2008: No inputs specified&lt;/span&gt; &lt;/em&gt;

Many including me would think that Re-Installing would fix an issue. Well, The fact is it's not going to be fixed by re-install as it is a permission issue.

&lt;strong&gt;Cause&lt;/strong&gt;
This issue occurs if the user account does not have the List Folder Contents and Read permissions on the %windir%\Temp folder. 

&lt;strong&gt;Resolution&lt;/strong&gt;
Just Open %temp%\temp folder add add user with List Folder Contents and Read Permissions.

Issue will be fixed. BTW, You can also Refer KB Link http://support.microsoft.com/kb/908158 for same.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-3604763563040032732?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/3604763563040032732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=3604763563040032732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/3604763563040032732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/3604763563040032732'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/11/unable-to-create-site-collection-in.html' title='Unable to Create Site Collection in SharePoint 2010 and SharePoint Foundation 2010'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-2855760937562613941</id><published>2009-10-30T09:09:00.000-07:00</published><updated>2009-12-09T06:50:06.802-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Search'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>SharePoint 2010 IFilter for PDF by FoxIt</title><content type='html'>As you know already, Foxit PDF IFilter supported two versions of PDF Filters for 32-bit Windows and x64 Windows and it worked very well with MOSS 2007. Now, If you would like to setup and configure IFilter for PDF files then go ahead and download your copy from &lt;a href="http://www.foxitsoftware.com/pdf/ifilter/index.html#downifilter"&gt;http://www.foxitsoftware.com/pdf/ifilter/index.html#downifilter&lt;/a&gt; site.


1. Stop the IIS Admin service: Start &gt; Settings &gt; Control Panel &gt; Administrator Tools &gt; Services &gt; IIS Admin Service &gt; Stop. Close window.

2. Run the Foxit PDF IFilter 1.0 Setup program to install the filter on the server.

3. Download PDF icon from &lt;a href="http://www.foxitsoftware.com/pdf/ifilter/pdficon.gif"&gt;http://www.foxitsoftware.com/pdf/ifilter/pdficon.gif&lt;/a&gt;

4. Copy the downloaded .GIF file to "Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Template\Images".

5. Edit the file "Drive:\Program Files\Common Files\Microsoft Shared\Web server extensions\14\Template\Xml\DOCICON.XML":

&lt;ul&gt;
&lt;li&gt;Right-click DOCICON.XML file &gt; click Open With &gt; select Notepad. &lt;/li&gt;
&lt;li&gt;Add an entry for the .pdf extension. For example, where ICPDF is the name of the .gif file: &lt;mapping key="pdf" value="icpdf.gif"&gt;&lt;/li&gt;
&lt;li&gt;On the File menu, click Save, and then quit Notepad. &lt;/li&gt;&lt;/ul&gt;
6. Perform an iisreset:

&lt;ul&gt;
&lt;li&gt;Click Start &gt; Run &gt; type "cmd" in the Open line &gt; click OK &gt; type "iisreset" at the command prompt &gt; hit Enter. &lt;/li&gt;
&lt;li&gt;Close the window. &lt;/li&gt;&lt;/ul&gt;
7.Start full crawl and validate results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-2855760937562613941?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/2855760937562613941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=2855760937562613941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2855760937562613941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2855760937562613941'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/10/sharepoint-2010-ifilter-for-pdf-by.html' title='SharePoint 2010 IFilter for PDF by FoxIt'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-812855278300165594</id><published>2009-10-16T12:31:00.001-07:00</published><updated>2009-11-12T10:12:33.417-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Working with DocumentSet Object in SharePoint 2010</title><content type='html'>&lt;p&gt;If you are ready for SharePoint 2010 and have access to Visual Studio 2010 beta and SharePoint 2010. Then What are you waiting for... &lt;/p&gt;&lt;p&gt;Type up the code below in VS2010 and start playing with SharePoint 2010 object model.&lt;/p&gt;
&lt;pre style="BACKGROUND-COLOR: #3366ff; COLOR: #ffffff"&gt;
SPSite site = new SPSite("http://MSS2010");
SPWeb web = site.OpenWeb();
SPList list = web.Lists["Product"];
//Create Hashtable and set all metadata properties
Hashtable props = new Hashtable();
props.Add("Name", "Product 101");
props.Add("Description", "Bike 7540");
props.Add("Make", "B2010");
props.Add("Model", "3.11");
//Add Document Set
DocumentSet ds = DocumentSet.Create(
 list.RootFolder, "Product1",
 list.ContentTypes["Product"].Id,
 props, true);
//Release web and site objects
web.Dispose();
site.Dispose();
&lt;/pre&gt;
&lt;p&gt;
As you noticed we are using pre-defined content type called "Product" so please go ahead and create content type with all meta data listed in this code and after that setup document library with that content type.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-812855278300165594?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/812855278300165594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=812855278300165594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/812855278300165594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/812855278300165594'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/10/working-with-documentset-object-in.html' title='Working with DocumentSet Object in SharePoint 2010'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-75729554128903271</id><published>2009-10-16T12:30:00.001-07:00</published><updated>2009-10-30T09:09:17.715-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validations'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScripts'/><title type='text'>Implementing Custom Field validations using JavaScript</title><content type='html'>&lt;p&gt;In my recent project, I was requested to implement the custom field validation into SharePoint edit - document properties data UI. Knowing the impact to next product upgrade issues inhandling customizations, My first attempt was to remove the validation but the fact was it was not that simple. So, I felt implementing validation using javascript and limiting that to separate page away from out of the box edit page. The steps below shows step-by-step instructions to implement client side validations into SharePoint 2007. &lt;/p&gt;

&lt;p&gt;Step-1. Open Site into Microsoft SharePoint Designer 2007.&lt;/p&gt;&lt;p&gt;Step-2. Go to the Document library you would like to have a customization&lt;/p&gt;&lt;p&gt;Step-3. Copy EditForm.aspx as Prefix_EditForm.aspx&lt;/p&gt;&lt;p&gt;Step-4. Open new edit page that we created in step-3 and in code view find script - tag. Then, Add following script below it.&lt;/p&gt;
&lt;pre style="BACKGROUND-COLOR: #99ff99; HEIGHT: 272px"&gt;
&amp;lt;script&amp;gt;

  function PreSaveAction()

  {

    return CustomValidation();

  }

  function CustomValidation()

  {

    // Your custom validations here

    alert("validated");

    // Remember to return true if validation test is passed else return false

    return true;

  }

&amp;lt;/script&amp;gt;

&lt;/pre&gt;&lt;p&gt;Step-5. Now, We need to point default edit UI page to new page. We can do this by right clicking on Document Library and changing pointer for edit option to New Edit Page &lt;/p&gt;&lt;p&gt;Validate the functionalities and enjoy your custom implementation!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-75729554128903271?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/75729554128903271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=75729554128903271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/75729554128903271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/75729554128903271'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/10/implementing-custom-field-validations.html' title='Implementing Custom Field validations using JavaScript'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-388054251594149320</id><published>2009-09-16T10:17:00.001-07:00</published><updated>2009-10-16T10:08:14.080-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Moving Files from one Library to Another</title><content type='html'>If your SharePoint Implementation challanging you because all files are oganized under one library and no folders? and slow performance?

Then, You may want to create folders with-in same library or new libraries and start re-organizing all files. One of the simple most and common challange you will face to re-organizing your content is how to automate? Here is a simple managed code based solution which will let you start your work via SharePoint APIs. Just replace "Your Site URL", "Source Library" and "Destination Library/" values with your values and start building solution.

&lt;pre&gt;
SPSite oSiteCollection = new SPSite("Your Site URL");

SPWeb oWebsite = oSiteCollection.OpenWeb();
SPFileCollection collFiles = oWebsite.GetFolder("Source Library").Files;
for (int intIndex=collFiles.Count-1; intIndex&gt;-1; intIndex--)
{
 Console.WriteLine("Processing file {0}",collFiles[intIndex].Name);
 collFiles[intIndex].MoveTo("Destination Library/" + collFiles[intIndex].Name, true);
}
oWebsite.Dispose();
&lt;/pre&gt;

Furthermore, You can also add your own business rules for moving files based on File name or extensions or File size.

Sky is the Limit!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-388054251594149320?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/388054251594149320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=388054251594149320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/388054251594149320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/388054251594149320'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/09/moving-files-from-one-library-to.html' title='Moving Files from one Library to Another'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-5026554446054744900</id><published>2009-08-11T11:34:00.000-07:00</published><updated>2009-08-11T11:41:23.305-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Speaking Enggagements'/><title type='text'>Presenting at SUGDC: jQuery and SharePoint 2007</title><content type='html'>I will be presenting a session in Aug 2009 at Washington DC &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt; User Group (&lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;SUGDC&lt;/span&gt;). The session will be around &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;jQuery&lt;/span&gt; and &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt; 2007.

We will cover everything you need to know to begin development using &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;jQuery&lt;/span&gt; into &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt;.

Topic: &lt;strong&gt;jQuery and SharePoint 2007
&lt;/strong&gt;Approx. Time: 60 mins
Suggested Audience: Developers
Audience Experience level: All
Event Date: Thursday Aug 13th, 2009 @ 6 PM ET
Location: Hire Strategy, 11730 Plaza America Drive Reston, VA 20190
Entry Fee: Free
Agenda:
6:00 PM Meet, Greet and Eat (food and drinks provided by Surfray)
7:00 PM group business, sponsor introductions, summer conference plans
7:15 PM Presentations

For more information, Please &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;goto&lt;/span&gt; &lt;a href="http://www.http//www.sugdc.org"&gt;http://www.http//www.sugdc.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-5026554446054744900?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/5026554446054744900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=5026554446054744900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5026554446054744900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5026554446054744900'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/08/presenting-at-sugdc-jquery-and.html' title='Presenting at SUGDC: jQuery and SharePoint 2007'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-2314749727509639484</id><published>2009-08-11T09:02:00.000-07:00</published><updated>2009-08-11T09:19:33.191-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Administration Updates'/><category scheme='http://www.blogger.com/atom/ns#' term='Upgrade'/><title type='text'>SharePoint Service Pack 2.0 Updates and Site error</title><content type='html'>&lt;p&gt;I was working on updating one of the &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt; Development Environment with Service Pack 2.0.  My advise to every reader out there is notice the word "Development". Do not perform service pack updates directly on production without running &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;successfuly&lt;/span&gt; on other environment or having comprehensive backup.&lt;/p&gt;&lt;p&gt;I applied the &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;WSS&lt;/span&gt; 3.0 and &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt; 2007 Service Pack 2.0 and my &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt; Sites stop working and showed following message when I was accessing the site.&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;color:#ff0000;"&gt;Server error: http://go.microsoft.com/fwlink?LinkID=96177&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Guess what.. the upgrade process didn't complete. It was just finished installing binary but not upgrading your content. &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-corrected"&gt;Interesting&lt;/span&gt;!!!! So that triggered me thinking that there must be a way for one to force an upgrade.&lt;/p&gt;&lt;p&gt;Yes, You can force an upgrade by running the following command from a command prompt:
&lt;/p&gt;&lt;pre&gt;
&lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;cd&lt;/span&gt; /d %&lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;commonprogramfiles&lt;/span&gt;%\Microsoft Shared\Web Server Extensions\12\Bin
&lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;stsadm&lt;/span&gt; -o upgrade -&lt;span id="SPELLING_ERROR_9" class="blsp-spelling-error"&gt;forceupgrade&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;This will force the upgrade process to run again and should fix the problem for you. After forcing upgrade my sites were running as they were before. &lt;/p&gt;&lt;p&gt;Tip: To avoid PANIC, Please perform all your software, application and service pack update on &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-error"&gt;pre&lt;/span&gt;-production environment prior to Production.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-2314749727509639484?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/2314749727509639484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=2314749727509639484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2314749727509639484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2314749727509639484'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/08/sharepoint-service-pack-20-updates-and.html' title='SharePoint Service Pack 2.0 Updates and Site error'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-1869557903316720520</id><published>2009-07-24T06:25:00.000-07:00</published><updated>2009-07-24T06:45:36.195-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='Theams'/><title type='text'>Creating Custom Theme in SharePoint</title><content type='html'>&lt;p&gt;I have been getting requests from my users to apply site branding without much of the master pages programming. If your organization wants to stay away from programming for site branding then you have to explore the Themes. It is very powerful and straight forward to work with and easy to manage.&lt;/p&gt;&lt;p&gt;Here I have described few basic steps to get you started on developing custom themes.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 1: &lt;/strong&gt;On the SharePoint server go to the Themes folder e.g. c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\Themes &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Make a copy one of the existing theme folders and its contents rename it e.g. MyOrgName_Theme. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Rename the .INF file within the MyTheme folder to MyOrgName_Theme.INF &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Edit MyOrgName_Theme.INF. At the info section change the title to MyOrgName_Theme. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; Change codepage, e.g 22200, replacing the code page will fixing error. A theme with the name MyOrgName_Theme 1011 and version already exists on the server. In the titles section, rename the names to your new name. this section is to present the name in the different language. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt; Provide an image to give a preview of your theme. This image should be placed in [12 hive]\TEMPLATE\IMAGES. E.g. tmbMyTheme.gif &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 7:&lt;/strong&gt; Modify the [12 hive]\TEMPLATE\Layouts\1033\SPTHEMES.xml to include a reference to the new MyOrgName_Theme theme&lt;/p&gt;
&lt;pre&gt;
&amp;lt;templates&amp;gt;
  &amp;lt;templateid&amp;gt;MyOrgName_Theme&amp;lt;/templateid&amp;gt;
  &amp;lt;displayname&amp;gt;MyOrgName_Theme&amp;lt;/displayname&amp;gt;
  &amp;lt;description&amp;gt;Customized with corporate branding&amp;lt;/description&amp;gt;
  &amp;lt;thumbnail&amp;gt;images/tmbMyTheme.gif&amp;lt;/thumbnail&amp;gt;
  &amp;lt;preview&amp;gt;images/tmbMyTheme.gif&amp;lt;/preview&amp;gt;
&amp;lt;/templates&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Step 8:&lt;/strong&gt; Modify the CSS within MyOrgName_Theme folder to personalize your theme. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 9:&lt;/strong&gt; Run iisreset from the command prompt Apply the new theme! &lt;/p&gt;&lt;p&gt;The development of theme is iterative and time consuming process. Therefore, I advise you to perform all your development on a development server and once you are happy with the results then rollout your changes to other environment using solution deployment.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-1869557903316720520?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/1869557903316720520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=1869557903316720520' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1869557903316720520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1869557903316720520'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/07/creating-custom-theme-in-sharepoint.html' title='Creating Custom Theme in SharePoint'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-776439924826206005</id><published>2009-06-30T09:25:00.000-07:00</published><updated>2009-06-30T09:46:16.417-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScripts'/><title type='text'>First Look at JQuery &amp; SharePoint</title><content type='html'>&lt;strong&gt;&lt;p&gt;New to JQuery?&lt;/p&gt;&lt;/strong&gt;
&lt;p&gt;Well, I must say, I have started about a month back and if you have not done anything in JQuery then it’s not late either. JQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. For more information and resources, examples, and to know who is using it and its downloads please visit &lt;a href="http://jquery.com/"&gt;http://jquery.com/&lt;/a&gt; &lt;/p&gt;
&lt;strong&gt;&lt;p&gt;I know already what it is. &lt;/p&gt;&lt;/strong&gt;
&lt;p&gt;Now, that we have known the concepts, Lets start configuring JQuery for SharePoint/WSS. It is not a big deal. However, I have seen developers have started placing JQuery under variety of the places such as Hive 12, _layouts etc.&amp;nbsp; In this post we will start discussing a how one should establish central place to organize all JavaScript’s together with proper versioning and security. Having that said, let’s get back to our business.&lt;/p&gt;
&lt;p&gt;1. Open up SharePoint Portal and click on Site Actions -&gt; Site Settings -&gt; All Site Settings option&lt;/p&gt;
&lt;p&gt;2. Under “Site Administration“group option, Click on “Content and Structure” link&lt;/p&gt;
&lt;p&gt;3. From top menu Click “New” List option to create a list of type “Document Library”.&lt;/p&gt;
&lt;p&gt;4. Let’s Configure document library further.... Let’s name it as "JavaLib"
 [ Note: The name of the document library could be any name you like, I like the name JavaLib as we will use this library to organize all JavaScript’s related resources]&lt;p&gt;5. (Best Practices) Now, We can configure the JavaLib with additional columns, Versioning and Security so that it can return us a favors like versioning and auto advancing to new versions (if needed). &lt;/p&gt;
&lt;p&gt;&lt;i&gt;5.1. Add a column “Script Version” as Single Line of Text to JavaLib&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Having “Script version” column becomes very informative when one has lots of developers.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;5.2. Configure versioning with 10 Major &amp;amp; 10 Minor Versions &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Versioning will allow you to rollback to previous version if there is a bug/known defects without having all other pages needing a modification.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;5.3. Set Library security as Read Only to Everyone and Contribute to DevGroup&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Limiting who can upload new items (scripts) will help establish controlled processes and release changes using major versions.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;6. Let's download most current JQuery version 1.3.2 from &lt;a href="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"&gt; http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js&lt;/a&gt; to the desktop &lt;/p&gt;
&lt;p&gt;7. Now, Let’s upload jquery.1.3.2.min.js file from our desktop to our JavaLib library. &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Note: After uploading the file, Please make sure you change the Name from Jquery-1.3.2.min.js to Jquery and Title as Jquery-1.3.2.min.js and Script version as 1.3.2. This will help us in future if other revisions are available then you do not have to update all webparts with new framework urls&lt;/em&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;See the screen below:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_5gFhcGhYqIk/Sko-fPav8VI/AAAAAAAAAK4/MbJ_dM57EXA/s1600-h/AfterUpload.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 116px;" src="http://4.bp.blogspot.com/_5gFhcGhYqIk/Sko-fPav8VI/AAAAAAAAAK4/MbJ_dM57EXA/s320/AfterUpload.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5353159813518848338" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;8. Great...we have JQuery available in our environment, let’s implement a sample code to see it in action&lt;/p&gt;
&lt;p&gt;9. Create a Blank Site template as “JQuery_Project” and add Custom List with name “Employee”. You can add few columns to the Employee list. I have added First Name, Last Name, Address columns. &lt;/p&gt;
&lt;p&gt;10. Click on Actions à Edit page and add Content Editor Web Part (CEWP) just below the Employee list&lt;/p&gt;
&lt;p&gt;11. Click on open the tool pane link and click “Source Editor” and paste the code below.(The JQuery in CEWP web part code will add border to our employee web part)&lt;/p&gt;
&lt;pre&gt;
  &amp;lt;script type="text/javascript" src="/JavaLib/jquery.js"&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script type="text/javascript"&amp;gt;
   $(document).ready(function(){
      $("#MSOZoneCell_WebPartWPQ2").css({border:"5px double gray"});
    });
  &amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;p&gt;12. Save Changes and See UI change!!! All we have done in JQuery is to find MSOZoneCell_WebPartWPQ2 and decorated as gray colored double border of size 5px.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_5gFhcGhYqIk/Sko9397BwRI/AAAAAAAAAKw/Mjc1xu7_eVk/s1600-h/Final.JPG"&gt;&lt;img style="MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 110px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5353159138807496978" border="0" alt="" src="http://1.bp.blogspot.com/_5gFhcGhYqIk/Sko9397BwRI/AAAAAAAAAKw/Mjc1xu7_eVk/s320/Final.JPG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I know, I have taken very simple example to show you JQuery in Action. In my next post we will discuss JQuery for establishing an advanced navigation without writing ASP.NET or C#.NET Code. Please share your feedback on article.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-776439924826206005?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/776439924826206005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=776439924826206005' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/776439924826206005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/776439924826206005'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/06/first-look-at-jquery-sharepoint.html' title='First Look at JQuery &amp;amp; SharePoint'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5gFhcGhYqIk/Sko-fPav8VI/AAAAAAAAAK4/MbJ_dM57EXA/s72-c/AfterUpload.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-5811076016740659290</id><published>2009-06-23T10:51:00.000-07:00</published><updated>2009-06-27T15:40:44.161-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebParts'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='Charts'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScripts'/><title type='text'>Cloud or External REST based computing and SharePoint</title><content type='html'>&lt;p&gt;Would you like to create a customized Key Performance Indicator (KPI) without putting much effort on custom coding?

Well Cloud based computing is the way to go!!

In this post, I will show you the step by step process to create the executive dashboard as shown in the figure 1 using REST/Cloud computing and SharePoint out of the box (OOB) webparts.
&lt;/p&gt;
&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; HEIGHT: 197px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5350582594551637266" border="0" alt="" src="http://4.bp.blogspot.com/_5gFhcGhYqIk/SkEWhWmjZRI/AAAAAAAAAKM/5ZTGJuanvTk/s320/KPI_In_Action.JPG" /&gt;
&lt;p&gt;Figure-1&lt;/p&gt;&lt;ul style="MARGIN-LEFT: 40px"&gt;&lt;li&gt;Step:1 Create a Custom List with columns (State as Text, Sales as
Currency, Target as Currency) &lt;/li&gt;
&lt;li&gt;Step:2 Now Add a calculated column as Indicator with formula as
shown below:&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="MARGIN-LEFT: 80px; FONT-SIZE: x-small"&gt;=CONCATENATE("&amp;lt;DIV&amp;gt;","&amp;lt;img src='&lt;a href="http://www.blogger.com/" cht=" chts=" chtt=",State," chd="t:" chs="250x100"&gt;http://chart.apis.google.com/chart?cht=gom&amp;amp;chs=250x100","&amp;amp;chd=t:",(Sales/Target)*100,"&amp;amp;chtt=",State,"&amp;amp;chts=0000FFFF,14","'
/&amp;gt;","&amp;lt;/DIV&lt;/a&gt;&amp;gt;")&lt;/p&gt;
&lt;ul style="MARGIN-LEFT: 40px"&gt;
&lt;li&gt;Step:3 Edit the Page using Site Actions --&amp;gt; Edit Page option &lt;/li&gt;
&lt;li&gt;Step:4 Add a "Content Editor WebPart" right below the MyKPI web part&lt;/li&gt;
&lt;li&gt;Step:5 Click on the "Source Editor" button and add following code:&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="MARGIN-LEFT: 80px; FONT-SIZE: x-small"&gt;&amp;lt;script type="text/javascript"&amp;gt;

var theTDs = document.getElementsByTagName("TD");

var i=0;

var TDContent = " ";

while (i &amp;lt; theTDs.length) {

try {

TDContent = theTDs[i].innerText theTDs[i].textContent;

if ((TDContent.indexOf("&amp;lt;DIV") == 0) &amp;amp;&amp;amp; (TDContent.indexOf("&amp;lt;/DIV&amp;gt;") &amp;gt;= 0)) {


theTDs[i].innerHTML = TDContent;

}

}

catch(err){}

i=i+1;

}

function ExpGroupRenderData(htmlToRender, groupName, isLoaded) {

var tbody=document.getElementById("tbod"+groupName+"_");

var wrapDiv=document.createElement("DIV");

wrapDiv.innerHTML="&amp;lt;TABLE&amp;gt;&amp;lt;TBODY id=\"tbod"+ groupName+"_\" isLoaded=\""+isLoaded+
"\"&amp;gt;"+htmlToRender+"&amp;lt;/TBODY&amp;gt;&amp;lt;/TABLE&amp;gt;";

var theTBODYTDs = wrapDiv.getElementsByTagName("TD"); var j=0; var TDContent = "
";

while (j &amp;lt; theTBODYTDs.length) {

try {

TDContent = theTBODYTDs[j].innerText theTBODYTDs[j].textContent;

if ((TDContent.indexOf("&amp;lt;DIV") == 0) &amp;amp;&amp;amp; (TDContent.indexOf("&amp;lt;/DIV&amp;gt;") &amp;gt;= 0)) {


theTBODYTDs[j].innerHTML = TDContent;

}

}

catch(err){}

j=j+1;

}

tbody.parentNode.replaceChild(wrapDiv.firstChild.firstChild,tbody);

}

&amp;lt;/script&amp;gt;

&lt;/p&gt;
&lt;p&gt;
&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; HEIGHT: 207px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5350582401414471074" border="0" alt="" src="http://4.bp.blogspot.com/_5gFhcGhYqIk/SkEWWHHEHaI/AAAAAAAAAKE/XVEPE7j_8Pk/s320/KPI_In_Action_edit.JPG" /&gt;&lt;/p&gt;
&lt;ul style="MARGIN-LEFT: 40px"&gt;&lt;li&gt;Step:7 Go to Layout property of content editor web part and check Hidden checkbox.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
As you noticed ...We are done!!! You should be able to see the dashboard as shown in figure 1.

I am sure you like to know what happens in this JavaScript and Calculated
Column? &lt;/p&gt;
&lt;p&gt;
Here we go...It is very simple. First, Google provides charting API and we are calculating the chart
formula using calculated column and to render the picture in the list we
are using JavaScript with Content Editor WebPart. &lt;/p&gt;
&lt;p&gt;Isn't REST/Cloud computing easy? &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-5811076016740659290?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/5811076016740659290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=5811076016740659290' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5811076016740659290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5811076016740659290'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/06/cloud-or-external-rest-based-computing.html' title='Cloud or External REST based computing and SharePoint'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5gFhcGhYqIk/SkEWhWmjZRI/AAAAAAAAAKM/5ZTGJuanvTk/s72-c/KPI_In_Action.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-4541962110174547076</id><published>2009-05-28T11:53:00.000-07:00</published><updated>2009-05-28T11:56:24.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Upgrade'/><title type='text'>Upgrade to WSS3.0/MOSS 2007 using Database Migration</title><content type='html'>&lt;p&gt;If you have a single server running WSS2.0/SharePoint 2003 without any customizations and you would like to upgrade to WSS3.0/MOSS 2007 then Database Migration may be the option worth looking at. In this post, I will describe the high level steps in upgrade process that would provide key guidance needed to complete your upgrade process. &lt;/p&gt;
&lt;ol&gt;
 &lt;li&gt;Prepare MOSS 2007 environment&lt;/li&gt;
     &lt;ul&gt;
   &lt;li&gt;This activity includes key tasks such as collecting requirements 
   around MOSS 2007, MS SQL Server 2005/2008, IIS and .NET and 
   respective licenses needed. &lt;/li&gt;
   &lt;li&gt;Most Importantly at this stage you need to layout a plan for 
   your storage needs. I recommend having 3 times more storage than 
   your existing content database sizes.&lt;/li&gt;
     &lt;/ul&gt;
 &lt;li&gt;Run PreScan on SharePoint Portal Server 2003&lt;/li&gt;
     &lt;ul&gt;
   &lt;li&gt;After preparing MOSS 2007 environment, Locate PreScan.exe from C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN folder&lt;/li&gt;
   &lt;li&gt;Execute prescan.exe /all command&lt;/li&gt;
   &lt;li&gt;Save Results from %temp% folder (go to start--&amp;gt; run --&amp;gt; %temp%) to secure store for review&lt;/li&gt;
   &lt;li&gt;Review report for Number of broken webs, custom templates and unghosted 
   pages (it should be 0)&lt;/li&gt;
     &lt;/ul&gt;
 &lt;li&gt;Backup content database (_SITE) of SharePoint Portal Server 2003 &lt;/li&gt;
     &lt;ul&gt;
   &lt;li&gt;If you are running SQL 2005, then Launch SQL Server Management 
   Studio. (other SQL versions refer web resources for backup/restore 
   operations)&lt;/li&gt;
   &lt;li&gt;Connect to SharePoint 2003 Database using connection information&lt;/li&gt;
   &lt;li&gt;Expand Databases tree and right-click the content database (*_SITE) 
   that you want to back up, point to Tasks, and then click Back Up&lt;/li&gt;
   &lt;li&gt;In Back Up Database dialog box, Verify Backup type as Full and backup component as Database and Destination section has correct information and storage space&lt;/li&gt;
   &lt;li&gt;Click OK to start backup&lt;/li&gt;
     &lt;/ul&gt;
 &lt;li&gt;Restore the back up on SQL Server attached with MOSS 2007&lt;/li&gt;
     &lt;ul&gt;
            &lt;li&gt;Launch SQL Server Management Studio (SQL 2005)&lt;/li&gt;
   &lt;li&gt;Connect to SharePoint 2007 Database using connection information, and then click Connect&lt;/li&gt;
   &lt;li&gt;Expand Database, right-click the database you want to restore&lt;/li&gt;
            &lt;li&gt;In Restore Database dialog box, verify the path information and click OK&lt;/li&gt;
     &lt;/ul&gt;
 &lt;li&gt;Create web application in MOSS 2007&lt;/li&gt;
     &lt;ul&gt;
            &lt;li&gt;Connect to SharePoint Central Administration using administrator credentials&lt;/li&gt;
   &lt;li&gt;Under SharePoint Web Application Management group, click on “Create or extend Web application”&lt;/li&gt;
   &lt;li&gt;Provide information based on your requirement &lt;/li&gt;
   &lt;li&gt;[Note: Remember content database name that you provide during 
   this step as we need to remove it in a next step]&lt;/li&gt;
     &lt;/ul&gt;
 &lt;li&gt;Remove content database of the newly created web application in MOSS 
 2007&lt;/li&gt;
     &lt;ul&gt;
            &lt;li&gt;Using stsadm command below remove content database for newly created web application&lt;/li&gt;
   &lt;li&gt;stsadm.exe -o deletecontentdb -url &lt;URL name&gt; -databasename &lt;database name&gt; [-databaseserver] &lt;database server name&gt;&lt;/li&gt;
     &lt;/ul&gt;
 &lt;li&gt;Attach restored content database (_SITE) with the newly created web application in MOSS 2007
 &lt;/li&gt;
     &lt;ul&gt;
            &lt;li&gt;Using stsadm command add database to web application&lt;/li&gt;
   &lt;li&gt;stsadm.exe -o addcontentdb -url &lt;URL name&gt; -databasename &lt;database name&gt; [-databaseserver &lt;database server name&gt;]
[-databaseuser &lt;database username&gt;] [-databasepassword &lt;database password&gt;] 
[-sitewarning &lt;site warning count&gt;] [-sitemax &lt;site max count&gt;]&lt;/li&gt;
     &lt;/ul&gt;

&lt;/ol&gt;

&lt;p&gt;That&amp;#39;s it. You should be able to see all your content in WSS 3.0/MOSS 2007. Please let me know if you need specific help in resolving issues that you come 
accross.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-4541962110174547076?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/4541962110174547076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=4541962110174547076' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4541962110174547076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4541962110174547076'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/05/upgrade-to-wss30moss-2007-using.html' title='Upgrade to WSS3.0/MOSS 2007 using Database Migration'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-9081199779328012815</id><published>2009-05-08T05:56:00.000-07:00</published><updated>2009-05-08T12:22:05.422-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Custom Fields'/><category scheme='http://www.blogger.com/atom/ns#' term='Speaking Enggagements'/><title type='text'>Presenting - Roundtable session on Custom Fields at  Regional SharePoint Users Conference 2009</title><content type='html'>&lt;em&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;Join me at Regional SharePoint Users Conference 2009 for "SharePoint Developer Topics" Roundtable. We will Share real business scenarios, best practices with respect to Custom Fields development. If you have not registered yet then please do so. &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;
&lt;em&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;
&lt;strong&gt;Event Date:&lt;/strong&gt; Saturday June 27th, 2009 @ 3:30 - 4:30 PM ET
&lt;strong&gt;Event Location:&lt;/strong&gt; Holiday Inn Dullas,45425 Holiday Dr, Sterling, VA
&lt;strong&gt;Entry Fee:&lt;/strong&gt; 299 USD/2 Days

For latest information on conference, schedules and speakers , check the &lt;a href="http://www.sugdc.org/" target="_blank"&gt;SUGDC web&lt;/a&gt;
and to register for a confrence go to &lt;a href="http://rsuc09.eventbrite.com/" target="_blank"&gt;Register for RSUC 2009&lt;/a&gt;

See you there!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-9081199779328012815?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/9081199779328012815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=9081199779328012815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/9081199779328012815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/9081199779328012815'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/05/presenting-roundtable-session-on-custom.html' title='Presenting - Roundtable session on Custom Fields at  Regional SharePoint Users Conference 2009'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-6385019853292865031</id><published>2009-05-04T06:27:00.000-07:00</published><updated>2009-05-04T06:37:03.120-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Administration Updates'/><title type='text'>SP2 Released (WSS 3.0 &amp; SharePoint 2007) April 28, 2009</title><content type='html'>&lt;p&gt;I know we just got relaxed after applying Infrastructure Update and implementing federated search. However, I recommend you all to start downloading SP2 and keep your environment current with latest service pack level. For detailed Instructions on installing refer detailed article from 
Microsoft.&lt;br /&gt;
The Service Pack 2 includes all major updates starting from the release of WSS 3.0 and Microsoft Office SharePoint Server 2007. Plus it includes the hotfixes 
and other improvements by Microsoft.
Updates Included in SP2:&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;February 2009 Cumulative Update&lt;/li&gt;
 &lt;li&gt;December 2008 Cumulative Update&lt;/li&gt;
 &lt;li&gt;October 2008 Cumulative Update&lt;/li&gt;
 &lt;li&gt;Infrastructure Update&lt;/li&gt;
 &lt;li&gt;Service Pack 1&lt;/li&gt;
&lt;/ul&gt;
&lt;B&gt;&lt;u&gt;&lt;/u&gt;Steps for Installation:&lt;/u&gt;&lt;/B&gt;&lt;br /&gt;
&lt;strong&gt;1. Apply SP2 for WSS3.0&lt;/strong&gt;&lt;br /&gt;
http://www.microsoft.com/downloads/details.aspx?FamilyID=79bada82-c13f-44c1-bdc1-d0447337051b&lt;br /&gt;
&lt;strong&gt;2. Apply SP2 for MOSS 2007&lt;br /&gt;
&lt;/strong&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=b7816d90-5fc6-4347-89b0-a80deb27a082&lt;br /&gt;
&lt;strong&gt;3. Apply Language Pack Service Pack 2 (SP2) [If applicable]&lt;br /&gt;
&lt;/strong&gt;http://www.microsoft.com/downloads/details.aspx?familyid=085E5AC8-58F6-4CF9-8012-33B95EE36C0F&lt;br /&gt;
&lt;strong&gt;4. Apply Microsoft Office SharePoint Designer 2007 Service Pack 2 (SP2) [if 
applicable]&lt;br /&gt;
&lt;/strong&gt;http://www.microsoft.com/downloads/details.aspx?familyid=88EFF285-0B92-45ED-979B-65AA22304DD6&lt;br /&gt;
&lt;strong&gt;5. Apply The 2007 Microsoft Office Suite Service Pack 2 (SP2) [if applicable]&lt;br /&gt;
&lt;/strong&gt;http://www.microsoft.com/downloads/details.aspx?familyid=C126FA4A-B43F-4F7E-A9D4-522E92A6CFEE&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-6385019853292865031?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/6385019853292865031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=6385019853292865031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/6385019853292865031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/6385019853292865031'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/05/sp2-released-wss-30-sharepoint-2007.html' title='SP2 Released (WSS 3.0 &amp; SharePoint 2007) April 28, 2009'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-4145576659361738557</id><published>2009-04-24T11:16:00.000-07:00</published><updated>2009-04-24T11:21:53.194-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><title type='text'>Increase maximum export size of List in SharePoint 2007</title><content type='html'>If you would like to take a backup of a list or site template with data then I would like you to know there is a out of the box preset limit of 10485760 bytes and your save list operation will fail with following error message.

&lt;span style="color:#ff0000;"&gt;"The list is too large to save as a template. The size of a template cannot exceed 10485760 bytes."&lt;/span&gt;

The easy way to get around this is to increase the max size property so that you can export list successfully. You can increase the maximum size of a list / site template using stsadm command as shown below:

stsadm -o -propertyname pn -propertyvalue X

&lt;pre&gt;
Where...... pn = Property Name, In our case it is "max-template-document-size"
             X = Number of Days
&lt;/pre&gt;
For example, If you would like the max limit pushed up to 300MB then you want to execute following command.

stsadm -o setproperty -propertyname max-template-document-size -propertyvalue 30000000

&lt;span style="color:#660000;"&gt;Note: I belive that it supports property value upto 500 MB
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-4145576659361738557?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/4145576659361738557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=4145576659361738557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4145576659361738557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4145576659361738557'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/04/increase-maximum-export-size-of-list-in.html' title='Increase maximum export size of List in SharePoint 2007'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-8202880421307942015</id><published>2009-04-21T06:50:00.000-07:00</published><updated>2009-04-21T07:04:45.574-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><title type='text'>Configuring New Item Icon in SharePoint 2007</title><content type='html'>When End users add new items to a list in SharePoint, a 'New Item' icon is displayed next to the new item. And, I came across the client requirement to remove "New Item" icon from list items after X number of days.

So, How to implement that customer's requirement? Trick is very simple.. using stsadm command has a switch to allow you to change how long you would like "New Item" icon to be displayed.

stsadm -o setproperty -pn days-to-show-new-icon -pv X

&lt;pre&gt;
Where...... -pn = Property Name, In our case it is "days-to-show-new-icon"
            -pv = Property Value
              X = Number of Days
&lt;/pre&gt;

For example, If you would like "New Item" icon to be displayed for 2 days then you want to execute following command.

stsadm -o setproperty -pn days-to-show-new-icon -pv 2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-8202880421307942015?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/8202880421307942015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=8202880421307942015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/8202880421307942015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/8202880421307942015'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/04/configuring-new-item-icon-in-sharepoint.html' title='Configuring New Item Icon in SharePoint 2007'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-1213625253317952361</id><published>2009-04-09T13:01:00.001-07:00</published><updated>2009-04-09T13:01:08.542-07:00</updated><title type='text'>SharePoint 2007 and Custom Fields</title><content type='html'>&lt;img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bHQ9MTIzOTMwNzIxNTA3MSZwdD*xMjM5MzA3MjU*OTE1JnA9MTAxOTEmZD1saXNzX3N2Jm49YmxvZ2dlciZnPTEmdD*mbz*5NDZlZjZmY2I5YzA*MjJkODMyZDI1MmI3NGM*YzM4Yg==.gif" /&gt;&lt;div style='width:425px;text-align:left'&gt;&lt;object style='margin:0px' width='425' height='355'&gt;&lt;param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?doc=sugdcmosscustomfields-123930677775-phpapp01&amp;stripped_title=sugdcmosscustomfields' /&gt;&lt;param name='allowFullScreen' value='true'/&gt;&lt;param name='allowScriptAccess' value='always'/&gt;&lt;embed src='http://static.slideshare.net/swf/ssplayer2.swf?doc=sugdcmosscustomfields-123930677775-phpapp01&amp;stripped_title=sugdcmosscustomfields' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='425' height='355'&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-1213625253317952361?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/1213625253317952361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=1213625253317952361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1213625253317952361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1213625253317952361'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/04/sharepoint-2007-and-custom-fields_09.html' title='SharePoint 2007 and Custom Fields'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-4012121385260299835</id><published>2009-03-27T09:32:00.000-07:00</published><updated>2009-03-30T17:27:08.227-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Event Log'/><title type='text'>Event ID 202: Synchronization exception occurred</title><content type='html'>We were working on an SharePoint 2003 to MOSS 2007 upgrade and noticed that after upgrade we started getting an application error generated every 30 seconds: "Event ID 202 Synchronization exception occurred"

The solution was very obvious but not known as the message was not clear enough. After looking at services, we noticed that all old services for SharePoint 2003 were running. Then, We stopped all Services from SharePoint 2003 and error stopped.


1. Go to start-&amp;gt;Run and type services.msc

2. Look for "SharePoint Portal Alert" and "SharePoint Timer Service"

3. Right click on property of each of the running service and stop and select
startup type "Disabled", Click "OK"

4. Review Application Log


I would advise that please take a look at all your SharePoint 2003 services and stop them. After that please make sure you set the Startup Type as Disabled, otherwise they will come back again after reboot.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-4012121385260299835?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/4012121385260299835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=4012121385260299835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4012121385260299835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4012121385260299835'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/03/event-id-202-synchronization-exception.html' title='Event ID 202: Synchronization exception occurred'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-5298183542623075703</id><published>2009-03-18T09:10:00.000-07:00</published><updated>2009-03-18T09:15:05.449-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom Fields'/><category scheme='http://www.blogger.com/atom/ns#' term='Speaking Enggagements'/><title type='text'>Presenting - "Working with Custom Fields in SharePoint 2007" at SUGDC</title><content type='html'>&lt;em&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;Topic: Working with Custom Fields in SharePoint 2007 &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;
&lt;strong&gt;&lt;/strong&gt;
&lt;strong&gt;Approx. Time: &lt;/strong&gt;30 - 45 mins
&lt;strong&gt;Suggested Audience:&lt;/strong&gt; Architects, Developers
&lt;strong&gt;Audience Experience level:&lt;/strong&gt; Intermediate, Expert
&lt;strong&gt;Event Date:&lt;/strong&gt; Thursday April 9th, 2009 @ 6 PM ET
&lt;strong&gt;Event Location:&lt;/strong&gt; Hire Strategy, 11730 Plaza America Drive Reston, VA 20190
&lt;strong&gt;Entry Fee:&lt;/strong&gt; Free

&lt;strong&gt;Agenda: &lt;/strong&gt;
&lt;ul&gt;&lt;li&gt;6:00 PM Meet, Greet and Eat (food and drinks provided by Surfray) &lt;/li&gt;&lt;li&gt;7:00 PM group business, sponsor introductions, summer conference plans &lt;/li&gt;&lt;li&gt;7:15 PM Presentations &lt;/li&gt;&lt;/ul&gt;===============================================

For more latest information check the SUGDC Event Web

&lt;a href="http://sugdc.org/Events/Meetings/tabid/57/Default.aspx" target="_blank"&gt;http://sugdc.org/Events/Meetings/tabid/57/Default.aspx&lt;/a&gt;

Please feel free to join me at SUGDC Event&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-5298183542623075703?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/5298183542623075703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=5298183542623075703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5298183542623075703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5298183542623075703'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/03/presenting-working-with-custom-fields.html' title='Presenting - &quot;Working with Custom Fields in SharePoint 2007&quot; at SUGDC'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-6779365713885635459</id><published>2009-03-10T08:41:00.000-07:00</published><updated>2009-03-10T08:48:23.476-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Documentation'/><title type='text'>Enterprise Technical Architecture Document Outline</title><content type='html'>&lt;p&gt;I have been providing technical architecture document to our customers and always try to improve on the depth of the technical and functional details need to be available. I understand that good project documentation needs great deal of time and effort but always returns more value in a long run. &lt;/p&gt;&lt;p&gt;In this article I will be sharing the key major sections and sub sections which need to be included in Technical Architecture document.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-size:130%;"&gt;Enterprise Technical Architecture - Document Outline&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;
&lt;/p&gt;&lt;p&gt;1.0 Project Overview&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 40px"&gt;1.1 Background&lt;/p&gt;&lt;p style="MARGIN-LEFT: 40px"&gt;1.2 Audience

1.3 References

1.4 Vision and Scope

1.5 Implementation RoadMap
&lt;/p&gt;
&lt;p&gt;2.0 Enterprise Architecture&lt;/p&gt;
&lt;p&gt;Diagram showing all Environments with
description&lt;/p&gt;
&lt;p&gt;3.0 Development Environment (if applicable)&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 40px"&gt;3.1 Logical Farm Architecture

3.2 Physical Farm Architecture

3.3 Databases Planning

3.4 Software Application Planning

3.5 Capacity Planning

3.6 Shared Services Strategy for Authentication, Search, BDC and Audiences

3.7 Application and Service Accounts

&lt;/p&gt;
&lt;p&gt;4.0 QA Environment (if applicable)&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 40px"&gt;4.1 Logical Farm Architecture

4.2 Physical Farm Architecture

4.3 Databases Planning

4.4 Software Application Planning

4.5 Capacity Planning

4.6 Shared Services Strategy for Authentication, Search, BDC and Audiences

4.7 Application and Service Accounts

&lt;/p&gt;
&lt;p&gt;5.0 Authoring/PreProduction Environment (if applicable)&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 40px"&gt;5.1 Logical Farm Architecture

5.2 Physical Farm Architecture

5.3 Databases Planning

5.4 Software Application Planning

5.5 Capacity Planning

5.6 Shared Services Strategy for Authentication, Search, BDC and Audiences

5.7 Application and Service Accounts&lt;/p&gt;
&lt;p&gt;6.0 Production Environment (if applicable)&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 40px"&gt;6.1 Logical Farm Architecture

6.2 Physical Farm Architecture

6.3 Databases Planning

6.4 Software Application Planning

6.5 Capacity Planning

6.6 Shared Services Strategy for Authentication, Search, BDC and Audiences

6.7 Application and Service Accounts &lt;/p&gt;
&lt;p&gt;7.0 High level Application Technical Design&lt;/p&gt;
&lt;p&gt;8.0 High level Application Technical Design&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 40px"&gt;8.1 Business Processes and Application Flows

8.2 Branding and Look &amp;amp; Feel

8.3 Portal Site Topology/Taxonomy Design

8.4 WebParts

8.5 Features

8.6 Search and Indexing

8.7 Security &lt;/p&gt;
&lt;p&gt;9.0 Operations and Maintenance&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 40px"&gt;9.1 HelpDesk Strategy [Reference to Operational support document]

9.2 Release management and Deployment Strategy

9.3 Backup/Restore operations

9.4 Installation and Configuration [Reference to Installation &amp;amp; configuration
document for each server role]
&lt;/p&gt;
&lt;p&gt;10.0 Help System&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 40px"&gt;10.1 User Manuals[Reference to user guide document]&lt;/p&gt;
&lt;p&gt;11.0 Key Contacts&lt;/p&gt;&lt;p&gt;11.0 Assumptions&lt;/p&gt;&lt;p&gt;&lt;strong&gt;End of Document&lt;/strong&gt;
&lt;/p&gt;&lt;p&gt;As I mentioned earlier, Assembling the document outlined above requires quality time and effort but believe me Your customers will like it. It goes with out saying but let me say it anyway, Feel free to add/remove sections and share your experience too. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-6779365713885635459?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/6779365713885635459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=6779365713885635459' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/6779365713885635459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/6779365713885635459'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/03/enterprise-technical-architecture.html' title='Enterprise Technical Architecture Document Outline'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-2304140156336869413</id><published>2009-03-06T07:55:00.000-08:00</published><updated>2009-03-06T08:29:55.893-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>What tools and s/w you must know to complete the job effectively?</title><content type='html'>I started asking all SharePoint Architects, Advanced Developers and Administrators about very same question - “What tools and s/w you must know to complete the job effectively?” and got range of the tools and experience that they applied in solution delivery. This post is a result of all feedback and my experience that allow SharePoint job handled much effectively.

&lt;strong&gt;1. Fundamentals&lt;/strong&gt;
&lt;ul&gt;&lt;li&gt;Windows Server 2003/2008 &lt;/li&gt;&lt;li&gt;MOF, ITIL, MSF Frameworks &lt;/li&gt;&lt;li&gt;IIS 6/7 &lt;/li&gt;&lt;li&gt;Basic knowledge of .NET Framework &lt;/li&gt;&lt;li&gt;Basic SQL Server 2000, 2005, 2008&lt;/li&gt;&lt;li&gt;Active Directory&lt;/li&gt;&lt;li&gt;WSS 3.0&lt;/li&gt;&lt;li&gt;MOSS 2007 &lt;/li&gt;&lt;li&gt;HTML, DHTML, AJAX &lt;/li&gt;&lt;li&gt;JavaScript &lt;/li&gt;&lt;li&gt;CSS &lt;/li&gt;&lt;li&gt;XML, XSL, XSLT&lt;/li&gt;&lt;li&gt;Office 2003/2007&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;2. Advanced Developer &lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;C# , ASP.NET&lt;/li&gt;&lt;li&gt;CAML &lt;/li&gt;&lt;li&gt;Web Services&lt;/li&gt;&lt;li&gt;SilverLight &lt;/li&gt;&lt;li&gt;Web Parts &lt;/li&gt;&lt;li&gt;Windows Workflow Foundation &lt;/li&gt;&lt;li&gt;Windows Presentation Foundation &lt;/li&gt;&lt;li&gt;Windows Communication Foundation&lt;/li&gt;&lt;li&gt;SharePoint Designer &lt;/li&gt;&lt;li&gt;U2U CAML query builder &lt;/li&gt;&lt;li&gt;XMLPad for XML/XSLT development &lt;/li&gt;&lt;li&gt;Spsdispose checker &lt;/li&gt;&lt;li&gt;U2U CAML Query builder&lt;/li&gt;&lt;li&gt;GUID generator&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;3. Solution Architects&lt;/strong&gt;
&lt;ul&gt;&lt;li&gt;Visual studio 2005/2008&lt;/li&gt;&lt;li&gt;Visual studio 2008 extension for SharePoint &lt;/li&gt;&lt;li&gt;.NET Reflector&lt;/li&gt;&lt;li&gt;STSDEV &lt;/li&gt;&lt;li&gt;WSPBIUILDER &lt;/li&gt;&lt;li&gt;BDC Designer from MOSS 2007 SDK&lt;/li&gt;&lt;li&gt;"MOSS BDC Design Studio" from Simego&lt;/li&gt;&lt;li&gt;BDCMetaMan from Todd &lt;/li&gt;&lt;li&gt;K2 Blackpearl for enterprisesPowershell&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;4. Administrators &amp;amp; Advanced Level Solution Architects  &lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;WSSDW.exe - SharePoint test data load tool&lt;/li&gt;&lt;li&gt;Scott Hillier's log viewer&lt;/li&gt;&lt;li&gt;Fiddler - For debugging &lt;/li&gt;&lt;li&gt;WSSAnalyzeFeatures - for analyzing features

&lt;u&gt;Network Skills &lt;/u&gt;&lt;/li&gt;&lt;li&gt;Basic Firewall rules and Proxy &lt;/li&gt;&lt;li&gt;IT Infrastructure Design &lt;/li&gt;&lt;li&gt;Hardware Acquisition (RAM, CPU, Disk I/O) &lt;/li&gt;&lt;li&gt;Performance Monitoring &lt;/li&gt;&lt;li&gt;Capacity Planning &lt;/li&gt;&lt;li&gt;Growth Management &lt;/li&gt;&lt;li&gt;Exchange and SMTP integration &lt;/li&gt;&lt;li&gt;High Availability Configuration &lt;/li&gt;&lt;li&gt;Storage: Appliances - HBAs, SANs &lt;/li&gt;&lt;li&gt;Backup Solutions: Various Tape &lt;/li&gt;&lt;li&gt;HW and SW snapshots &lt;/li&gt;&lt;li&gt;Hardware load balancing &lt;/li&gt;&lt;li&gt;DNS/WINS (Name Resolution) &lt;/li&gt;&lt;li&gt;TCP/IP &amp;amp; other network considerations &lt;/li&gt;&lt;li&gt;Global Deployments - Multi farm deployments &lt;/li&gt;&lt;li&gt;Caching Antivirus management solutions like Forefront &lt;/li&gt;&lt;li&gt;SQL Server 2005 Advanced Database Administration (Backup, Monitoring, Log shipping or Database Mirroring)&lt;/li&gt;&lt;li&gt;Virtualization - Virtual Server 2005, Virtual PC and VMware&lt;/li&gt;&lt;li&gt;MOM Systems Center Operations &lt;/li&gt;&lt;li&gt;ISA Secure Web Publishing &lt;/li&gt;&lt;li&gt;IAG (Internet Application Gateway) Whale Communications &lt;/li&gt;&lt;li&gt;Dev, Test, Staging, Production - Staged Environments &lt;/li&gt;&lt;li&gt;WAN and Network performance testing &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;5. Solution Integrator and Migration&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Knowledge of Public Folders&lt;/li&gt;&lt;li&gt;Data warehouses RDBMS&lt;/li&gt;&lt;li&gt;Office Interoperability (Word, Excel, Access, PowerPoint, Outlook) &lt;/li&gt;&lt;li&gt;InfoPath forms Integration &lt;/li&gt;&lt;li&gt;Visio integration &lt;/li&gt;&lt;li&gt;SQL Reporting and Analysis services Integration&lt;/li&gt;&lt;li&gt;Web Services integration &lt;/li&gt;&lt;li&gt;Search/Indexing Integration&lt;/li&gt;&lt;li&gt;Single Sign on integration &lt;/li&gt;&lt;li&gt;&lt;u&gt;&lt;strong&gt;External Systems&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;&lt;li&gt;Knowledge of Documentum, Lotus Notes, CMS and WebSphere &lt;/li&gt;&lt;li&gt;&lt;u&gt;&lt;strong&gt;Integration Patterns&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;&lt;li&gt;Microsoft Project Server Integration&lt;/li&gt;&lt;li&gt;Microsoft BizTalk 2006 Integration&lt;/li&gt;&lt;li&gt;Microsoft Performance Point Server Integration&lt;/li&gt;&lt;li&gt;Microsoft Commerce Server Integration &lt;/li&gt;&lt;li&gt;Microsoft Communication Server Integration &lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;u&gt;ERP&lt;/u&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Microsoft Dynamics (CRM, ERP, AXAPTA, Great Plains, etc.) &lt;/li&gt;&lt;li&gt;SAP integration&lt;/li&gt;&lt;li&gt;BDC Siebel web services integration Oracle Financials integration&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;At Last, I would recommend review of community resources from &lt;a href="http://www.codeplex.com/"&gt;codeplex.com&lt;/a&gt; and great reviews from &lt;a href="http://www.sharepointreviews.com/"&gt;Sharepointreviews.com&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Thank you!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-2304140156336869413?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/2304140156336869413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=2304140156336869413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2304140156336869413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2304140156336869413'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/03/what-tools-and-sw-you-must-know-to.html' title='What tools and s/w you must know to complete the job effectively?'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-7403562854141352413</id><published>2009-02-23T06:57:00.000-08:00</published><updated>2009-02-23T07:13:51.028-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebParts'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='GAC'/><title type='text'>Hacking the GAC to view GAC as a standard directory browsing</title><content type='html'>Last week, I was comparing two environments (Dev &amp;amp; QA) to see what assemblies are missing in QA environment ?

This post is a trick and it is not recommanded as a best practice. However, I felt that this is very cool and nice trick, if you wanted to move a copy of the assmebly from one box to other.

1. Open Registry Editor using Start--&gt; Run--&gt; Type "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;RegEdit&lt;/span&gt;"  Command
2. Navigate to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;HKEY&lt;/span&gt;_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
3. Find "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DisableCacheViewer&lt;/span&gt;" and set its value to 1 and Click OK

Now, Navigate to C:\WINDOWS\assembly. It is your friendly folders. copy or move the assemblies you need and then make sure to set new of "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;DisableCacheViewer&lt;/span&gt;" to "0" when you are done.

I hope you don't break your registry on the server. My Advise #1 - "Take a backup of registry before making any change!"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-7403562854141352413?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/7403562854141352413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=7403562854141352413' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7403562854141352413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7403562854141352413'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/02/hacking-gac-to-view-gac-as-standard.html' title='Hacking the GAC to view GAC as a standard directory browsing'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-2579693337703652181</id><published>2009-02-16T07:41:00.000-08:00</published><updated>2009-02-16T07:46:08.878-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2003'/><title type='text'>Remove corrupted and/or orphaned records from SharePoint content</title><content type='html'>&lt;p&gt;Yes, You never checked and they are there!!! Orphaned records can cause a lot of trouble and cause the space issues. SharePoint content databases need to be monitored on a periodic interval to spot and identify such corruptions. if you want to know how did we got Orphaned records then i recommand you to read post from &lt;a href="http://blogs.technet.com/corybu/archive/2007/05/31/sharepoint-orphans-explained.aspx"&gt;Cory Burns - Sharepoint Orphans Explained&lt;/a&gt;

The process of identifying corruption is very straight forward. Just fire-up STSADM command to find out if corruption is there...

stsadm -o databaserepair -url {&lt;a href="http://yourservername/website%7D%20-databasename%20%7BContentDBName%7D"&gt;http://yourservername/website%7D%20-databasename%20%7BContentDBName%7D&lt;/a&gt;&gt; c:\mycorruptions.txt

Note: Make sure you have enough space on the drive where you are creating "mycorruptions.txt" file&lt;/p&gt;&lt;p&gt;Open "mycorruptions.txt" file which will display the list of all orphaned records. If your file has no records then there is no corruption and you need to keep doing same for all of your webSites.&lt;/p&gt;&lt;p&gt;However, If you do get records in "mycorruptions.txt" file then, you can eliminate the corruption by executing same command which we executed earlier with -deletecorruption switch.

stsadm -o databaserepair -url {&lt;a href="http://yourservername/website%7D%20-databasename%20%7BContentDBName%7D"&gt;http://yourservername/website%7D%20-databasename%20%7BContentDBName%7D&lt;/a&gt; -deletecorruption

Hope this article helps.... &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-2579693337703652181?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/2579693337703652181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=2579693337703652181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2579693337703652181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2579693337703652181'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/02/yes-you-never-checked-and-they-are.html' title='Remove corrupted and/or orphaned records from SharePoint content'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-5971118760934919266</id><published>2009-01-22T07:36:00.000-08:00</published><updated>2009-01-22T08:04:19.801-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Administration Updates'/><category scheme='http://www.blogger.com/atom/ns#' term='Resources'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2003'/><title type='text'>SharePoint versions, Service Packs, HotFixes</title><content type='html'>How can one find out what version of SharePoint is running?

At First, It may sound tricky but to find version of any product that you have on Microsoft platform is very simple. Just go to Control Panel -&gt; Add and Remove Programs Select the product and then click "Click here for support" option. The versions will be displayed.

I have been collecting version information from various blogs, posts and environment I came across. Please share versions you came across and not listed below: So far, I have seen following versions of SharePoint.
&lt;pre style="font-size: xx-small; font-family: Arial, Helvetica, sans-serif; background-color: #C0C0C0;"&gt;
   MOSS 2007/WSS 3.0 Infrastructure Update (KB951695, KB951297) 12.0.0.6318
   MOSS 2007/WSS 3.0 post-SP1 hotfix (KB948945)                 12.0.0.6303
   MOSS 2007/WSS 3.0 post-SP1 hotfix (KB941274)                 12.0.0.6301
   MOSS 2007/WSS 3.0 post-SP1 hotfix (KB941422)                 12.0.0.6300
   MOSS 2007/WSS 3.0 SP1                                        12.0.0.6219    
   MOSS 2007/WSS 3.0 October public update                      12.0.0.6039    
   MOSS 2007/WSS 3.0 August 24, 2007 hotfix package             12.0.0.6036    
   MOSS 2007/WSS 3.0 RTM                                        12.0.0.4518    
   MOSS 2007/WSS 3.0 Beta 2 TR:                                 12.0.0.4407
   MOSS 2007/WSS 3.0 Beta 2:                                    12.0.0.4017
   WSS 2.0 SP3                                                   6.0.2.8165
   WSS 2.0 SP2 KB900929 + KB924881                               6.0.2.8117
   WSS 2.0 SP2 rollup KB900929                                   6.0.2.8000 
   WSS 2.0 SP2                                                   6.0.2.6568
   WSS 2.0 SP2 Beta = R2:                                        6.0.2.6551    
   WSS 2.0 SP1 + KB887981                                        6.0.2.6411
   WSS 2.0 SP1:                                                  6.0.2.6361    
   WSS 2.0 Unservice packed:                                     6.0.2.5530

&lt;/pre&gt;

&amp;nbsp;&lt;br&gt;

&lt;pre style="font-size: xx-small; font-family: Arial, Helvetica, sans-serif; background-color: #CCFF99;"&gt;
&lt;strong&gt;References:&lt;/strong&gt;

 &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=875DA47E-89D5-4621-A319-A1F5BFEDF497&amp;amp;displaylang=en"&gt;kB841876 Windows SharePoint Services Service Pack 1&lt;/a&gt;
 &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=4191A531-A2E9-45E4-B71E-5B0B17108BD2&amp;amp;displaylang=en"&gt;KB936988 Windows SharePoint Services 3.0 Service Pack 1 (SP1)&lt;/a&gt;
 &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=AD59175C-AD6A-4027-8C2F-DB25322F791B&amp;amp;displaylang=en"&gt;KB936984 2007 Microsoft Office Servers Service Pack 1 (SP1)&lt;/a&gt;
 &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9c552114-dc9a-43ee-9281-b080b7c280b4&amp;amp;DisplayLang=en"&gt;KB887981 Windows SharePoint Services 2.0 Service Pack 2 (SP2)&lt;/a&gt;
 &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=6BB93661-0CE7-46CF-B8BB-55546B58A2F2&amp;amp;displaylang=en"&gt;KB887981 Security Update for Windows SharePoint Services (KB887981)&lt;/a&gt;
 &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=2BBFC89B-EB59-49FF-B58F-684693CB25A7&amp;amp;displaylang=en"&gt;KB923643 Windows SharePoint Services Service Pack 3 (SP3)&lt;/a&gt;
 &lt;a href="http://razi.spaces.live.com/blog/cns!612EA30171E9AE3A!835.entry"&gt;Razi's blog&lt;/a&gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-5971118760934919266?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/5971118760934919266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=5971118760934919266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5971118760934919266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5971118760934919266'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/01/sharepoint-versions-service-packs.html' title='SharePoint versions, Service Packs, HotFixes'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-1460324881207496559</id><published>2009-01-21T08:22:00.000-08:00</published><updated>2009-01-21T08:29:11.252-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration Updates'/><category scheme='http://www.blogger.com/atom/ns#' term='Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2003'/><title type='text'>SharePoint 2003 Web Part Error</title><content type='html'>&lt;pre style="FONT-WEIGHT: bold; COLOR: #ff0000"&gt;SharePoint 2003 Web Part Error
This page has encountered a critical error. Contact your system administrator if this problem persists.
&lt;/pre&gt;

If you have seen above error on SharePoint 2003 portal home and on every web part, then you need a time machine. I know what you are trying to do here. You are preparing Windows 2003 server with SharePoint 2003. Am I right?

Well the good news is ... Solution is very simple. Just check .NET tab for the Virtual directory running SharePoint Central Administration and see what .NET framework it is running under. if you see ASP.NET 2.0 then all we need is to revert it to ASP.NET 1.1 and don't forget to reset IIS!!!

Detailed Steps:
&lt;pre style="BACKGROUND-COLOR: #ccffff"&gt;
&lt;b&gt;Step 1&lt;/b&gt;:  On Command Prompt go to the Microsoft .NET Framework
folder
CD C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
&lt;b&gt;Step 2&lt;/b&gt;:  Register ASP.NET 1.1 to IIS using following command.
aspnet_regiis –i
aspnet_regiis –c
&lt;b&gt;Step 3&lt;/b&gt;:  Re start IIS server
iisreset
&lt;/pre&gt;

&lt;p&gt;Did you know why I was referring to "time machine"? Good Luck!! &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-1460324881207496559?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/1460324881207496559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=1460324881207496559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1460324881207496559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1460324881207496559'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/01/sharepoint-2003-web-part-error.html' title='SharePoint 2003 Web Part Error'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-5010299708174126031</id><published>2009-01-14T10:55:00.000-08:00</published><updated>2009-01-14T10:58:58.690-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration Updates'/><title type='text'>Important updates for SharePoint 2007, WSS 3.0 and Project Server</title><content type='html'>Please update your server environment with latest Microsoft updates.
&lt;p&gt;
&lt;strong&gt;For SharePoint 2007 &lt;/strong&gt;
Infrastructure Update for Microsoft Office Servers (KB951297) - x86
Infrastructure Update for Microsoft Office Servers (KB951297) - x64

&lt;strong&gt;For WSS 3.0&lt;/strong&gt;
Infrastructure Update for Windows SharePoint Services 3.0 (KB951695) - x86
Infrastructure Update for Windows SharePoint Services 3.0 (KB951695) - x64

&lt;strong&gt;For Project Server 2007
&lt;/strong&gt;Infrastructure Update for Microsoft Office Project 2007 (KB951547) - x86&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-5010299708174126031?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/5010299708174126031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=5010299708174126031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5010299708174126031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5010299708174126031'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2009/01/important-updates-for-sharepoint-2007.html' title='Important updates for SharePoint 2007, WSS 3.0 and Project Server'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-5942757289852494876</id><published>2008-12-23T06:48:00.000-08:00</published><updated>2008-12-23T07:12:43.523-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><category scheme='http://www.blogger.com/atom/ns#' term='Resources'/><title type='text'>Attaching event handler as a Windows SharePoint Services Feature</title><content type='html'>&lt;p&gt;In this post, we will create Event Handler for Announcement List. You can have Event Handler attached to following events at varied scope. These events could be ContextEvent,ItemAdded, ItemAdding, ItemAttachmentAdded, ItemAttachmentAdding, ItemAttachmentDeleted, ItemAttachmentDeleting, ItemCheckedIn, ItemCheckedOut, ItemCheckingIn, ItemCheckingOut, ItemDeleted, ItemDeleting, ItemFileConverted, ItemFileMoved, ItemFileMoving, ItemUncheckedOut, ItemUncheckingOut, ItemUpdated and ItemUpdating.
Let's start creating myEventHandler. Please follow steps as provided and validate the code.
Step 1. Create a folder under Hive 12 TEMPLATE/FEATURES called myEventHandler.
Step 2. Create a feature.xml for the Feature and its manifest.
Step 3. Set the feature scope to Web site and Replace GUID with unique GUID using Visual Studio.
&lt;/p&gt;
&lt;pre style="background-color: #CCFF99"&gt;
&amp;lt;Feature Scope="Web" Title="My Event Handler" Id="GUID"
   xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;
&amp;lt;ElementManifests&amp;gt;
&amp;lt;ElementManifest Location="Elements.xml"/&amp;gt;
&amp;lt;/ElementManifests&amp;gt;
&amp;lt;/Feature&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Step 4. Create an Elements.xml file that identifies the assembly, class, and method to implement as the event handler. In this sample we are attaching event handler to all announcements lists of the site (ListTemplateID = 104). You can also use other ListTemplateID's, For e.g. Custom List(100), Document Library (101), Survey (102), Links List(103), Announcements List(104), Contacts List (105), Events List (106), Tasks List (107), Discussion Board (108) and Picture Library(109).
&lt;/p&gt;
&lt;pre style="background-color: #CCFF99"&gt;
&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;
&amp;lt;Receivers ListTemplateId="104"&amp;gt;
&amp;lt;Receiver&amp;gt;
&amp;lt;Name&amp;gt;myEventHandler&amp;lt;/Name&amp;gt;
&amp;lt;Type&amp;gt;ItemDeleting&amp;lt;/Type&amp;gt;
&amp;lt;SequenceNumber&amp;gt;10000&amp;lt;/SequenceNumber&amp;gt;
&amp;lt;Assembly&amp;gt;myEventHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=????&amp;lt;/Assembly&amp;gt;
&amp;lt;Class&amp;gt;myEventHandler.LogAction&amp;lt;/Class&amp;gt;
&amp;lt;Data&amp;gt;&amp;lt;/Data&amp;gt;
&amp;lt;Filter&amp;gt;&amp;lt;/Filter&amp;gt;
&amp;lt;/Receiver&amp;gt;
&amp;lt;/Receivers&amp;gt;
&amp;lt;/Elements&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Step 5. Now, Open Visual Studio and Compile the code below with strong key and register myEventHandler.dll to GAC. (Don't forget to change PublicKeyToken)in Elements.xml file.&lt;/p&gt;
&lt;pre style="background-color: #CCFF99"&gt;
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;

namespace myEventHandler
{
 class LogAction: SPItemEventReceiver
 {
  public override void ItemDeleting(SPItemEventProperties properties)
  {
   properties.ErrorMessage = "Deleting announcements prohibited";
   // Add custom Log entries or business logic here
   properties.Cancel = true;
  }
 }
}
&lt;/pre&gt;
&lt;p&gt;
Step 6. Install and activate feature using following commands&lt;/p&gt;
&lt;pre style="background-color: #CCFF99"&gt;
 stsadm -o installfeature -filename myEventHandler\Feature.xml
 stsadm -o activatefeature -filename myEventHandler\Feature.xml -url http://myPortal
&lt;/pre&gt;
&lt;p&gt;Step 7. Validate the EventHandler &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-5942757289852494876?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/5942757289852494876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=5942757289852494876' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5942757289852494876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5942757289852494876'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/12/attaching-event-handler-as-windows.html' title='Attaching event handler as a Windows SharePoint Services Feature'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-7937895043588148236</id><published>2008-11-25T11:40:00.000-08:00</published><updated>2008-11-25T11:42:09.134-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><title type='text'>Best Practices for using SPSite, SPWeb Objects</title><content type='html'>&lt;p&gt;
If you are a SharePoint Developer and heavily involved in reading SharePoint List, Libraries and designing web parts, features, This article is very important to consider disposable WSS Objects to avoid memory leaks and designing best performing objects.

The SPSite and SPWeb class objects are created as managed objects but if you are using them in a unmanaged code to perform custom tasks then it does not dispose objects unless you implement explicit disposal of objects. Therefore, Best practice is to write code with 'Using' clause. This allows your custom code to avoid memory leaks in SharePoint.
&lt;/p&gt;
&lt;pre style="BACKGROUND-COLOR: #ccffff"&gt;
&lt;strong&gt;Bad Practice&lt;/strong&gt;

SPSite spSite = new SPSite("http://myPortal");
SPWeb  spWeb  = spSite.OpenWeb();
//Your Business logic here

&lt;/pre&gt;
&lt;pre style="BACKGROUND-COLOR: #ccffff"&gt;
&lt;strong&gt;Best Practice&lt;/strong&gt;

using (SPSite spSite = new SPSite("http://myPortal"))
{
    SPWeb spWeb = spSite.OpenWeb();
    //Your Business logic here
}

&lt;/pre&gt;


&lt;p&gt;Read more detailed article from Microsoft on coding practices at
&lt;a href="http://msdn.microsoft.com/en-us/library/aa973248.aspx"&gt;
http://msdn.microsoft.com/en-us/library/aa973248.aspx&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-7937895043588148236?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/7937895043588148236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=7937895043588148236' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7937895043588148236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7937895043588148236'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/11/best-practices-for-using-spsite-spweb.html' title='Best Practices for using SPSite, SPWeb Objects'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-2957192190256211546</id><published>2008-11-11T07:35:00.000-08:00</published><updated>2008-11-11T07:48:09.786-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><title type='text'>Change the secondary owner of all site collection(s) in Farm by using Stsadm.exe</title><content type='html'>I was discussing with my friend and they wanted to update all sites with secondary site administrator as a backup account. I can imagine his pain of updating each individual site manually and the errors of missing one site!. In this post, I will cover semi automated approach to update all secondary owner of all site collection(s) in Farm by using Stsadm.exe.

In order to change the secondary owner of all site collections in farm, First we have to know “How many sites are available on Server Farm? “ then secondly we can update those site collections with new administrator.We can get both step one and two using stsadm utility or Central Administration user interface. However, working with Central administration is time consuming if you have thousands of mysites and applications. Therefore, I am going to talk about solving this problem using stsadm command.
&lt;strong&gt;
Step-1 : Get all sites using enumsites option&lt;/strong&gt;

stsadm -o enumsites -url "http://myweb"

&lt;pre style="BACKGROUND-COLOR: #c0c0c0"&gt;&lt;strong&gt;Results:&lt;/strong&gt;
&amp;lt;Sites Count="3"&amp;gt;
  &amp;lt;Site Url="http://myweb" Owner="domain\adm" SecondaryOwner="domain\hem"
ContentDatabase="WSS_Content" StorageUsedMB="4.3" StorageWarningMB="0"
StorageMaxMB="0" /&amp;gt;
  &amp;lt;Site Url="http://myweb/MySite" Owner="NT AUTHORITY\network service"
SecondaryOwner=" domain\adm" ContentDatabase="WSS_Content" StorageUsedMB="0.2"
StorageWarningMB="0" StorageMaxMB="0" /&amp;gt;
  &amp;lt;Site Url="http://myweb/personal/hemsoft" Owner=" domain\hem"
ContentDatabase="WSS_Content" StorageUsedMB="0.4" StorageWarningMB="80"
StorageMaxMB="100" /&amp;gt;
&amp;lt;/Sites&amp;gt;&lt;/pre&gt;
&lt;strong&gt;Step-2 : Update all sites secondary administrator using &lt;/strong&gt;&lt;strong&gt;siteowner option&lt;/strong&gt;

Now, we need to create a batch file where we can update secondary site administrator. For each site URL entry in Result Set we need to create stsadm command line (you can write C#.NET console application to read result set too if you wish!!) as shown in example below. Change the secondaryownerlogin to desire login for secondary administrator.

&lt;pre style="BACKGROUND-COLOR: #c0c0c0"&gt;
stsadm.exe -o siteowner -url &lt;a href="http://myweb/"&gt;http://myweb/&lt;/a&gt; –secondownerlogin “domain\newadm”
stsadm.exe -o siteowner -url &lt;a href="http://myweb/"&gt;http://myweb/&lt;/a&gt;/MySite –secondownerlogin “domain\newadm”
stsadm.exe -o siteowner -url http://myweb/personal/hemsoft –secondownerlogin “domain\newadm”
&lt;/pre&gt;
&lt;br&gt;

Execute the bacth file and we are all done!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-2957192190256211546?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/2957192190256211546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=2957192190256211546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2957192190256211546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2957192190256211546'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/11/change-secondary-owner-of-all-site.html' title='Change the secondary owner of all site collection(s) in Farm by using Stsadm.exe'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-5245892697171046623</id><published>2008-11-10T08:18:00.001-08:00</published><updated>2008-11-10T08:36:12.058-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><title type='text'>Features reference matrix for SharePoint elements vs. Scope</title><content type='html'>&lt;p&gt;Have you come across writing a feature and upon deployment discovering the feature scope incompatibilities on activation of a feature? If answer is yes or sometimes, then you need to refer the Features reference matrix for SharePoint elements vs. Scope as shown below.
&lt;a href="http://3.bp.blogspot.com/_5gFhcGhYqIk/SRhhwtICsbI/AAAAAAAAAE8/yOLl_thWCpg/s1600-h/FeaturesMatrix.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5267067253584736690" alt="" src="http://3.bp.blogspot.com/_5gFhcGhYqIk/SRhhwtICsbI/AAAAAAAAAE8/yOLl_thWCpg/s320/FeaturesMatrix.JPG" border="0" /&gt;&lt;/a&gt; 
Make sure before creating a feature you have set the correct scope to avoid the hassle of debugging and locking yourself into programming discovery sessions.&lt;br&gt;
Good Luck!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-5245892697171046623?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/5245892697171046623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=5245892697171046623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5245892697171046623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5245892697171046623'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/11/features-reference-matrix-for.html' title='Features reference matrix for SharePoint elements vs. Scope'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5gFhcGhYqIk/SRhhwtICsbI/AAAAAAAAAE8/yOLl_thWCpg/s72-c/FeaturesMatrix.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-6274968744525315597</id><published>2008-11-07T10:57:00.000-08:00</published><updated>2008-11-07T11:17:16.442-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><category scheme='http://www.blogger.com/atom/ns#' term='Welcome Menu'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><title type='text'>Extending Welcome User Menu</title><content type='html'>&lt;p&gt;Have you thought about providing users with additional options such as Contact Helpdesk, Terms and Conditions under Welcome &lt;user&gt;Menu?
It is very easy to extend the out of the box SharePoint Welcome &lt;user&gt;menu and provide users with all functions right under Welcome Menu as shown in figure below:&lt;/p&gt;
&lt;a href="http://2.bp.blogspot.com/_5gFhcGhYqIk/SRSQWb-CHKI/AAAAAAAAAE0/P-SPAK1ry-k/s1600-h/WelcomeMenu.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5265992579442416802" style="CURSOR: hand; " alt="" src="http://2.bp.blogspot.com/_5gFhcGhYqIk/SRSQWb-CHKI/AAAAAAAAAE0/P-SPAK1ry-k/s320/WelcomeMenu.JPG" border="0" /&gt;&lt;/a&gt;
&lt;p&gt;
Did you like it? Now, Let’s talk about how to get there? 
Let's create a Feature which extends Welcome Menu. As you already know, We are talking about creating two files under one folder. Let’s call the folder as myWelcomeMenu and under that create two XML files. You guessed it!!! It is feature.xml and elements.xml Copy the code below to respective files.
&lt;/p&gt;
&lt;pre style="BACKGROUND-COLOR: #c0c0c0"&gt;
&lt;strong&gt;File Name : feature.xml&lt;/strong&gt;
&lt;br&gt;
&amp;lt;Feature
  Id="AA929AFF-4602-4d7f-A501-B80AC9A4BB52"
  Title="Add Links to user section"
  Description="Feature extends Welcome User Menu"
  Scope="WebApplication"
  xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;
  &amp;lt;ElementManifests&amp;gt;
    &amp;lt;ElementManifest Location="Elements.xml" /&amp;gt;
  &amp;lt;/ElementManifests&amp;gt;
&amp;lt;/Feature&amp;gt;
&lt;br&gt;
&lt;strong&gt;File Name : elements.xml&lt;/strong&gt;
&lt;br&gt;
&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;
    &amp;lt;CustomAction
        Id="0acdbd94-eba8-11db-8314-0800200c9a66"
        GroupId="PersonalActions"
        Location="Microsoft.SharePoint.StandardMenu"
        Sequence="1000"
        Title="Your Option1"
        Description="Sample Text"
        ImageUrl="_layouts/1033/images/holiday.png"&amp;gt;
        &amp;lt;UrlAction Url="_layouts/youroption1.aspx"/&amp;gt;
    &amp;lt;/CustomAction&amp;gt;
&amp;lt;/Elements&amp;gt;
&lt;/pre&gt;
&lt;p&gt;We are almost done with files. Now, You need to install/deploy feature on the SharePoint server. To do that, one can use WSPBuilder Utility or simply copy files under C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES folder. &lt;br&gt;At Last, Activate feature at site and enjoy the customization.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-6274968744525315597?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/6274968744525315597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=6274968744525315597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/6274968744525315597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/6274968744525315597'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/11/extending-welcome-user-menu.html' title='Extending Welcome User Menu'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5gFhcGhYqIk/SRSQWb-CHKI/AAAAAAAAAE0/P-SPAK1ry-k/s72-c/WelcomeMenu.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-4011399559695555343</id><published>2008-10-30T07:38:00.000-07:00</published><updated>2008-11-09T13:54:47.781-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><title type='text'>Search box customization for publishing sites</title><content type='html'>We have customized the SearchArea.xml file to limit specific set of sites to show simple keyword search instade full scope based search. Using small feature code extension, One can customize the GO button, images, Size of text box and much more..

Let's locate SearchArea.xml file from OSearchBasicFeature and OSearchEnhancedFeature folders (located at : C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\) and add extend it for desire customization.

The following XML sample shows a basic customization to replace 'out of the box' - search box to simple keyword search box. Please add following sample code to both SearchArea.XML files.
&lt;pre style="FONT-WEIGHT: bold; FONT-SIZE: 8px; COLOR: #ffffff; BACKGROUND-COLOR: #ff9900"&gt;&amp;lt;Control Id="MySearchInputBox" Sequence="51"
ControlClass="Microsoft.SharePoint.Portal.WebControls.SearchBoxEx"
ControlAssembly="Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c";&amp;gt;
&amp;lt;Property Name="GoImageUrl"&amp;gt;/_layouts/images/gosearch.gif&amp;lt;/Property&amp;gt;
&amp;lt;Property Name="GoImageUrlRTL"&amp;gt;/_layouts/images/goRTL.gif&amp;lt;/Property&amp;gt;
&amp;lt;Property Name="GoImageActiveUrl"&amp;gt;/_layouts/images/gosearch.gif&amp;lt;/Property&amp;gt;
&amp;lt;Property Name="GoImageActiveUrlRTL"&amp;gt;/_layouts/images/goRTL.gif&amp;lt;/Property&amp;gt;
&amp;lt;Property Name="ShowAdvancedSearch"&amp;gt;false&amp;lt;/Property&amp;gt;
&amp;lt;Property Name="DropDownWidth"&amp;gt;100&amp;lt;/Property&amp;gt;
&amp;lt;Property Name="TextBoxWidth"&amp;gt;100&amp;lt;/Property&amp;gt;
&amp;lt;Property Name="DropDownMode"&amp;gt;HideDD_useDefaultScope&amp;lt;/Property&amp;gt;
&amp;lt;Property Name="SearchResultPageURL"&amp;gt;/_layouts/osssearchresults.aspx&amp;lt;/Property&amp;gt;
&amp;lt;Property Name="ScopeDisplayGroupName" /&amp;gt;
&amp;lt;Property Name="FrameType"&amp;gt;None&amp;lt;/Property&amp;gt;
&amp;lt;/Control&amp;gt;
&lt;/pre&gt;

&lt;p&gt;
We are not done yet...Please open the master page file(s) and locate entry for "SmallSearchInputBox" and Replace with "MySearchInputBox" (the one we customized!!)

Now, Restart IIS and you should be seeing what you specified in SearchArea.XML.

One last but very important, Please plan on deploying this types of changes using solution (Look for WSPBuilder on codeplex.com) as next SharePoint product update may overwrite SearchArea.XML and you do not want to loose what you built in several releases. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-4011399559695555343?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/4011399559695555343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=4011399559695555343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4011399559695555343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4011399559695555343'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/10/search-box-customization-for-publishing.html' title='Search box customization for publishing sites'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-1411342654485342516</id><published>2008-10-24T10:18:00.000-07:00</published><updated>2008-10-24T10:24:08.949-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><title type='text'>SharePoint and Web Services Support</title><content type='html'>WSS supports Web services natively and therefore communicating data with SharePoint makes integration job easier and loosely coupled. 

List below are set of web services available out of the box (OOB)

&lt;pre style="background-color: #99FFCC; border-style: solid; font-size: 11px;"&gt;
:5966/_vti_adm/Admin.asmx - For creating and deleting sites 
/_vti_bin/Alerts.asmx - For alerts 
/_vti_bin/DspSts.asmx - For retrieving schemas and data 
/_vti_bin/DWS.asmx - For Document Workspaces 
/_vti_bin/Forms.asmx - For user interface forms 
/_vti_bin/Imaging.asmx - For picture libraries 
/_vti_bin/Lists.asmx - For lists 
/_vti_bin/Meetings.asmx - For Meeting Workspaces 
/_vti_bin/Permissions.asmx - For security 
/_vti_bin/SiteData.asmx - Used by Windows SharePoint Portal Server 
/_vti_bin/Sites.asmx - For reading site templates 
/_vti_bin/UserGroup.asmx - For users and groups 
/_vti_bin/versions.asmx - For file versions 
/_vti_bin/Views.asmx - For views of lists 
/_vti_bin/WebPartPages.asmx - For Web Parts 
/_vti_bin/Webs.asmx - For sites and sub-sites 

&lt;/pre&gt;
&lt;br&gt;
&lt;p&gt;
To consume the web services, add server name of your SharePoint web and add web 
reference to your solution file and start integration in SOA world.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-1411342654485342516?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/1411342654485342516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=1411342654485342516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1411342654485342516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/1411342654485342516'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/10/sharepoint-and-web-services-support.html' title='SharePoint and Web Services Support'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-737003177630078612</id><published>2008-10-24T09:14:00.000-07:00</published><updated>2008-10-24T10:25:20.098-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Creating and publishing web pages in SharePoint 2007 programmatically</title><content type='html'>Are you looking to have an alternative method to create and publish web pages in SharePoint 2007 programmatically? Your search ends here...

Look at the console application below to solve programatically publishing pages to SharePoint Environment.

&lt;pre style="font-size: 9px; color: #000080; background-color: #FFFFCC"&gt;
using System;
using System.Collections.Generic;
using System.Text;

using Microsoft.SharePoint;
using Microsoft.SharePoint.Publishing;

namespace HemSoft
{
class Publishing
{
    static void Main(string[] args)
 {
        SPSecurity.RunWithElevatedPrivileges
        (delegate() &lt;span style="color: #800000; font-weight:bold"&gt;// Elevate privilege&lt;/span&gt;
        {
        try
        {
            using (SPSite site = new SPSite("http://yourwebsite")) &lt;span style="color: #800000; font-weight:bold"&gt;// Change SharePoint Site&lt;/span&gt;
            {
            using (SPWeb web = site.OpenWeb())
            {
            PublishingSite mySite = new PublishingSite(site);
            SPContentType myContentType = mySite.ContentTypes["Welcome Page"]; &lt;span style="color: #800000; font-weight:bold"&gt;// Change Content type&lt;/span&gt;
            PageLayoutCollection pageLayouts = mySite.GetPageLayouts(myContentType, true);
            PageLayout pageLayout = pageLayouts["/_catalogs/masterpage/welcomesplash.aspx"]; &lt;span style="color: #800000; font-weight:bold"&gt;// Change path&lt;/span&gt;
            PublishingWeb pWeb = PublishingWeb.GetPublishingWeb(web);
            PublishingPageCollection myPageCollection = pWeb.GetPublishingPages();
            PublishingPage pPage = myPageCollection.Add("Page"+DateTime.Now.Ticks.ToString().Trim()+".aspx", pageLayout); 
            SPListItem mypage = pPage.ListItem;
            &lt;span style="color: #800000; font-weight:bold"&gt;// Set page properties&lt;/span&gt;
            mypage["Title"] = "Page added using Publishing API"; 
            mypage.Update();
            mypage.File.CheckIn("Created automatically from HemSoft Publishing API"); 
            mypage.File.Publish("Published automatically");
            }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("HemSoft:Error Publishing Page " + ex.Message.ToString());
        }
       }
        );
 }
}
}
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-737003177630078612?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/737003177630078612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=737003177630078612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/737003177630078612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/737003177630078612'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/10/are-you-looking-to-have-alternative.html' title='Creating and publishing web pages in SharePoint 2007 programmatically'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-7295461868068150720</id><published>2008-10-17T07:19:00.000-07:00</published><updated>2008-10-17T07:37:11.178-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><title type='text'>Debugging SharePoint Tricks</title><content type='html'>&lt;p&gt;If you are diving into extensive SharePoint API based development, Debugging can be problematic, it does like to hide debugging information from you for reason.
Does this error seems familier to you? “An unexpected error has occurred” with nothing written to log files, trace or the event log.
&lt;/p&gt;&lt;p&gt;You wish that SharePoint should give you lot more than just an unexpected error.
The solution is to change a single entry in web.config. Just modifying the lines you get more detailed stack trace...
&lt;/p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;p&gt;&lt;span style="color:#660000;"&gt;&lt;strong&gt;Step-1 :&lt;/strong&gt; Find line with &lt;safemode maxcontrols="'200'" callstack="'false'"&gt;entry CallStack="false" and change it to CallStack="true"
&lt;strong&gt;Step-2 : &lt;/strong&gt;Find line with &lt;customerrors mode="'On'/"&gt;entry customErrors mode=“On“ and change it to customErrors mode=“Off“&lt;/span&gt;&lt;span style="color:#990000;"&gt;&lt;customerrors mode="'Off'/"&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;Reset IIS and see what you get is more than an unexpected error. I would recommand this switch tobe repalced back if you deployed code in Production Environment as same detailed message can scare users.
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;Happy Debugging!!&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-7295461868068150720?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/7295461868068150720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=7295461868068150720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7295461868068150720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/7295461868068150720'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/10/debugging-sharepoint-tricks.html' title='Debugging SharePoint Tricks'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-5757871546379444002</id><published>2008-09-26T07:57:00.001-07:00</published><updated>2008-10-17T08:08:22.751-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resources'/><title type='text'>SharePoint Resources</title><content type='html'>&lt;b&gt;Planning Tools&lt;/b&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc262485.aspx"&gt;System Requirements for SharePoint 2007&lt;/a&gt; &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb684454.aspx"&gt;System Requirements for Windows SharePoint Services 3.0&lt;/a&gt; &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc262788.aspx"&gt;Downloadable content for Office SharePoint Server 2007&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.724hosting.com/sharepoint/portal/wss3_moss2007_compare.htm"&gt;WSS3 vs. MOSS 2007 Feature Comparison&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/systemcenter/en/us/capacity-planner.aspx"&gt;Capacity Planner for SharePoint 2007&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Design Tools&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/roberdan/archive/2006/03/05/543967.aspx"&gt;Quick prototyping wireframes using Visio 2003&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointdesigner/default.aspx"&gt;Office SharePoint Designer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Development Tools&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms550992.aspx"&gt;Microsoft Office SharePoint Server 2007 SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms441339.aspx"&gt;Windows SharePoint Services 3.0 SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.heathersolomon.com/content/sp07cssreference.htm"&gt;CSS Reference Chart for SharePoint 2007 &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.u2u.info/Blogs/Patrick/Lists/Posts/Post.aspx?ID=1252"&gt;Creating and Executing CAML's&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;Monitoring Tools&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=cb944b27-9d6b-4a1f-b3e1-778efda07df8&amp;amp;displaylang=en"&gt;Microsoft Best Practices Analyzer for WSS 3.0 and the 2007 Office System&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.fiddlertool.com/fiddler/"&gt;Performance Monitoring Tool - Fiddler&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;
&lt;/ul&gt;

&lt;b&gt;Migration&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480228.aspx"&gt;Mapping MCMS 2002 APIs to SharePoint Server 2007&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc261812.aspx"&gt;Migrate from Microsoft Content Management Server 2002 to Office SharePoint Server 2007&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-5757871546379444002?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/5757871546379444002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=5757871546379444002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5757871546379444002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/5757871546379444002'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/09/sharepoint-resources.html' title='SharePoint Resources'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-2876789247425874111</id><published>2008-09-24T14:06:00.000-07:00</published><updated>2008-10-24T10:02:19.246-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='WebParts'/><title type='text'>How to: Implement WebParts with UI Controls and Event</title><content type='html'>This post will provide necessary instructions you need to know to Implement &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;WebParts&lt;/span&gt; with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;UI&lt;/span&gt; Controls and associated events
&lt;strong&gt;Step 1 :&lt;/strong&gt; First you need to declare Class inherited from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;WebPart&lt;/span&gt;

&lt;span style="font-size:130%;color:#000066;"&gt;    public class &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;MyUIWebPart&lt;/span&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;WebPart&lt;/span&gt;&lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;   { &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;      // Your stuff here&lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;    }&lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;&lt;/span&gt;
&lt;strong&gt;Step 2 :&lt;/strong&gt; Now, You need to override &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;CreateChildControls&lt;/span&gt; method to render &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;UI&lt;/span&gt; Controls you need on the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;WebPart&lt;/span&gt;.
&lt;span style="font-size:130%;color:#000066;"&gt;    public class &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;MyUIWebPart&lt;/span&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;WebPart&lt;/span&gt;&lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;   { &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;    // Your stuff here &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;      protected override void &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;CreateChildControls&lt;/span&gt;() &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;      { &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;        // Create &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;UI&lt;/span&gt; controls &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;        // Bind Events for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;UI&lt;/span&gt; Controls &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;       }&lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;     }&lt;/span&gt;

That's it. Lets create one &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;webpart&lt;/span&gt; to understand how this works?

&lt;strong&gt;Sample &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;WebPart&lt;/span&gt; with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;UI&lt;/span&gt;: &lt;/strong&gt;
Lets create &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;webpart&lt;/span&gt; having one &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;lable&lt;/span&gt; and one button. We will implement click event on button to execute simple text update. Following code implements very simple framework and associates events to handle Click event.

&lt;span style="font-size:130%;color:#000066;"&gt;     public class &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;MyUIWebPart&lt;/span&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;WebPart&lt;/span&gt;&lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;     { &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;          Label &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;lbl&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;msg&lt;/span&gt; = new Label(); &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;          Button &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;cb&lt;/span&gt;_submit; &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;          protected override void &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;CreateChildControls&lt;/span&gt;() &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;          { &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;cb&lt;/span&gt;_submit = new Button(); &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               //Add Controls to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;WebPart&lt;/span&gt; &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;lbl&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;msg&lt;/span&gt;.Text = "Click Me"; &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;cb&lt;/span&gt;_submit.Text = "Submit"; &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               //Attach event Handler for click event &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;cb&lt;/span&gt;_submit.Click+=new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;EventHandler&lt;/span&gt;(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;cb&lt;/span&gt;_submit_Click); &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               //Add Controls to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;WebPart&lt;/span&gt; &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               this.Controls.Add(lbl_msg); &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               this.Controls.Add(cb_submit); &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;          } &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;&lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;          void &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;cb&lt;/span&gt;_submit_Click(object sender, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;EventArgs&lt;/span&gt; e) &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;          { &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               // Lets change &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;Lable&lt;/span&gt; message to Clicked &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;               &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;lbl&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;msg&lt;/span&gt;.Text = "Clicked"; &lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;          }&lt;/span&gt;
&lt;span style="font-size:130%;color:#000066;"&gt;     }&lt;/span&gt;

Fantastic!!!. I am sure that you are excited and take it from here to create very complex &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;webparts&lt;/span&gt; with other available &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;UI&lt;/span&gt; elements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-2876789247425874111?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/2876789247425874111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=2876789247425874111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2876789247425874111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/2876789247425874111'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/09/how-to-implement-webparts-with-ui.html' title='How to: Implement WebParts with UI Controls and Event'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2899445787685954966.post-4709113879762165080</id><published>2008-09-24T12:35:00.000-07:00</published><updated>2008-09-24T13:56:50.301-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Limitations'/><title type='text'>SharePoint 2007/WSS Limitations</title><content type='html'>Prior to start creating business case or enterprise architecture with SharePoint 2007 or WSS 3.0 you should know what product can do for you and can’t. I am sure there are great deal of technical articles made available to community. My attempt here is to provide a quick reference table so that you know published limits of technology and Plan your architecture accordingly.


&lt;img id="BLOGGER_PHOTO_ID_5249693027818939810" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_5gFhcGhYqIk/SNqn_qb-JaI/AAAAAAAAAD0/E_RiCRxVnA4/s400/Table1.JPG" border="0" /&gt; &lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;Note: All limits identified above are soft limits which should be used as a best practices and performance.

Additionally, I would recommend following table as a reference model for your SharePoint System Architecture.

&lt;img id="BLOGGER_PHOTO_ID_5249692203841043538" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_5gFhcGhYqIk/SNqnPs4VPFI/AAAAAAAAADs/HcJPvs7Q2KY/s400/Table2.JPG" border="0" /&gt;Please feel free to contact me, if you need any additional information about this blog entry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2899445787685954966-4709113879762165080?l=hemsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hemsoft.blogspot.com/feeds/4709113879762165080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2899445787685954966&amp;postID=4709113879762165080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4709113879762165080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2899445787685954966/posts/default/4709113879762165080'/><link rel='alternate' type='text/html' href='http://hemsoft.blogspot.com/2008/09/sharepoint-2007wss-limitations.html' title='SharePoint 2007/WSS Limitations'/><author><name>Hemendra Patel</name><uri>http://www.blogger.com/profile/04363235581213803983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/-MFHSJ5INoMM/ToX8llqno_I/AAAAAAAAATk/nRWkXhyqSQA/s220/Hemendra_Patel.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5gFhcGhYqIk/SNqn_qb-JaI/AAAAAAAAAD0/E_RiCRxVnA4/s72-c/Table1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
