Skip to main content

Posts

Custom People Picker (Editor) in SharePoint 2010

[Modified:11 Oct 2010] Now you can find the source code for this example in CodePlex The out-of-the-box SharePoint people picker allows users to select users, SharePoint groups, Distribution Lists & Security groups . Users may accidentally add large AD groups to SharePoint groups and send notifications to hundreds of people. The administrator may want more control over the security of the people picker control. In some scenario the administrator may want to restrict the user to only select ‘users’ or ‘SharePoint Groups’. This can be achieved by creating a custom people picker control which inherits from SharePoint people editor. In below example, we are going to explore creation of custom people picker control, replace the OOTB people editor control, provide a people picker settings page in central administration and create menu to access the settings page in Central Administration. 1. Create custom people picker For creating a custom control (which inherits from SharePoint PeopleE...

Can not navigate to the requested page while User Profile Synchronization is running. Please wait for the current Synchronization run to finish.

Error: From: Manage Profile Service Where: Application Management->Manage Service Applications->User Profile Service Application->Manage->Start Profile Synchronization Can not navigate to the requested page while User Profile Synchronization is running. Please wait for the current Synchronization run to finish. From: Manage Services on Server- User Profile Synchronization Service Where: Application Management->Manage Services on Server->User Profile Synchronization Service->Start Below error is thrown in the event viewer. Solution: It seems that the service account used for running the ‘User Profile Synchronization Service’ is not part of local administrator. I read in other blogs that this service tries to access HKLM\SYSTEM\CurrentControlSet\Services\FIMSynchronizationService\Parameters registry key. So adding this service account to local administrator group in ‘Server Manager’ would solve the problem. -Vighnesh Bendre

Error while activating feature - SharePoint 2010

Hi all, While I was working on SharePoint 2010 recently I came across some issues. I am putting them across so that anyone facing the same issue may find solution easily. Error: Error occurred in deployment step 'Activate Features': Feature with Id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' is not installed in this farm, and cannot be added to this scope. Solutions: I was getting this error while ‘deploy’ing a feature from Visual Studio 2010. I searched the entire project for this GUID which is mentioned in the error. I did not find it anywhere. While troubleshooting, I opened the physical folder and opened ‘Feature1.feature’ file in notepad. This xml file was using the before mentioned GUID. I was not able to find it in VS 2010 :( I copied the GUID mentioned in the ‘Feature1.feature’ file and pasted it in the Feature ID section in ‘Feature1.Template.xml’ file. This solved the problem. Why I thought to mention it is because the exception thrown is confusing. It does not tell you...

Concatenating row values in a single statement using CROSS APPLY

One more SQL issue, one more solution provided. I feel good about it now ;). I am adding it to my collection because it really helps in reducing the duration to execute the process. It is about a new feature which was introduced way back in SQL 2005. CROSS APPLY . The Scenario: Let me lay down the scenario, I have a table which has some 100 thousand + records. This is a very (deliberately) de normalized table. The structure and contents of the table are as below. ID FirstName Education 1 Vighnesh BSC KUD 1995 2 Vighnesh MSC KUD 1997 3 Vighnesh PHD MIT 2009 4 Mark BCOM KUD 2000 5 Mark MBA IIMB 2008 6 Vicky BE VIT 2008 From the above table, I want to get only distinct records, with the education column concatenated. Something like this… ID FirstName Education 1 Vighnesh BSC KUD 1995 MSC KUD 1997 PHD MIT 2009 4 Mark BCOM KUD 2000 MBA IIMB 2008 6 Vicky BE VIT 2008 This can be achieved with a simple query… SELECT DISTINCT FirstName, CAST(Concat_Education as nvarchar(max)) as Education_...

Working with xml data type in MS SQL server

Previously I had worked with xml data type in SQL 2005. There I was serializing the object in to xml and putting it into xml variable in SQL table. And whenever needed I would pull the xml from SQL table and create an object (deserialize). But recently I was presented with a challenge to manipulate the xml in SQL (T-SQL) itself. In this scenario, xml text was being stored in a table as nvarchar(max). Let’s say the column name is “xmlFrag”. A function was written to return rows based on a set parameter. But for the set parameter, if the result set returns multiple rows, the function would combine the xmlFrag column (from both rows) and return one xml fragment. Below is the example. 1st row of the resultset. Gud Day Biscuits Cashew nuts Honey 2nd row of the resultset. Britannia Marie Wheat Barley Then the function would combine these 2 rows data into one single xml fragmen...

Working with large xml files in c# .net

Working with large (huge) xml files is always a pain in the … The reason? These files can’t be loaded in to memory. On my desktop, where I have 2 gigs memory, I can’t open the file in even notepad. I was presented with a challenge recently to manipulate one such large xml file. The xml file was of 550+ MB. I know many would say I have seen bigger xml files than this. But the heart of the matter is if I can’t open 550+ MB file in notepad or in xmldocument in c#, then I can’t open any file bigger than this. And hence the logic to play with these files would remain same. The scenario: We have an xml file from which we want to remove a single node without removing its children. In the below sample xml fragment, the node has to be removed. The children nodes, must then be attached to ( node’s parent) node. One Two 100.22 GoodDay 3 4 Five 200.09 Cra...

Customizing SharePoint search results web part

In some cases the client does not want to display/see out-of-the-box search results. For example the client wants to have a search functionality only on a specific document library or wants to see all the related links by a particular author. In this case it makes sense to display the search results grouped by author. Below we will try to display the search results web part grouped by author. Step 1. In search centre page(where you have placed search box and search results web part), click on ‘Site Actions’ and ‘Edit Page’. Figure 1. Click on ‘Edit Page’. (Since I have already modified the ‘Search Core Results’ web part, you are able to see group by result.) Step 2. For ‘Search Core Results’ web part, click on ‘modify shared web part’ Figure 2. Click on ‘Modify Shared Web Part’ for ‘Search Core esults’. Step 3. Click on ‘XSL Editor…’ button. Copy all the text available. Now open notepad and paste all the content in it. Save the file as ‘SearchAll.xml’. Figure 3. Click on ‘XSL Edit...