The SharePoint Conference is back – almost

Microsoft today blogged about an awesome news. Microsoft will be hosting a SharePoint Virtual Summit, a free global online event, on May 16 2017.

Last year Microsoft had Future of SharePoint virtual event which was viewed by over 50,000 users and hence this year Microsoft is bringing it back.

At this year’s SharePoint Virtual Summit you’ll learn how to create a connected workplace in Office 365 with OneDrive and SharePoint and integrated with Yammer, Microsoft Teams, Windows, PowerApps and Microsoft Flow. Microsoft Corporate Vice President Jeff Teper will unveil the latest product innovations and roadmap. You’ll also hear from industry-leading customers on how they are leveraging these technologies as part of their digital transformation. Jeff will be joined by Microsoft corporate vice presidents James Phillips and Chuck Friedman to discuss how Office 365, connected with Windows and Azure, is reinventing productivity for you, your teams and your organization.

Make sure you register and secure your spot.

SharePoint Saturday Ottawa – December 2016

On December 3, 2016, I was at Ottawa presenting at SharePoint Saturday Ottawa 2016.

The event was at Algonquin college.

I presented on developer introduction to new SharePoint framework (SPFx). I would like to thank everyone who attended my session.
It was awesome to see lot of interest to learn new framework as there were users who did not have any background on SharePoint server side model but wanted to learn more about how they can use their existing web development skills to build against SharePoint Online.
Kudos to all the organisors, sponsors and volunteers for successful event!!!

SharePoint 2013 Check-in / Check-out PDF files using Adobe Acrobat Reader

I get this request once in a while where users wants to checkout PDF document hosted in SharePoint from within Adobe Acrobat Reader or once check-out from SharePoint they want to check that document back in (or save the document) to SharePoint from Adobe Acrobat Reader.

Now if you are using SharePoint 2013 out of the box you may not get this feature. Fortunately there is simple configuration change that you would need to make to have this feature.

On all your SharePoint web front-end servers you would need to edit your DOCICON.xml file and update the PDF mapping to the following.

<Mapping Key=”pdf” Value=”icpdf.png” EditText=”Acrobat Reader” OpenControl=”AdobeAcrobat.OpenDocuments” OpenApp=”AcroRd32″/>

When changing this entry I was reading that it was recommended to perform IISRESET but that is only needed if you need this change to kick in right away. If you can wait then this change does not even require app pool recycle. In my case I had to wait roughly couple of hours (not 100% sure).

Nick Patel also have blogged about this in details if you are looking for additional information.

Search Results web part not showing all results

Many SharePoint projects uses Search Result Web Part to display data and provide refiners to further filter the result.

As usual to configure that you will drop the Search Result Web Part and provide the query to pull your data. When you test your query you will see that data is returned (if your query is correct) and you will see the result count i.e. number of results.

But when you view the result in real time you will see that the result count does not match. Search Result web part displayed less results than you were expecting.

This is because if search result web part thinks that there are some duplicate data in the results being displayed then it will automatically supress those results.

There are couple of fixes to this.

1) Search result web part settings

When providing the query you can click the Settings tab and select “Don’t remove duplicate option”.

2) Search Result Web Part Export and Import

You can also export your search result web part and find “TrimDuplicates”:true and change it with “TrimDuplicates”:false.

I hope you find this helpful.

Enable ECB menu on non-default column – SharePoint Server 2013

Once in a while you will get this requirement where users want to enable ECB menu on a column which is not default column. E.g. in case of Custom list you want to display ECB menu option on say your own column and not on Title column.

One way to achieve this is by using the following PowerShell script.

One word of caution please make sure you do not enable ECB menu on person or group field type.  For some reason SharePoint does not like that. In case you ran this script on Person or Group field type then simply revert  it and you would get your field data back,.

Here is the script.

Add-PSSnapin Microsoft.SharePoint.PowerShell

$web = Get-SPWeb "";

$list = $web.Lists["LISTTITLE"];

$field = $list.Fields["COLUMN"];

$field.ListItemMenu = $true;

$field.LinkToItemAllowed = [Microsoft.SharePoint.SPField+ListItemMenuState]::Required;

$field.ListItemMenuAllowed = [Microsoft.SharePoint.SPField+ListItemMenuState]::Required;



PowerShell to check document library versioning setting

I had this requirement where I had to loop through all the Webs and create a report on how many document libraries do not have versioning enabled.

I found this blog post which actually does something similar but it checks the version size.

I have updated the script for my requirements and I am sharing with you guys in case if someone had the same requirements.

Add-PSSnapin Microsoft.SharePoint.PowerShell

#Replace the URL with your Web Application

 $WebAppURL = "";

 #Get the Web Application


    #Write the CSV Header - Tab Separated

 "Site Name`t Site URL `t Library `t Versioning Enabled" | out-file C:\temp\DocLibVersioningReport.csv ;

 #Loop through each site collection

  foreach($Site in $WebApp.Sites)


    #Loop through each site in the site collection

     foreach($Web in $Site.AllWebs)


            #write-host $Web.Title;

            #Loop through  each List

            foreach ($List in $Web.Lists)


                #Get only Document Libraries & Exclude Hidden System libraries

                if ( ($List.BaseType -eq "DocumentLibrary") -and ($List.Hidden -eq $false) )


                     "$($Web.Title) `t $($Web.Url) `t $($List.Title) `t $($List.EnableVersioning)" | Out-File C:\temp\DocLibVersioningReport.csv -Append ;                    



       $Web.Dispose() ;        


 $Site.Dispose() ;        


    write-host "Report Generated Successfully!" ;