Posts

Showing posts with the label sp

SharePoint - Feature with ID already exists - Force Option

Occasionally, when deploying SharePoint Solutions (WSP) directly from Visual Studio, you will receive the following error. Error occurred in deployment step 'Add Solution': A feature with ID {Guid} has already been installed in this farm. Use the force attribute to explicitly re-install the feature. This error occurs when you have a previously defined feature installed, as part of the same solution, which will trigger the error. To overcome this issue, you can open the feature (double-click) which is part of your actual project, and you will see the properties window come into focus. In this window, you will see details, such as title, description, scope, items in the feature. In the property window, you'll see an option titled 'Always Force Install'. By default, this item is set to "false". If you set this option to "true", it will over-write the feature each time the project is installed. SharePoint Stack Exchange

SharePoint 2010 - The site is not valid. The 'Pages' document library is missing

Issue: If you're encountering the following error, via ULS, or the event log, due to a page library, This site is not valid. The 'Pages' document library is missing. The issue can be remedied with a quick powershell script. Workaround: Perform the following script on the page library causing the issue, and it will remove the error. $web = get-spweb http://somesite/somesubsite $pageId = $web.Lists["Pages"].ID $web.AllProperties["__PagesListId"] = $pageId.ToString() $web.Update()

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; }