SharePoint Expert

1.Install Prerequisites1



restart your server


2.Install SharePoint 2013

Run the SharePoint 2013 setup media.

On the Enter Your Product Key tab, enter your product key, and then click Continue.


On the Read the Microsoft Software License Terms tab, review the terms, select the “I accept the terms of this agreement” check box, and then click Continue.


On the Server Type tab, click Complete.


On the File Location tab, accept the default location or change the installation path, and then click Install Now.



When the Setup program is finished, a dialog box prompts you to complete the configuration of your server. Clear the Run the SharePoint Products and Technologies Configuration Wizard now check box.


3 .Run SharePoint Products Configuration Wizard

On the Welcome to SharePoint Products screen, Click on Next button to continue


You will be prompted for start or reset the Services during Configuration. Click on Yes button to continue


On the Connect to a server farm screen, Select the Create a new server farm radio button


You have to provide set the below mentioned fields to complete the configuration

Database server – Instance name of your SQL Server 2012 R2

Database Name – Database of the SQL Server

Username – Domain user (SP_Farm)

Password – based on your choice

Click on Next button to continue


On the Specify Farm Security Settings screen, you need to provide the password to secure the configuration data.

Please remember Passphrase


On the following screen, you can setup the port number and the security settings for your site. Click on Next button to continue



On the Completing the SharePoint Products Configuration Wizard screen, Click on Next button to complete the configuration


Once, configuration completes, you should be able to see the Successful message on the screen. Click on Finish button


You will be landed to Welcome page of SharePoint Farm configuration. Click on Start the Wizard button to configure the services & create root site



Background : In SharePoint during a content type property change from Folder to Document Sets, folders sometimes not correctly converted to document sets due to this below issues occurs

  • Folder icon remains instead of the document set icon.
  • The Document Set home page does not appear.
  • Document set functionality is not available via the ribbon.

Root Cause :The issue is with the ProgId property,  ProgId is blank or no value

WorkAround : ProgId property set to ‘SharePoint.DocumentSet’.

Approach 1 : You can create an event receiver which sets the ProgId property set to ‘SharePoint.DocumentSet’ when Item updating event.

properties.ListItem.ProgId  = “SharePoint.DocumentSet”;


Approach 2 : Powershell Script

[string]$WebUrl = $(throw “WebUrl required.”),
[string]$ListName = $(throw “ListName required.”),
[bool]$disableEventFiring = $false

#Region [ Load Assemblies ]
$spNotFoundMsg = “SharePoint not found. Run this script from a SharePoint server that is part of the farm where you want to update your content types”

if ([Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”) -eq $null)     { throw $spNotFoundMsg; }
if ([Reflection.Assembly]::LoadWithPartialName(“Microsoft.Office.Server”) -eq $null)    { throw $spNotFoundMsg; }
if ([Reflection.Assembly]::LoadWithPartialName(“System.Xml.Linq”) -eq $null)      { throw $spNotFoundMsg; }
if ([Reflection.Assembly]::LoadWithPartialName(“Microsoft.Office.Server”) -eq $null)    { throw $spNotFoundMsg; }
if ([Reflection.Assembly]::LoadWithPartialName(“Microsoft.Office.Server.UserProfiles”) -eq $null) { throw $spNotFoundMsg; }
if ([Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint.Taxonomy”) -eq $null)   { throw $spNotFoundMsg; }

$snapin = Get-PSSnapin | Where-Object {$_.Name -eq ‘Microsoft.SharePoint.Powershell’}
if ($snapin -eq $null)
Write-Output “Loading Microsoft SharePoint Powershell Snapin”
Add-PSSnapin “Microsoft.SharePoint.Powershell”

Start-SPAssignment -Global

$web = Get-SPWeb $WebUrl -EA 1

