Start-SPEnterpriseSearchServiceInstance – SearchServiceInstance is not found on server”

I’ve got this error message when trying to start the Search Service on one of the machines on the farm.

The command I’ve used:

Start-SPEnterpriseSearchServiceInstance servername

 

The error message was:

Start-SPEnterpriseSearchServiceInstance : SearchServiceInstance is not found on server ‘servername’.

 

After fighting a while with SharePoint I realized my problem was on my farm data being cached on the SharePoint 2013 Management Shell window I was using. The server I was trying to start the Search Services on was only added to the farm a few minutes before on the same SharePoint 2013 Management Shell window and even though the command Get-SPServer was showing the new server name on it, the cache for the farm on the powershell window was preventing me from accessing the server.

After I closed the SharePoint 2013 Management Shell window and opened a new one, the Start-SPEnterpriseSearchServiceInstance command worked just fine.

 

See you,

Amadeu.

 

Interesting Posts on Distributed Cache Services on SharePoint 2013

I was reading about the Distributed Cache Service on SharePoint 2013 and found the following interesting articles about it:

AppFabric Caching and SharePoint: Concepts and Examples (Part 1)

AppFabric Caching (and SharePoint): Configuration and Deployment (Part 2)

Distributed Cache Service in SharePoint 2013

 

See you,

Amadeu.

 

 

 

SharePoint 2013 Search Back to Front Course on Pluralsight

In the beginning of August PluralSight released a SharePoint 2013 Search Back to Front  course.

I just took it and really enjoyed it! It demonstrates a complete search setup from the search service provisioning, going through configuration to the usage on the sites and customization of the search results display.

The main modules are:

  • SharePoint 2013 Search Overview
  • SharePoint 2013 Search Configuration
  • SharePoint 2013 Advanced Search Configuration
  • SharePoint Search Results Presentation
  • SharePoint 2013 Search Troubleshooting

The course’s author, Matthew McDermott, is a very good presenter and makes very easy to understand the topics with good and solid examples. The course covers all the main concepts you need to understand to start planning how you going to use search on your organization and projects. Thumbs up!

One of the most interesting things for me was a very cool powershell script available for download to help you configure your search architecture. You should check it out.

See you,

Amadeu.

Using Enterprise Search to Build a Product Catalog Site

If you are interested on learning how SharePoint 2013’s Enterprise Search can help you build a product-centric web site check this post series out:

How to set up a product-centric website in SharePoint Server 2013

It uses search out of the box features to build a “Contoso” web site based on a product catalog created and managed on a different site collection.

The series of blog posts by Bella Engen guides you through the sites configuration, data load, site navigation, web parts configuration and refiners placement.

The posts are very interesting and mix information on the features used and steps to configure but it lacks some configuration information and support material.

On Stage 2, the metadata configuration was complicated in my case and the data load into the product catalog site is very confusing. In my case, after I’ve created the Product Catalog site collection I went to the Products list and I couldn’t find the Item Category column on the list.

ProductSite02

After I’ve added the Item Category site column to the Products list, I had to go to the Metadata Management  Tool and create a new group to be associated with my site collection.

ProductSite03

With the group created, I’ve created the Product Hierarchy term set.

ProductSite04

ProductSite05

Back to the Product list, I had to associate the Item Category field with my term set:

ProductSite06a ProductSite06b

At the point, I was ready to run the powershell scripts. I’d recommend you to download the script files from this zip file and execute it  instead of the script Bella provided.

Please edit file file InputParameters.ps1 and provide values for the following variables:

  • $productCatalogSiteCollectionURL : Complete URL for your product catalog site collection.
  • $CatalogInpFile : Path to the products.txt file. If you keep the structure from the zip file you don’t need to change this variable.
  • $TaxonomyInpFile : Path to the taxonomy.csv file. If you keep the structure from the zip file you don’t need to change this variable.
  • $termStoreName : Name of your Term Store.
  • $termSetName : Name of your Term Set.

After the configuration is done, execute the powershell script in order:

  • 1CreateSiteColumns.ps1
  • 2ImportListContent.ps1
  • 3ImportTaxonomy.ps1
  • 4LinkListContentWithTaxonomy.ps1

On Stage 6, she doesn’t provide the master page and page layouts templates which doesn’t change the steps you can do but doesn’t make your local experience as cool and fancy as you see on the posts.

Overall, a very good reference if you want to understand the out of the box search capabilities to create dynamic sites based on search.

See you,

Amadeu.

SharePoint 2013 – Script to Download Pre-Requisites on Windows 2012

I was researching on where to get the offline install files for pre-requisites for SharePoint 2013 and found this neat powershell script by Muawiyah Shannak:

