Enabling/ Using Content By Search Web Part In Standard Edition Of SharePoint 2013

In one of our SharePoint 2013 projects, we are using "Content by Search" web part for one of our requirements. In our development environment, we have SharePoint 2013 Enterprise edition, so we don’t have any issue while using "Content by Search" web part.

But in one of our test environments, our support team installed the standard edition of SharePoint 2013 by mistake. When we deployed our solution in the test environment, our "Content by Search" web part stopped working.

Solution

Initially, we were not aware of SharePoint 2013 standard edition deployed in our test environment. We started investigating why our Content Search web parts were not working. Surprisingly, when we edited the web part, Query Builder was showing the result but when we saved the web part properties and page, web parts were rendering blank, no result. When we tested “Search Result” web part, it is working fine, showing the result.

 

We removed our custom control template and displayed the templates but no luck. So, it seemed that this was not an issue of custom templates as well. When we tried to add OOB “Content by Search” web part on page, this web part was not available to add in “Content Rollup” category as,

SharePoint
Figure 1: Content Search web part is not available in Content Rollup category

After investigating more, we found the following exception.

  1. $create(Srch.ContentBySearch, {  
  2. "delayLoadTemplateScripts"true,  
  3. "itemTemplateId""~sitecollection/_catalogs/masterpage/Display Templates/Item_UserListing.js",  
  4. "messages": [{  
  5.     "serverTypeId""{D3DFEF63-4D44-497D-B936-047135645AD7}",  
  6.     "header"null,  
  7.     "level": 2,  
  8.     "code": -1,  
  9.     "type"null,  
  10.     "messageDetails""This Web Part is not available for use. Search-Driven content (592CCB4A-9304-49AB-AAB1-66638198BB58) feature needs to be activated to use this Web Part.",  
  11.     "messageDetailsForViewers""",  
  12.     "stackTrace""",  
  13.     "correlationID""968b339e-3e03-b02a-fe18-2568848aa782",  
  14.     "showInEditModeOnly"false,  
  15.     "showForViewerUsers"false,  
  16.     "encodeDetails"true  
  17. }],  
  18. "numberOfItems": 50,  
  19. "queryGroupName""Default",  
  20. "renderTemplateId""~sitecollection/_catalogs/masterpage/Display Templates/Control_List.js",  
  21. "showBestBets"false,  
  22. "showDefinitions"false,  
  23. "showDidYouMean"false,  
  24. "showPersonalFavorites"false,  
  25. "states": {}  
  26. }, nullnull, $get("ctl00_ctl53_g_6c4c49b9_7b39_4ad2_ba06_58f0900b858a_csr"));  
  27. });  

We googled out the feature “592CCB4A-9304-49AB-AAB1-66638198BB58” and this is “SearchDrivenContent” which is a hidden feature for the standard edition of SharePoint 2013. Here is a good article for the comparison of all features in all editions of SharePoint 2013 “SharePoint 2013 Standard vs. Enterprise vs. Foundation Feature Comparison Matrix”.

Then, we realized that on our test environment, we had standard edition of SharePoint 2013 and not enterprise edition. We have option for reinstalling of SharePoint 2013, but we thought to reactivate the above-mentioned feature and try once.

We check 15 Hive and this feature was available in 15 Hive. So, we installed this feature as

Install-SPFeature -Path "C:\Program Files\Common Files\microsoft shared Web Server Extensions\15\TEMPLATE\FEATURES\SearchDrivenContent"

DisplayName Id CompatibilityLevel

----------- -- -------

SearchDrivenContent 592ccb4a-9304-49ab-aab1-66638198bb58 15

And then, activated it.

Enable-SPFeature -Identity SearchDrivenContent -Url <WebApplicationURL>

We refreshed our page and web part started showing results. Also, content search web part became available to add on the page.

SharePoint
Figure 2 - Content Search web part available in Standard edition of SharePoint 2013 after enabling feature " SearchDrivenContent "

In this way, we have enabled the “Content by Search” web part on the Standard Edition of SharePoint 2013.

Here, I would say - anyway, this is not the standard way to do it. This is just a temporary way to work. The best practice is to update the SharePoint 2013 from Standard Edition to Enterprise edition.