Join me at Atlanta SharePoint UserGroup monthly meeting. The topic I will be presenting is SharePoint ALM (Application Lifecycle Management) Deep Dive.
More Information here.
See you there!
Join me at Atlanta SharePoint UserGroup monthly meeting. The topic I will be presenting is SharePoint ALM (Application Lifecycle Management) Deep Dive.
More Information here.
See you there!
Join me on Feb 9th, 2011 at 1:00 pm for K2 Roadshow session on Tips & Tricks with SharePoint Deployment & Governance. I will be representing Neudesic.
Click here to register.
Update: 2/21/2011 — Thanks to the attendees for voting me to the Top 10 speakers list. I enjoyed the event as well.
SharePoint 2010 Application Lifecycle Management (ALM)
I am back at Philly for bi-annual SharePoint Saturday event on 2/5/2011 at Devry University, Fort Washington, PA. Over 325 people have registered and the registration will close at 400.
My topic will be on SharePoint 2010 ALM:
SharePoint 2010, VS 2010 & TFS 2010 ALM tools help developers to improve code quality and metrics. ALM stands for Application Lifecycle Management – It is management & co-ordination of all software development lifecycle activities like requirements gathering, requirements modeling, code development, build process, testing activities and implementation events. Developers now can use all the ALM features of TFS & VS to develop quality SharePoint solutions . ALM is no longer just confined to .NET developers but to the SharePoint development as well. This session will demo TFS integration with SharePoint & Visual Studio and how developers can utilize ALM tools to deliver better quality conscious products to customers.
See you at SharePoint Saturday!
FAST Search for SharePoint 2010 – Using PowerShell to execute searches.
In some cases, you may want to test query results and there is a relatively easy way to do using PowerShell.
General steps are:
1) Pass the site URL to the Search object
2) Pass the QueryText (the query that you want to test)
3) Set search parameters
4) Execute query and format the results
Here is the code:
1: #load the site and set the keyword query object
2: $searchSite = Get-SPSite http://www.sathishtk.com
3: $keywordQuery = New-Object Microsoft.Office.Server.Search.Query.KeywordQuery $searchSite
4: $keywordQuery.ResultTypes = [Microsoft.Office.Server.Search.Query.ResultType]::RelevantResults
5: # activate FQL queries
6: $keywordQuery.EnableFQL = 1
7: $keywordQuery.RowLimit = 10
8: #Pass the query text - SharePoint
9: $keywordQuery.QueryText = "SharePoint"
10: #query execution
11: $results = $keywordQuery.Execute()
12: #display total number of rows
13: Write-Host Total hits: $results[1].TotalRows
14: $resultsTable = $results.Item([Microsoft.Office.Server.Search.Query.ResultType]::RelevantResults)
15: $resultsDataTable = $resultsTable.Table
16: # display the results in table format for better view
17: $resultsDataTable | Format-Table -AutoSize -Property title, url
User Profile synchronization is bit complicated to troubleshoot and this post will aim to give you some pointers and save some time.
Useful Links (there are many useful web sites out there, I am listing a couple)
1) Technet — http://technet.microsoft.com/en-us/library/ee721049/ — As of writing this the last update was done on September 30, 2010. I am sure MS folks will update this document as they discover new information.
2) http://www.harbar.net/articles/sp2010ups/ – Spencer Harbar — Good write up on UP sync.
Now pointers:
So to sum up – Create UP service application – ensure Sync, Profile databases are created – Start UP services – Setup AD Connection – Start full import and then schedule incremental sync.
I encountered a “Specified value is not supported for the parameter” error when trying to create a web application in SharePoint 2010. Tried to create a couple of service applications and met with the same error. This was on my laptop that was part of corporate domain but was not joined to the domain. So, after some error log reviews, I was able to resolve it by joining the Windows 7 laptop to corporate domain before performing these operations.
SharePoint actually checks whether the machine (user account too) is connected to the domain before these actions are completed. This happens to machines that are part of the domain during SharePoint install and configuration.
I recently setup FAST Search Server 2010 for SharePoint 2010 and here are the documented steps:
FAST Search Server was installed on a dedicated server different from SharePoint 2010 server.
FAST Server was not installed on a domain controller.
FAST Server was patched with latest windows update and windows update service was running.
Used the Pre-requisite installer for FAST Server 2010 (available on the installation media) to install all required components for FAST Server 2010
Identify the user who is running the Microsoft SharePoint 2010 Timer Service (you will need this account to provide handshake between SharePoint 2010 Server and FAST 2010 Search Server)
Configuring SSL enabled communicate is required when you setup Content SSA.
Followed all step by step instructions mentioned in TechNet
Here are the high level steps that I followed from the article:
Enable PowerShell scripts to run.
Install FAST Search Server 2010.
Configure a single server deployment.
Setup the Content Search Service Application (SSA) – Content SSA is responsible for crawling content and feeding it into FAST Server for SharePoint back-end.
Setup the Query Search Service Application – Query SSA fetches query results from the content that is crawled by the Content SSA.
Configure claims authentication.
Once all the above steps are configured, check whether all FAST Search Server services are running by typing the following PowerShell command using Microsoft FAST Search Server 2010 for SharePoint shell
nctrl status
You should see the output as shown in the screenshot below
Next step, is to Test FAST Search Server 2010 for SharePoint (TechNet article has all the detailed steps)
On your SharePoint 2010 server, check the association between FAST Query SSA and your web application by clicking on “Configure service application associations” available under “Application Management”. You can see “FAST Query SSA” associated with my web application below
Once the association is complete, perform a search query and you will see FAST Search server in action (assuming you have crawled the content sources using FAST Query SSA)
This screen shot shows the Crawl History for FAST Query SSA
Search query results using FAST Query SSA
Check out the refinements search on the left (Result Type, Site, Date)… Pretty cool… right?
I was going through the steps of deleting content db using stsadm (as you know it does not delete the content database from SQL Server, but just removes the reference from SharePoint perspective) and using stsadm –o addcontentdb to attach a content database from production to development server for testing purposes. Once the stsadm –o adcontentdb operation was completed successfully, I went into Manage Content Databases section and noticed the Current Number of Sites was set to 0.
To confirm that the content database had some valid entries for webs and sites, I queried the following tables
select * from Sites with (nolock)
and then the webs table
select * from webs with (nolock)
The query results showed entries existed in the sites table as well as the relevant webs table. After further troubleshooting, the issue was caused by GUID conflicts in SQL Server. I had restored the same content database from production to development server few months back for some other testing purpose to a different web application. Although this was a brand new web application that I had created, the GUID conflict still occurred and that is the reason the number of sites was set to 0. So, to ensure that the restore process was clean, I started the restore process again on SQL Server, executed stsadm –o deletecontentdb for the new web application I had created followed by stsadm –o addcontentdb pointing to the new database restored.
Now, if you have a question, so how do I maintain 2 copies of the same content database in production in this scenario without GUID conflicts? You can use stsadm backup and restore (or) content deployment. I did try with stsadm backup and restore and the process was successful.
Hopefully, this post will save you some time next time you encounter a similar situation.
I was setting up some BDC models in SharePoint 2010 which involves managing authorization levels for BDC Metadata Store.
In Central Admin – BDC Service – Set Metadata Store Permissions
Add an user and the Permissions box will be populated with different authorization roles. Initially I couldn’t find any documentation on these roles.
So, after some digging around, here it is:
Edit – Create, delete, and Update metadata for BCS
Execute – Permission to make a call to an external system
Selectable in Clients – If you need to provide users with access to utilities like entity picker
Set Permissions – Gives the current user the ability to grant rights to other users.
Philadelphia SharePoint community holds SharePoint Saturday events once or twice per year. On May 8, 2010, it will be a full day of SharePoint.
My session covers BI features with SharePoint
http://www.tristatesharepoint.com/spsphilly/may2010/Lists/Sessions/DispForm/?ID=17
The session will demonstrate BI capabilities of SharePoint that include dashboards, Visio services, excel services, Performance point, and new BI controls in SharePoint 2010. I will walk the audience through the steps of creating KPIs, score cards and publishing them to SharePoint plus demonstrate SQL Server connected Visio diagrams.