Script to Download SharePoint 2013 Pre-Requisites for Windows Server 2012

 

The script works just fine and also works on Windows 7 machines if you have the Background Intelligent Transfer Service (BITS) service running.

Enjoy!

 

See you,

Amadeu.

 

 

 

SSL Certificate Error on .NET

If you see the following message when trying to call a secure web service from .NET applications, it normally is associated with the SSL certificate being expired or not valid for the URL you ‘re calling:

[System.Net.WebException]: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. Inner error [System.Security.Authentication.AuthenticationException]: The remote certificate is invalid according to the validation procedure.

Make sure you really investigate if the certificate is valid.

In a recent case we had to deal with the reason the certificate was throwing this error was the root certificate authority has been changed when the third party service renewed their SSL certificate. The new certificate authority Go Daddy was not recognized by the web server (old Windows 2003 server) and then the server considered the certificate invalid.

It took us awhile to figure it out, but after registering the certificate authority on the server it worked fine.

 

See you,

Amadeu.

Support for Rewrites and Redirects on SharePoint

If you use Microsoft SharePoint versions 2007, 2010 or 2013 and also use URL Rewriting techniques, you should review this Microsoft Knowledge Base article:

Supportability of Rewrite and Redirects with SharePoint 2007/2010/2013

According to the article, if you change the path of the URL (the part after the domain, e.g. /pages/home.aspx) received by IIS and send a different one to SharePoint (called asymmetrical URL rewriting in the article) you are unsupported.

If you send the same path of the URL received by IIS to SharePoint, then you run a supported scenario.

 

Why is it important? – you might ask.

It is important because when you run into issues on your implementation and you don’t find a good solution “googling” around, you might have to call Microsoft for support and their answer for you might be: “you’re running an unsupported scenario.”.

In my case, we ran into issues with AXD files not being sent to the browser by SharePoint and the issue looks to be related to both the URL rewriting and the output cache. for now we disabled the output cache as a workaround and it seems to working fine. Let’s see if we can find a good solution for this issue. I’ll probably write more about it here when we figure it out.

If you use any type of URL rewriting on SharePoint or are planning on doing it, you should this article out.

 

See you,

Amadeu.

 

 

How to Recycle an IIS Application Pool Using a Command Line

Use the following command line in order to recycle an application pool on IIS 7:

[system drive]:\windows\system32\inetsrv\appcmd recycle apppools /apppool.name:”Your Application Pool Name”

 

Works like a charm.

 

See you,

Amadeu.

Showing/Hiding the Ribbon Based on Permissions

I’ve got a task to check why the ribbon was not being displayed for a user with full control on a page on a SharePoint 2010 Publishing site.

Requirements-wise the request made total sense: the user with full control permissions on a page should be able to see the ribbon, check the page out, edit the page, check it back in and publish it. During my tests I noticed the master page had a SPSecurityTrimmedControl control around the ribbon. This control was preventing to ribbon to be shown for the user because it was configure to only show it for users with ManageWeb permissions.

<SharePoint:SPSecurityTrimmedControl
ID=”TrimRibbon”
PermissionsString=”ManageWeb”
runat=”server”>

Checking the list of SPBasePermissions values for the PermissionString property I was able to find the permission I wanted to use: EditListItems. This way all users with permissions to edit items/pages can see the ribbon.

When I changed the SPSecurityTrimmedControl control to use the EditListItems permission and published the master page, the user was still not seeing the ribbon.

After a couple of tests using different permissions, I found an article by Infowise explaining  the details of the SPSecurityTrimmedControl control and the usage of the PermissionContext property. This property controls the scope of the PermissionString property and by default is uses CurrentSite. Some of the values of the SPBasePermissions are scoped to the List or List Item.

In order to my permission check to work, I had to add the PermissionString property to the SPSecurityTrimmedControl control using the CurrentItem value:

<SharePoint:SPSecurityTrimmedControl
ID=”TrimRibbon”
PermissionsString=”EditListItems”
PermissionString=”CurrentItem”
runat=”server”>

After this change, the user was able to see the ribbon on the pages he had full control permission on and the site admins are still able to see it.

 

During my research, I also found this other article explaining a little bit more of the SPSecurityTrimmedControl control. Worth to check it out.

 

 

See you,

Amadeu.

 

Unrecognized attribute ‘targetFramework’.

Some times we receive the following error message when trying to run a .NET 4.0 or 4.5 application:

 

Unrecognized attribute ‘targetFramework’.

 
Error message
 

The cause is normally the application pool configure to run .NET 2.0 application.
 
In order to solve it, go to the application pool for your site and change it to run on .NET 4.0.
 
See you,
Amadeu.

Design a site like this with WordPress.com
Get started