$list = $web.Lists[$ListName]
if ($list -eq $null) { throw “List ‘$ListName’ not found at ‘$WebUrl'” }

Write-Host “Found list ‘$ListName’ at ‘$WebUrl'” -ForeGroundColor Green

Write-Host “Disabling event firing” -ForeGroundColor Yellow
$myAss = [Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”);
$type = $myAss.GetType(“Microsoft.SharePoint.SPEventManager”);
$prop = $type.GetProperty([string]”EventFiringDisabled”,[System.Reflection.BindingFlags] ([System.Reflection.BindingFlags]::NonPublic -bor [System.Reflection.BindingFlags]::Static));
$prop.SetValue($null, $true, $null);

$count = 0
$folderCollection = $list.Folders
foreach($folder in $folderCollection)
if ($folder.ContentType.Id.ToString().StartsWith(“0x0120D520”))
if($folder.ProgId -ne “SharePoint.DocumentSet”)
Write-Host “Found a document set to fix:” $folder.Title -ForeGroundColor Yellow

$folder.ProgId = “SharePoint.DocumentSet”
$documentSet = [Microsoft.Office.DocumentManagement.DocumentSets.DocumentSet]::GetDocumentSet($folder.Folder)

Write-Host “Document set” $folder.Title “is fixed” -ForeGroundColor Green

if ($count -eq 0)
Write-Host “Found no document sets requiring an update!” -ForeGroundColor Yellow
Write-Host “Updated $count document sets!” -ForeGroundColor Green

Stop-SPAssignment -Global

Powershell Command

C:\PS> .\DocumentSetProgIDUpdate.ps1 -WebUrl “http://mysitecollection/myweb/” -ListName “ListName”   -disableEventFiring $true

PS : Powershell Script Developed by:

Cheers !

Background : if your customer wish “Attach file” option in List Form itself instead of OOB option available in ribbon.Customer not intended to click the “Attach File” button at the top of the form(Ribbon) because he don’t want to go to a different page to upload items and also want to save extra clicks


WorkAround : Create a custom list form or go to your NewForm or EditForm aspx using SharePoint Designer. Place the below code where you would like to insert the Attachment Field

<td width=”190px” valign=”top” class=”ms-formlabel”>
<h3 class=”ms-standardheader”>
<nobr>Attach Files</nobr>
<td valign=”top” class=”ms-formbody” id=”attachmentsOnClient” style=”width: 434px”>
<span dir=”ltr”>
<input type=”file” name=”fileupload0″ id=”onetidIOFile” size=”56″ title=”Name”></input>
<td width=”100px” valign=”top” class=”ms-formbody”>
<input name=”Button1″ type=”button” value=”Attach” onclick=’OkAttach()’ style=”width: 6em;
height: 1.7em” />
<span id=”idSpace”></span>

Cheers !


Background : To hide specific tab or hide entire ribbon from the SharePoint ribbon from NewForm.aspx and EditForm.aspx using  jQuery & Java Script


WorkAround 1: Using jQuery

$(document).ready(function() {

//Hide Save,Cancel and Commit




//Hide Paste,Cut,Copy,Clipboard





// To Hide Delete


// Hide Attach File,Actions



//Hide Spelling,Spelling Image




//Hide Menu Separator


// Entire Ribbon

$(“div.’s4-ribboncont:contains(‘Spelling’)”).parent(‘div’)[0].style.display = “none”;

// Entire Ribbon with Blue Background



WorkAround 2 : Using JavaScript

//Entire Ribbon

<script type=”text/javascript”>

var dRibbon = document.getElementById(“s4-ribbonrow”);

if (dRibbon != null)


dRibbon .style.display = ‘none’;




//  Hide Attach File

function Hide()


var tags = document.getElementsByTagName(‘a’);

for (var i=0; i < tags.length; i++)


if(tags[i].title == ‘Attach File’)


tags[i].style.display = ‘none’




Cheers !

Background : An unexpected error has occurred in Site pages after installing Bamboo\Telerik Web parts


Error in Log : Another component has already added an HttpSessionState to the context. Please make sure only one session state module should be registered

Root Cause : Some Bamboo\Telerik Web parts will add additional SessionState entry in your web.config file.

Web Config Entries


WorkAround 1: Remove duplicate entries from Web Config, you can remove the entry from <modules> tag

This workaround will fix the unexpected error message but it may prevent the  Bamboo web part from working.

In order to make Bamboo Web part work you can follow the workaround 2

WorkAround 2:Rename the Session Name in  both <modules> and <httpmodules> tags

<add name=”Session2” type=”System.Web.SessionState.SessionStateModule” />

Now the Bamboo Web part will work

You can able to fix this issue using this workarounds.

Cheers !