Posts

SharePoint 2010 - Improving Chrome Support

Certainly, if you've utilized Google Chrome to browse SharePoint 2010 pages you've noticed the inflexible behavior caused by the on-demand javascript. You almost always have to refresh to ensure that the javascript functionality works - Modal Dialogs, Ribbon, etc. With some minor updates to the master page, you should be able to utilize Google Chrome without any problems. Firstly, you'll want to add some additional items in the <head> tag. Afterwards, at the bottom of your page just above the closing </body>, add the following javascript. // Attempt to detect if this is iframe content if (location.href == top.location.href) { if(navigator && navigator.userAgent && /chrome/.test(navigator.userAgent.toLowerCase()) && $){ $(document).ready(function(){ if(_spBodyOnLoadWrapper){_spBodyOnLoadWrapper();} if($("#s4-workspace") && $("#s4-ribbonrow")) { ...

SharePoint 2010 - MySite Redirection

When user's click a user's name in a document library, etc, a file userdisp.aspx controls where the user is directed. Assuming you want to have all user links bring users to My Sites, you can start off creating the user control, by the following code on http://blogs.sharepointguys.com/brendon/sharepoint-2007/programming/redirect-to-your-own-mysite-landing-page/ and then in the RedirectIfNecessary(SPListItem user) you can utilize the following code. if (Request.QueryString["id"] != null) { SPSite _site = SPContext.Current.Site; SPServiceContext _serviceContext = SPServiceContext.GetContext(_site); UserProfileManager _userProfileManager = new UserProfileManager(_serviceContext); string _mySiteUrl = _userProfileManager.MySiteHostUrl; string _profileUrl = string.Empty; int userID = 0; if (int.TryParse(Request.QueryString["id"].ToString(), out userID)) { SPUser profileUser = SPContext.Current.Web.SiteUsers.Get...

SharePoint 2010 - Current Variation / Variation Labels

If you're trying to develop a web part, which utilizes the variation title and doing so by accessing the variation labels lists in SharePoint 2010 and experiencing problems, give this function a try. I've written it to compare the accessible locales against that of the current web LCID. public static string GetCurrentWebRegionLabel() { string strLabel = "USEN"; SPSecurity.RunWithElevatedPrivileges( delegate() { ReadOnlyCollection _variations = Variations.Current.UserAccessibleLabels; strLabel = _variations.FirstOrDefault(m => m.Locale.Equals(SPContext.Current.Web.Locale.LCID.ToString())) .Title.ToString(); }); return strLabel; }

SharePoint 2010 - Document Library (checked out documents not visible to anyone)

Issue  When trying to remove folders in a document library, it appears that no files exist in the folder, yet you receive an error saying the files have not been checked in. Workaround Go to the Document Library Settings, select Manage files which have no checked in version, then select Take Ownership of Selection. This will allow you to check in the files that were missing, and remove that folder.

SharePoint 2010 / jQuery - Swapping Images

Web part uploaded and forgot to include the image in the feature? This could be a potential issue on a managed SharePoint 2010 environment (Office 365 - Dedicated, etc.). The reference points to a path in the _layouts folder. How can I temporarily resolve this issue until I update the project? Simple. Modify the master page or add a content editor web part with the following jQuery, and store the image into a location that is easily accessible. jQuery(function() { jQuery('img[src="/_layouts/images/old-image.png"]') .attr("src", "/subsite/PublishingImages/new-image.gif"); });

SharePoint 2010 - Changing User Sessions

Ever get into a situation where you need to use a test user account to log in and test something? Generally, you will use the "Log in as different user" option and can not change back without terminating the entire user session and close out your entire browser. At any time, you can log in with whatever user account by manually entering the following, enter your domain and subsites and then "/_layouts/accessdenied.aspx?loginasanotheruser=true​". For example, "http://www.yourdomain.com/subsite/_layouts/accessdenied.aspx?loginasanotheruser=true".

SharePoint 2010 / Debug - Locating Active SharePoint Process (W3WP.exe)

Often times you may be looking at debugging SharePoint custom code and need to attach the debugger to a process. The process list may list several instances of W3WP.exe. To locate which instance you are particularly using, you can go to the command prompt and run "%systemroot%\system32\inetsrv\appcmd list wps". The following cmdlet loops to allow me to quickly refresh the net services list, which is useful after an IIS reset. :loop cls %systemroot%\system32\inetsrv\appcmd list wps pause goto loop