Monday, September 7, 2009
Passed MS 70-630 Certification exam
Here are some resources that I used to prepare for this exam:
Books
http://www.amazon.com/MCTS-Microsoft-Office-SharePoint-Configuration/dp/0470226633
http://www.microsoft.com/mspress/books/9537.aspx
Virtual labs
http://technet.microsoft.com/en-us/virtuallabs/bb499670.aspx
http://msdn.microsoft.com/en-us/cc707678.aspx
Topics covered in the exam
http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-630#tab2
I found the "MCTS: Microsoft Office SharePoint Server 2007 Configuration Study Guide: Exam 70-630" particularly useful. It covers all the exam topics and provides "to-the-point" info. This is a "must have" book for preparing for this exam. Also, I would definitely recommend completing the BDC, Excel Services, and Enterprise Search Virtual Labs. In addition to the above resources, hands-on experience with MOSS 2007 is a necessity to pass this exam.
Tuesday, June 23, 2009
CAML Query Builder for SharePoint
CAML Query Builder
Tuesday, March 17, 2009
SharePoint and PowerShell
Here are some resources that I found online. They have great examples and show how to install and use PowerShell:
Windows Powershell Overview
http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx
Windows Powershell Scripting Resources
http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx
Windows Powershell Download Page
http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx
All PowerShell articles by Karine Bosch
http://www.u2u.info/Blogs/karine/Lists/Categories/Category.aspx?Name=PowerShell
SharePoint PowerShell for Beginners by Karine Bosch
http://www.u2u.info/Blogs/karine/Lists/Posts/Post.aspx?ID=9
Bill Baer's PowerShell page
http://blogs.technet.com/wbaer/archive/2007/08/17/scripting-sharepoint-with-powershell.aspx
More Power"Shell" to you!
Monday, March 2, 2009
SharePoint site inaccessible after installing WSS 3.0 and MOSS 2007 Infrastructure Updates
At this point, the SharePoint Portal site was inaccessible. The Central Admin site was still accessible, but not the "user-facing" Portal site.
The SharePoint ULS log contained these errors:
02/27/2009 19:37:11 6 INF Resource retrieved id PostSetupConfigurationFailedEventLog is Configuration of SharePoint Products and Technologies failed. Configuration must be performed in order for this product to operate properly. To diagnose the problem, review the extended error information located at {0}, fix the problem, and run this configuration wizard again.
02/27/2009 19:37:11 6 ERR Configuration of SharePoint Products and Technologies failed. Configuration must be performed in order for this product to operate properly. To diagnose the problem, review the extended error information located at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS\PSCDiagnostics_2_27_2009_19_9_39_988_1181254095.log, fix the problem, and run this configuration wizard again.
02/27/2009 19:37:11 6 INF Resource retrieved id PostSetupConfigurationFailedUserMessage is Configuration of SharePoint Products and Technologies failed. Configuration must be performed before you use SharePoint Products and Technologies. For further details, see the diagnostic log located at {0} and the application event log.
02/27/2009 19:37:11 6 INF Sending a task driver stop event: TaskDriverEventArgs.EventCriticalityType error, TaskDriverEventArgs.EventType.stop, Configuration of SharePoint Products and Technologies failed. Configuration must be performed before you use SharePoint Products and Technologies. For further details, see the diagnostic log located at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS\PSCDiagnostics_2_27_2009_19_9_39_988_1181254095.log and the application event log.
The Applciation Event Log reported these errors:
Error 1
Failed to upgrade SharePoint Products and Technologies.
Failed to upgrade SharePoint Products and Technologies. Further information regarding this failure can be found at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS\Upgrade.log.
An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown. Additional exception information: Failed to upgrade SharePoint Products and Technologies.
Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException: Exception of type 'Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException' was thrown.
at Microsoft.SharePoint.PostSetupConfiguration.UpgradeTask.Run()
at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
Error 2
Event Type: Error
Event Source: Windows SharePoint Services 3
Event Category: (807)
Event ID: 5617
Date: 2/27/2009
Time: 7:58:51 PM
User: N/A
Computer: xxxxxxx
Description:
The schema version (3.1.3.0) of the database WSS_Portal on
Error 2 in the Application Event Log gave me a fighting chance to fix this issue. I learned that I need to run the following stsadm command to upgrade the database schema version. So I ran the following command on the SharePoint Server:
stsadm –o upgrade –inplace –url http://your_site_url_here
This took a few minutes and then reported that the upgrade completed successfully.
I then re-ran the "SharePoint Products and Technologies Configuration Wizard" and this time it completed successfully...no errors. And I was able to access our Portal site again.
This particular stsadm upgrade command is a life-saver.
Be sure to include this awesome command in your SharePoint Survivor toolkit.
Sunday, February 15, 2009
To Dispose or Not To Dispose is the Question
Answer - Do not call the Dispose() method on SPWeb, if you obtain the SharePoint SPWeb using the GetContextWeb method as shown below. If you call Dispose() on the SPWeb object obtained this way, it may cause the SharePoint object model to behave unpredictably or fail. This is due to an internal list that is kept in the SPSite and SPWeb objects derived in this way. Internally, the object model enumerates over this list after page completion to dispose of the objects properly.
web = SPControl.GetContextWeb(Context)
Here is a link to a best practices article titled "Best Practices: Using Disposable Windows SharePoint Services Objects"
http://msdn.microsoft.com/en-us/library/aa973248.aspx
Microsoft has a tool called, SPDisposeCheck, that will evaluate compiled assemblies and identify improper usage of SharePoint objects (such as SPWeb and SPSite) in your code. These objects, if improperly used, will cause memory leaks.
Here are links relevant to SPDisposeCheck:
http://code.msdn.microsoft.com/SPDisposeCheck
http://blogs.msdn.com/sharepoint/archive/2009/01/29/spdisposecheck-released.aspx
Thursday, January 22, 2009
Bug in .NET FileUpload control
Exception information: Exception type: SqlException Exception message: SQLServerAgent Error: Request to run job (from User ) refused because the job already has a pending request from User .
I found out that the SQL Job was being called twice and therefore causing the above error. I then added lots of debugging statements in my code and found that "Click" event was firing two times. And I did not have any looping constructs in my code. As a result my file was being uploaded TWICE, and the SQL Job was also being called TWICE. Uploading the file twice was not an issue in my case, as the goal was to overwrite if the file exists already. But calling the SQL Job twice was an issue.
Turns out that you DON'T NEED to specify the OnClick event in the button code like this. Having the OnClick event in the button code will cause the event to fire twice.
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" />
To prevent the Click event from firing twice, DO NOT specify the OnClick event. The updated code is shown below. This will cause the Click event to fire once.
<asp:Button ID="btnUpload" runat="server" Text="Upload" />
Happy Uploading!