Branding, Branding, SharePoint 2010

SharePoint Dialogs flickering on Internet Explorer (IE)

I had an strange issue in a SharePoint page were the SharePoint dialogs made the screen flickers as the mouse pointer was moving around the site. I notice that the gray background wasnt there but if i resized the browser the gray background will appear and the flickering issue went away.

It seems that SharePoint has a issue trying to calculate when to block the background if the body overflow is not set to hidden…

After a few test I overwrite the body.v4master and the dialogs worked as expected.

This is the class I added (You can also overwrite the propery in the corev4.css but i wont advise you to do that):

body.v4master
{
 overflow:hidden !important;
}

***Update***
On another similar situation but with a custom branding where I wasnt allowed to use the overflow:hidden, it also worked using position:relative

body.v4master
{
  position:relative;
}
Advertisements
Active Directory, Errors, PowerShell, SharePoint 2013

Access Denied for AD Group Users in SharePoint 2013

While trying control the site security using Active directory security groups I found this issue where users inside those groups were having an Access Denied Error. I realize that the next day they were able to get into the site but newly added users wont.

I assume this was some kind of synchronization problem, but it turns out is a default behavior, SharePoint will cache this group membership info for about 24 hours.

The time out can be configure to a lower value:

$sptokensvc= Get-SPSecurityTokenServiceConfig
$sptokensvc.FormsTokenLifetime = (New-TimeSpan -minutes 2)
$sptokensvc.WindowsTokenLifetime = (New-TimeSpan -minutes 2)
$sptokensvc.LogonTokenCacheExpirationWindow = (New-TimeSpan -minutes 1)
$sptokensvc.Update()
iisreset

This script will tell the token service that the claims will be valid for 1 minute and after that it will get the latest membership information from the Active Directory.

IMPORTANT: DO NOT SET THE LIFETIME VALUES LOWER THAN THE CHACHE EXPIRATION. If you do that the users will experience a ‘The context has expired and can no longer be used’ Error.

Errors, Hashtag, Migration, SharePoint 2013

Click on Hash tag Issue – Sorry, something went wrong

After a SharePoint 2010 to SharePoint 2013 migration, whenever a user clicked on a hash tag the detail page had the following error.

 

Hashtag1

After looking around for a while I realize that one of the scripts, Control_TagFeed.js was not been loaded, I went to the folder /_catalogs/masterpages/display templates/system and realize that the file was on check out status for some reason.

 

Hashtag2

I was unable to find the reason for this check out status but after publish the file hash tags were working again.

 

 

 

Migration, PowerShell, SharePoint 2010, Workflows

SharePoint Designer Workflow fired twice in a migrated list

Recenlty i migrate a SharePoint 2007 list and imported that list into a SharePoint 2010 site using some stsadm extensions.

The list used to have an SPD Workflow, since SPD 2007 cant be migrared i recreate the workflow using SPD 2010. But I realize that every time the workflow was trigger it was fired twice.

After some test i review the list schema and found out that the list had reference to the Workflow event receivers  for both SharePoint 2007 and SharePoint 2010.

To get rid of those extra refence i created an small powershell script:

$spWeb = Get-SPWeb -Identity http://mySP2010site/mySP2010SubSite/
$spList = $spWeb.Lists[“MyList”]
$eventsCount = $spList.EventReceivers.Count
$assembly = “Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”
for ($i = 0; $i -lt $eventsCount; $i+=1)
{
      write-host $spList.EventReceivers[$i].Assembly
   if ($spList.EventReceivers[$i].Assembly -eq $assembly)
   {
      write-host  “About to delete the reference”
      $spList.EventReceivers[$i].Delete()
   }
}
$spList.Update()

 That solves my issue.

Content Management, Third Party Controls

Installing Adobe PDF iFilter on a multi-server SharePoint Farm

Download the PDFFilter installer (In this case 64x)

1.- On the Index server run the PDFFilter64Installer

 

2.- You will need an 16 x 16 or 17 x 17 icon to display with the results, You can download one from the Adobe Page: http://www.adobe.com/misc/linking.html or you can use this Google search and choose the one you like the most.

3.-In the Front End Server, save the icon in this directory: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\IMAGES

 

4.-In the Front End Server, You will need to edit the DOCICON.XML so SharePoint knows what icon to show with the PDF files. Navigate to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML open the DOCICON.XML using Notepad

 

Go to the <ByExtension> section of the XML and insert <Mapping Key=”pdf” Value=”MyPDFImage.gif” />

 

Save and close.

4.- The next step is to include the PDF file type in the content index, go to  Search Administration dashboard  in  Central Administration – > Manage Services applications -> “Your search service application”, Within the Search Administration dashboard, in the sidebar on the left, click File Types

5.-Click New File Type and enter PDF in the file extension textbox.

6.-On the Index Server execute regedit Start -> Run – > regedit and navigate to: \\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\14.0\Search\Setup\ContentIndexCommon\Filters\Extension

 

Right-click on Extension and chose New – > Key,

 

And set .pdf

 

Now double click on default and set this key: {E8978DA6-047F-4E3D-9C78-CDBE46041603}

7.- Restart the SharePoint Server Search 14 service

 

8.- Now performed a crawl so the new pdf documents are indexed.

After the crawl Pdfs will be displayed in your search results 🙂

Content Management, PowerShell, SharePoint 2010

How to delete a document library that doesn’t have a delete option

Sometimes you might run into a document library or a list that doesn’t have a delete option under the list settings, this is common for default lists like Documents.

Those library’s cannot be deleted because they have a  property called AllowDeletion set to false.

In order to delete those library’s you can use the following power shell script which set the AllowDeletion property to true.

$web = Get-SPWeb(“http://YourSite”)

$list = $web.Lists[“Documents”]

$list.AllowDeletion = $true

$list.Update()

$list.Delete()