Indexing Sharepoint to display results within Sitecore
I am working on indexing SharePoint content so that we can display those results in our custom Sitecore search UI. We are currently running in to 2 issues that i dont fully understand.
Does anything need to be installed on the SharePoint side if we do not have a search UI within SharePoint. It looks like based on the documentation the answer is no but it wasn't clear how the connector crawls SharePoint. Is the connect using the SharePoint Web API?
Since Sitecore users will be searching the SharePoint index, security may be an issue. Everything in the SharePoint index will be available to any Sitecore user. Would we just need to set something up with impersonation to make sure the Sitecore user will be able to access the SharePoint index?
I'm not an expert in SharePoint but I'll try to answer your questions:
- I don't think there's anything to install inside SharePoint. You can follow the quick setup related to your environment (see Microsoft SharePoint Source Quick Setups).
- Your Sitecore and SharePoint indexed documents won't have common securities by default. You have a few options.
Options for searching SharePoint documents inside a Sitecore search page:
- If you are using the January 2016 release of Coveo for Sitecore or later AND you are able to map the Sitecore users to SharePoint users, you could create a processor for the
getSearchUserIdentitiespipeline to inject an additional SharePoint user identity on queries done in the Sitecore search page.
- If all your SharePoint indexed documents should be searchable by all the Sitecore users, you can modify your SharePoint source permissions. You'll need to add the "Everyone" "Group" for your Sitecore security provider to the allowed users on your SharePoint source. To do this in CES7 Admin Tool, edit your SharePoint source, go to the "Permissions" section in the left menu, choose "Index security permissions and specify additional security permissions to index", add the everyone group in the allowed users, click on the "Apply Change" button, then rebuild your source. (see step #3.c of Displaying External Content in a Search Interface).
I hope this helps,