Posts

Showing posts from January, 2013

How to debug the SharePoint People Picker Problems

Image
In complex environments you often have to adapt the SharePoint people picker settings for performance or other business needs reason. In this post I'll show two common problems.

Example 1: The people picker takes too long to find a user. The szenario is that you search for a user and you wait 1 or longer minute before the user is displayed in the people picker.

One reason for that is often that the whole AD with all subtrees and trusted ADs is searched. This can be easily fixed by setting a filter to the people picker (like shown here).

Another reason can be that there are multiple Domain Controllers which the SharePoint Server tries to contact. There will be a delay if some of them are sitting behind a firewall like in a DMZ. This can be fixed by opening the ports to the DCs or by modifiying the host file, by pointing th IP of the DCs behind the firewall to  DCs in front.

Example 2: Your company consists of multiple branches with their own AD You can tell the peoplepicker to sea…

Delete a SharePoint 2010 Site Collection

Image
When you delete a site collection in SharePoint 2010 from the Web UI it is not immediately deleted. The site is inserted into a queue of "To be deleted" sites. A timer job (Name:Gradual Site Delete) then deletes the sites at some point. This is called "GRADUAL DELETION". This is recommended when you delete large sites to use less system load.

Sometimes this can cause errors when you want to create a site collection with the same url immediately after you deleted one. Then you have to wait until the site is really deleted by the timer job or use PowerShell to speed up the process.

Helpful PowerShell Commands 1.) You can list the sites in the deletion queue with PowerShell:

Get-SPDeletedSite


2.) To delete a site in the queue you can also use PowerShell:

Remove-SPDeletedSite -Identity 1f11a7e8-4e89-48ref-af8a-ad805a505753
(Identity is the SiteId)

3.) To restore a site collection in the queue use:

Restore-SPDeletedSite -Identity 1f11a7e8-4e89-48ref-af8a-ad805a505…

SharePoint Web Folders - Create a Desktop Shortcut to a SharePoint library on Windows XP with and without SSL

Image
Shortcuts with HTTP Connections If you have a http connection to a SharePoint site within your network you can create easily a shortcut on your desktop.

First copy therefore the url of your library until /Forms/xxx . Example: If your URL is like

"http://sharepoint/sites/projectx/team%20documents/Forms/AllItems.aspx" 
copy the part

"http://sharepoint/sites/projectx/team%20documents" 

Right click on your desktop and select "Shortcut".  Paste the link into the the textbox without http: and revert all slashes to backslashes. Also decode all urlencodings here. The final path should look like that: "\\sharepoint\sites\projectx\team documents"


An easy way to get this path is by clicking the explorer view in the SharePoint library.



On Windows you can simply enter the WebDav address in the file explorer to open a WebDAV connection to a SharePoint library.




Shortcuts with SLL Connections But this only works with the standard http protocol on Windows XP. If …

Getting Web Url with SharePoint 2010 JavaScript API

There are multiple ways to get the current web url in SharePoint 2010 with the JavaScript API. I'll show you some different ways to get the url.


1.Way: Use global variable There is a global variable "L_Menu_BaseUrl" which you can use to get the relative url. To get the full url use :

location.protocol + "//" + location.host + L_Menu_BaseUrl var url = location.protocol + "//" + location.host + L_Menu_BaseUrl
The problem with this solution is that L_Menu_BaseUrl is a global variable and can be overwritten by other scripts or by other variables with the same name.


2.Way: Read attribute value Read the href value of the top breadcrumb navigation node. There is a breadcrumb in every SharePoint site. You can just read the href attribute of the link, which always points to the web url.

document.getElementById("ctl00_PlaceHolderSiteName_onetidProjectPropertyTitle").href
The problem with this solution is, that when you habe other placeholder nam…