Search has encountered a problem that prevents results from being returned

I got the following error in search results:

Fehlermeldung1

When looking into the Log-Files I found the following:

07/02/2015 13:17:56.99                w3wp.exe (0x6B58)                                      0x35AC SharePoint Server Search          Query                                         dka5      High      SearchServiceApplicationProxy::Execute--Error occured: System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Tried IMS endpoints for operation Execute: Cannot plan query for index system SP687d6eeb0241. Index fragment '0' has no available cells. Cell statuses: [Cell I.0.0 on node IndexComponent1: Cell status is set to 'not available' (cell out of sync or seeding)] (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: Microsoft.SharePoint.SPException: Tried IMS endpoints for operation Execute: Cannot plan query for index system SP687d6eeb0241. Index fragment '0' has no available cells. Cell statuses: [Cell I.0.0 on node IndexComponent1: Cell status is set to 'not available' (cell out of sync or seeding)]   ... 990a169d-5bdf-904e-2a6f-03276c7b13e1

Here is how to fix this issue:

1. Stop the SharePoint Timer Service (Server Manager > Tools > Services)

Fehlermeldung3

2. Clear the SharePoint configuration cache. Therefore navigate to \ProgramData\Microsoft\SharePoint\Config and find the folder that contains the file cache.ini.

Fehlermeldung2

Delete all files in that folder, except the cache.ini. Afterwards open cache.ino in notepad an replace the content with a simple 1. Save the file.

Fehlermeldung4

3. Restart the SharePoint Timer Service (Server Manager > Tools > Services)

4. Do an index reset in Central Administration (Manage Service Applications > Search Service Application > Crawling > Index Reset)

5. Do a full crawl (Manage Service Applications > Search Service Application > Crawling > Content Sources)

Afterwards your search results should work as expected.

Nintex Workflow Activity Template for Visual Studio

Nintex offers some project templates for Visual Studio. One for an activity and one for an action adapter. You can download them from Nintex SDK: Installing and using Visual Studio templates.

I installed and used them to develop a new activity. After creating a new solution with adapter and activity using Namespaces you get a bunch of errors.
My Namespace is “AtiaNuur.NintexWorkflows”. Here are my steps to setup und correct the two projects:

  • Create new Project of type Nintex Adapter
    • Name “AtiaNuur.NintexWorkflows.HelloWorld”
    • Solution HelloWorld
  • Set SolutionId in package to new Guid (Nintex creates allways the same SolutionId)
  • Add Project of Type Nintex Activity using Name “AtiaNuur.NintexWorkflows.HelloWorldActivity”
    • Change default Namespace to “AtiaNurr.NintexWorkflows.HelloWorld
  • In File AtiaNuur.NintexWorkflows.HelloWorldActivity.cs
    • remove Namespace in class Name
    • Also remove Namespace in PropertyDependencies
    • Remove ‘Activity’ from namespace

The File AtiaNuur.NintexWorkflows.HelloWorldActivity.cs should look like this now:
Nintex-Template-Repair

  • In AtiaNuur.NintexWorkflows.HelloWorldDialog.aspx.cs
    • Remove namespace in classname
  • In AtiaNuur.NintexWorkflows.HelloWorldDialog.aspx
    • Shorten Filename
    • Set new filename in NWAFile
    • Set new filename in .aspx prefix tags
    • Remove duplivate namespace in tag Page
  • Add new EmptyElement “NWAFile”
    • Delete Element.xml
    • Move *.nwa file into EmptyElement
    • Set DeploymentType to ElementFile
  • In .nwa File
    • Set Name, Category and Description
    • <ActivityType>AtiaNuur.NintexWorkflows.HelloWorld.HelloWorldActivity</ActivityType> insert Activity classname
    • <ActivityAssembly>AtiaNuur.NintexWorkflows.HelloWorldActivity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=529ebf25b8a73f63</ActivityAssembly> get your own full filename using ILSpy
    • Remove duplicated Namespace in AdapterType
    • Correct icon filenames
    • Correct ConfigurationDialogUrl
  • In package > Advanced
    • Add Activity Assembly
  • In File “AtiaNuur.NintexWorkflows.HelloWorldAdapter.cs”
  • Create Feature according to https://cann0nf0dder.wordpress.com/2013/09/12/nintex-workflow-custom-actions/
    • Add Event Receiver
    • Change NWAFile Name and Path
    • Change Adapter Class Name

SharePoint Survey – Where People and Group field data is stored in database

In general survey data is saved in SQLs AllUserData Table in the Content Database. But the data for a “people and group” field is not. This data is stored in the AllUserDataJunctions table.
You can use the following SQL statement to get the People for a survey list with title “MySurvey”. You should also filter the result by FieldID, if you have more than one people and group field:

SELECT
tp_Title
,tp_RootFolder
,tp_Modified
,AllUserData.tp_Created
,[AllUserDataJunctions].[tp_SiteId]
,[AllUserDataJunctions].[tp_DeleteTransactionId]
,[AllUserDataJunctions].[tp_IsCurrentVersion]
,[AllUserDataJunctions].[tp_DocId]
,[tp_FieldId]
,[AllUserDataJunctions].[tp_Id]
,[tp_Ordinal]
,[tp_SourceListId]
FROM [SP230_Inhalt_Inet].[dbo].[AllUserDataJunctions]
Join [SP230_Inhalt_Inet].dbo.AllUserData on AllUserData.tp_DocId = AllUserDataJunctions.tp_DocId
Join [SP230_Inhalt_Inet].dbo.AllLists on AllLists.tp_ID = [AllUserDataJunctions].tp_SourceListId
Where tp_Title = 'MySurvey'