Friday, August 26, 2011
SharePoint 2007 to 2010 Upgrade Errors and Resolutions: Part-1
Recently I have done SharePoint 2007 to 2010 upgrade and faced few unique errors which took quite a bit of time for resolution. I find that these resolutions are not mentioned in forums or other blog s. So I’m posting the resolutions on my own Blog. The solution mentioned here is around the “Database Attach” upgrade method.
Before you proceed with the upgrade first make sure that you equip your server farm with all the customizations. Equipping all the customizations before the upgrade on the target SharePoint 2010 server farm in a proper way will reduce the errors while upgrade and makes it easy for you to understand the true road blocks. I have few tips to reduce your burden while you prepare your target SharePoint 2010 Server farm. However, I am not explaining each kind of customizations that you may have since it is too tedious and beyond the scope of this post. Below are few useful notes about various customizations that you may typically have on your Server Farm.
Application Templates:
Knowing the fact that your organization has heavily used “Fab 40 Appliction Templates” in the existing 2007 environment, you must be wondering how to upgrade the Farm on hearing Microsoft that they have no plans to release “Fab 40 Application templates” for SharePoint Foundation 2010. Well, you don’t need to be panic. Khalil from “Tech solutions” has created these templates and offering them free of charge for the community, you can find the same available for you here. Though you have downloaded these templates and Installed them on the 2010 farm you must be getting a lot of error logs that say “missing features” and “missing setup file” when you run the “Test-SPContentDataBase” command from SharePoint 2010 Management Shell.
What you need to understand here is that though the Templates released by “Khalil” offer similar functionality as that of the Microsoft Application templates they are different from the originals.
The resolutions is
• Navigate to “Solution Management Page” on Central administration page of the 2007 farm.
• Identify all the Application templates uploaded to the Farm also note the details of the Web Applications to which these solutions are deployed to.
• Download those Templates which are used on your server farm and the “Application Template core” from the Microsoft download page here.
• First Install the Application Template core and then the Appliction Templates.
• Deploy them either Globally or only to the appropriate WebApplictions on your SharePoint 2010 Server Farm.
CodePlex Solutions:
Governance:
Make sure that you are using the same release of this Tool as that Installed in your SharePoint 2007 Server Farm. If the version you are using on your SharePoint 2007 Server Farm is not available to download among the release versions offered on the “Governance” project space of the codeplex, make sure that you Identify all the files related to this module from the “12” hive and GAC on any one WFE(Server hosting Windows SharePoint Services WebApplication service) of your SharePoint 2007 server Farm. Copy these files to their respective locations on the WFE’s(Server hosting the Microsoft SharePoint Foundation Web Application service) of the 2010 Server Farm. If there are any features among these files make sure that you install these features once you copied all the files to their respective locations.
In our case we are using an earlier version of the Governance application which is not available among the release files from Codeplex. So I have to manually copy the binaries\files from the 2007 servers to 2010 servers and Install the features. We planned to replace this application to its current version after we upgrade from 2007 to 2010.
Search Builder:
If you are using “Search Builder” Application from Codeplex on your SharePoint 2007 Server Farm you have to note that there is no release yet available for this application on SharePoint 2010 platform.
To avoid errors relating to this application during upgrade you may follow the below steps
• From “Solution Management” page make a note of the Web Applications to which this solution deployed to.
• Download this application’s 2007 release from CodePlex, make sure the release version is same as that deployed on your SharePoint 2007 Server farm.
• Install the downloaded application binaries on your 2010 Server farm and deploy them to the Web Applications that map to your SharePoint 2007 Web Applications on which the application is deployed to in your 2007 server Farm.
In House Customizations:
If your organization is yet to develop 2010 versions for any of the In house built customizations such as Custom Solutions\Site definitions\Field definitions\Features\Event Handlers\WebParts \UserControls \Resource Files existing in the SharePoint 2007 environment and you have to test the Upgrade, just make sure that you Install/copy and deploy the 2007 binaries to your SharePoint 2010 environment prior to test your Upgrade.
If your organization has already built the necessary components for the SharePoint 2010 Platform, you can deploy the 2010 version binaries on to your target SharePoint 2010 Server farm environment.
Third Party Solutions (which do not have 2010 release):
Follow similar steps as that mentioned for “Search Builder” above.
Few Specific errors with their resolutions will be presented in my next post.
Friday, July 29, 2011
Access Denied Error when running Test-SPContentDataBase

I faced "Access Denied" error problem when I try to run the command "Test-SPcontentDatabase" with both the required params Name& Webapplication.
In My scenario, my SharePoint 2007 content Database is not residing on the same server as that of my 2010 farm configuration database. Also both the SQL servers are appearing as part of the farm when I visit The Servers in the Farm Page.
When I ran the command "Test-SPContentDatabase" and visited the Event Viewer, I found a event with event Id: 3760 saying
SQL Database 'WSS_Content_
Cannot open database "WSS_Content_
Login failed for user
From the above error, I understood that the SharePoint is trying to find the database on the wrong Server (the hosting the Configuration database). Obviously It cannot find the database. Then I tried the same command with the Parameter "-ServerInstance" and it worked like a charm... :-)
Update: Today when I was doing SharePoint 2007 to SharePoint 2010 upgrade i got the same issue and this time even after specifying the ServerInstance Parameter. The error message is:
“Test-SPContentDatabase : The server instance of the database could not be found.”
Get-SPContentDatabase -ConnectAsUnattachedDatabase -DatabaseServer
Tuesday, December 16, 2008
Workarounds for bugs on SharePoint (V3) Blog
I have come across two problems on a WSS V3 blog site. They are,
- You have more than 10 posts on a blog that belong to one category, when you filter the posts for that category, the paging on the category.aspx doesnotwork when you use next and prev buttons, it shows you a message "There are no posts in this category.".
- You change the default view of a category that filters the blog posts on a Microsoft Windows SharePoint Services 3.0 blog site. When you visit the SharePoint Services 3.0 blog site, and then you click the link for the category that you changed, the blog posts are not filtered correctly. Instead, all the blog posts are displayed.
Problem 1.
here goes the little workaround that i scripted for the paging related bug that one can encounter on category.aspx page.
Drag and add a content editor webpart to the category.aspx page on your blog,
open the script editor from the content editor webpart's tool pane,
simply copy the below script on to the script editor save it, Now you will find your paging working as expected.
<script language ="javascript" type = "text/javascript" >
function changeLink(){
JSRequest.EnsureSetup();
var Category = JSRequest.QueryString["Name"];
var parent;
var child;
for (var counter =0; counter < 100; counter++){
var elementId = 'bottomPagingCellWPQ'+ counter;
if (document.getElementById(elementId)){
parent = document.getElementById(elementId);
child = parent.childNodes[0].childNodes[0].childNodes[0];
if (child.childNodes.length > 0){
for (var y = 0; y < child.childNodes.length; y++ ){
if(child.childNodes[y].childNodes){
if(child.childNodes[y].childNodes[0].tagName){
theAnchorTag = child.childNodes[y].childNodes[0];
for( var x = 0; x < theAnchorTag.attributes.length; x++ ){
if( theAnchorTag.attributes[x].nodeName.toLowerCase() == 'onclick' ){
var str = theAnchorTag.attributes[x].nodeValue;
str = str.replace( '?', '?Name=' + Category + '\\u0026');
theAnchorTag.attributes[x].nodeValue = str;
onclk = theAnchorTag.attributes[x].nodeValue;
theAnchorTag.onclick = new Function(onclk);
}
}
}
}
}
}
break;
}
}
}
addLoadEvent(changeLink);
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
}
else{
window.onload = function(){
if (oldonload) {oldonload();}
func();}
}
}
</script>
Problem 2:
Please find the workaround for this problem on Microsoft's support site @ http://support.microsoft.com/kb/939310
Friday, February 8, 2008
Premachandu Vutla (SharePoint Professional)
Let me introduce myself to you, I am Premachandu Vutla. I am working with SharePoint(My bred and butter :) or my love) since 2006. I love SharePoint Technology so much because of its framework and its extensibility.
Let me mention about my tech background, I am not a dotnet expert, I am not a graduate from Computer science.
I did my B-Tech in Chemical Engineering from the prestigious Institution Pondicherry Engineering College, India. Since we have strong IT boom in India by the time i passed out from campus, we had so many companies recruiting us as freshers to the IT industry from our college. Through the same channel i too got into an IT company named PATNI computer systems in a campus recruitment drive conducted in 2004 at our college.
When I was out from college I had no knowledge about IT industry or IT technology. All that I have learnt on programming is through my on the job work Experience since 2005 sep 19, the very first day I joined PATNI. I was initially trained for three long months(Prior to this one month home based training from PATNI for all the candidates hired in the Campus Interviews).
After the four long months of training I was placed in SharePoint team (PATNI internal team) and it’s a big turning point in my carrier (Where I met my bred and butter).
From the day one when I started hunting for the IT materials or blogs to accomplish my daily tasks, I had a thought to publish my thoughts and work. Finally today is the day I feel much comfortable about the Technology I am working with and I wish publishing all my exploration in to it.
Today the technology is huge and its evolving every now and then into enarmous forms due to you and me who always try to do some thing different. This leads every one in the Industry to learn through out their life to stay on par with latest technological developments and innovations.
Let me tell a little about my personal life-
First and foremost, I believe in GOD and I love him.
There is a long list of heart touching persons in my life in all that states where I lived in India and I love all of them. To mention a few of them who are always with me and driving me with good spirits let me start this way ---
I love my Family (Parents, Grand parents and my only elder brother “Ravibabu Vutla”. I miss my grand pa so much.), G. ChandraSekhar Sir(Guru in my life) and my friends (Too good guys who always support me and they are too many. I feel that I am too much blessed by God to get that many good friends).
I like to be identified as a SharePoint Professional. Thats the reason i named the post that way.
Regards,
Premchand.