Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Table of Contents

Before You Start


This document describes the steps needed for installing the various Aspire components of the SharePoint 2013 Publisher Endpoint.

This installation is done through a powershell script that will setup and configure the following components:

  • Intermediate Repository. Shared folder created to be used as a SharePoint External Source.
  • (IIS Service) Aspire Service. Acts as a data source for the Aspire ECT.
    • Reads XML files from the Repository using a separate timestamp file to managed updated content.
    • Protected using NTLM authentication mechanism.
    • Any user accessing this service must be member of the AspireUsers Active Directory or local Windows group.
  • (SharePoint Solution) Notification Endpoint. Receives requests for crawling the Aspire Content Source.
    • Creates the Content Source specific directory in the publisher file share.
    • Creates the Search Service Application Content Source.
    • Creates the BDC Model and External Content Type (ECT) in SharePoint Business Data Connectivity Services.
  • Security Trimmer. Used to enhance the search query in SharePoint Search using group expansion from Aspire.
  • Error Crawl Logs. Used to get crawled document logs from a content source.
Note
titleIMPORTANT RECOMMENDATIONS
  • Aspire to SharePoint 2013 Publisher consists of few components which can be installed on multiple servers. These components require domain user accounts specified for communicating between each other. Therefore first step of the installation is to plan which servers will host the components and which user accounts are to be used.
  • All hosts and user accounts should be in the same AD domain.
  • The user that executes the script should be Member of the Administrators user group and also part of the same AD domain.
  • Since there are some known issues with the SharePoint 2013 Endpoint, it is recommended that you use the same user for all the services involved.
  • It is recommended as well, that you keep the intermediate repository in the same server that is running the Aspire service (we are currently working on identifying the cause of these issues, and will update this page accordingly).

Installation and Prerequisites


 

SharePoint 2013 Aspire Components Installation

Publisher Installation

Single Server Installation

  1. Download the latest version of the installation files from our repository 
  2. Log in to a SharePoint 2013 server
  3. Copy the installation package (Deploy file) to that server
  4. Extract it to some directory (i.e.: C:\Deploy)
  5. Fill up the configurationParameters.xml
  6. Start PowerShell as administrator
  7. cd to scripts directory (cd “C:\Deploy\scripts”)
  8. Run 

    Code Block
    languagetext
    themeFadeToGrey
    .\DeployPublisher.ps1 -configurationFilePath ..\config\configurationParameters.xml
  9. (Optional) Install the Security Trimmer. Run 

    Code Block
    languagetext
    themeFadeToGrey
    .\DeployAspireSecurityTrimmer.ps1 -configurationFilePath ..\config\configurationParameters.xml
  10. Reboot the server to ensure security group memberships are updated
  11. Deploy and configure Aspire component (SharePoint 2013 Publisher Configuration Tutorial)

Multi-Server Installation

  1. Install the intermediate repository
    1. Log in to the server that you plan to install the intermediate repository
    2. Copy the installation package Deploy File to that server
    3. Extract it to some directory (C:\DeployRepository)
    4. Fill up the configurationParameters.xml
    5. Start PowerShell as administrator
    6. cd to scripts directory (cd “C:\ DeployRepository\scripts”)
    7. Run

      Code Block
      languagetext
      themeFadeToGrey
      .\DeployIntermediateRepository.ps1 -configurationFilePath ..\config\configurationParameters.xml
    8. Reboot the server to ensure security group memberships are updated
  2. Deploy Aspire BDC Service
    1. Copy the extracted installation folder content (C:\DeployRepository\...) with updated configuration file, from Intermediate Repository server
    2. Log in to the server that you planned to install Aspire Service, and paste copied content to some directory (C:\DeployAspireService)
    3. Make sure the configuration file has been updated from the previous installation and filled piped parameters inside Aspire BDC Service inputs.
    4. Start PowerShell as administrator
    5. cd to scripts directory (cd “C:\DeployAspireService\scripts”)
    6. Run 

      Code Block
      languagetext
      themeFadeToGrey
      .\DeployAspireBDCService.ps1 -configurationFilePath ..\config\configurationParameters.xml
    7. Reboot the server to ensure security group memberships are updated
  3. Deploy Notification Service
    1. Copy the installation package (C:\DeployAspireService) with updated configuration file, from Aspire Service server
    2. Log in to any SharePoint server that you planned to install Notification Service, and paste copied content to some directory (C:\DeployEndpoint)
    3. Make sure the configuration file has been updated from the previous installation and filled piped parameters inside Notification Service inputs.
    4. Start PowerShell as administrator
    5. cd to scripts directory (cd “C:\DeployEndpoint\scripts”)
    6. Run 

      Code Block
      languagetext
      themeFadeToGrey
      .\DeployNotificationService.ps1 -configurationFilePath ..\config\configurationParameters.xml
    7. Reboot the server to ensure security group memberships are updated
  4. Deploy and Configure Aspire Component
    1. See SharePoint 2013 Publisher Configuration Tutorial

Security Trimmer Installation

  1. Fill up the configurationParameters.xml
  2. Start the SharePoint Management Shell as Administrator.
  3. cd to scripts directory (cd “C:\DeployEndpoint\scripts”).
  4. Run 

    Code Block
    languagetext
    themeFadeToGrey
    .\DeployAspireSecurityTrimmer.ps1 -configurationFilePath ..\config\configurationParameters.xml
  5. RESTART The SharePoint Search Host Controller service

 

 

Configuration Parameters Example

The configuration file is found here "..\Deploy\config\configurationParameters.xml".

The next is an example on how to fill up the configuration file using the QA\spadmin for all the services.

Code Block
languagexml
collapsetrue
<?xml version="1.0"?>
<parameters>
  <security>
    <usersGroupName>AspireUsers</usersGroupName>
    <ldapGroupQuery>CN=Users,DC=QA,DC=local</ldapGroupQuery>
  </security>
  <users>
    <AspireBDCServiceAppPool>QA\spadmin</AspireBDCServiceAppPool>
    <contentAccess>QA\spadmin</contentAccess>
    <aspirePropertyRepositoryUser>QA\spadmin</aspirePropertyRepositoryUser>
    <aspirePropertyEndpointUser>QA\spadmin</aspirePropertyEndpointUser>
  </users>
  <repository>
    <inputs>
      <folderPath>C:\Repository</folderPath>
      <shareName>IntermediateRepository</shareName>
    </inputs>
    <outputs>
      <repositorySharePath></repositorySharePath>
    </outputs>
  </repository>
  <aspireService>
    <inputs>
      <folderPath>C:\inetpub\wwwroot\AspireService</folderPath>
      <repositorySharePath piped="true"></repositorySharePath>
    </inputs>
    <outputs>
      <aspireServiceUrl></aspireServiceUrl>
    </outputs>
  </aspireService>
  <notificationEndpoint>
    <outputs>
      <notificationEndpointUrl></notificationEndpointUrl>
    </outputs>
  </notificationEndpoint>
  <securityTrimmer>
    <inputs>
      <groupExpansionService>http://localhost:50505/groupExpansion</groupExpansionService>
      <groupExpansionTimeout>15000</groupExpansionTimeout>
      <useDomain>false</useDomain>
      <claimIssuer>aspire</claimIssuer>
      <searchApplicationName>Search Service Application</searchApplicationName>
      <id>1</id>
      <assemblyVersion>2.2.0.2</assemblyVersion>
    </inputs>
  </securityTrimmer>
</parameters>

 

Section Description

Security

Code Block
languagexml
 <security>
   <usersGroupName>AspireUsers</usersGroupName>
   <ldapGroupQuery>CN=Users,DC=QA,DC=local</ldapGroupQuery>
 </security>

 

The security section is an initial approach to have the users group name configurable. Right now it is hardwired to AspireUsers and cannot be changed due to code limitations.

Right now this configuration is used to determine if the AspireUsers group exists as an Active Directory group and if not, it will create it locally.

FieldDescriptionUsers Group NameUser group to which the users must belong to.LDAP Group QueryThe LDAP query (minus the group name) that will be used to check for the existence of the group.

 

Users

Code Block
languagexml
<users>
   <aspireServiceAppPool>QA\spadmin</aspireServiceAppPool>
   <contentAccess>QA\spadmin</contentAccess>
   <aspirePropertyRepositoryUser>QA\spadmin</aspirePropertyRepositoryUser>
   <aspirePropertyEndpointUser>QA\spadmin</aspirePropertyEndpointUser>
 </users>

 

The users section specifies the users for each component.

FieldDescriptionAspire Service app pool userUser who runs the app pool of Aspire BDC ServiceContent access userSharePoint default content access accountAspire property repository userIntermediate Repository user, which is specified in Aspire PublishToSP2013 application properties. This can be any domain userAspire property endpoint userEndpoint user, which is specified in Aspire PublishToSP2013 application properties. This can be any domain user

 

Repository

Code Block
languagexml
<repository>
   <inputs>
     <folderPath>C:\Repository</folderPath>
     <shareName>IntermediateRepository</shareName>
   </inputs>
   <outputs>
     <repositorySharePath></repositorySharePath>
   </outputs>
 </repository>

 

The Repository section defines the directory where the batches that Aspire generates will be stored until SharePoint crawls them and then get cleaned up.

Note

Only the properties under the inputs node must be defined.

FieldDescriptionFolder PathLocation used to map the Shared folderShare NameName of the Shared folder that will be exposed to the smb protocol

 

Aspire BDC Service

Code Block
languagexml
<aspireService>
   <inputs>
     <folderPath>C:\inetpub\wwwroot\AspireBDCService</folderPath>
     <repositorySharePath piped="true"></repositorySharePath>
   </inputs>
   <outputs>
     <aspireServiceUrl></aspireServiceUrl>
   </outputs>
 </aspireService>

 

The Aspire BDC Service section defines the destination of the service's assemblies and the url to the intermediate repository.

Note

Only the properties under the inputs node that don't have the piped attribute as true must be defined.

FieldDescriptionFolder PathDestination of the service's assemblies

Repository Share Path

The repository's url.

Note

This value is generated when running the script to set the repository.

 

Notification Service

Code Block
languagexml
  <notificationService>
	<inputs>
	  <webAppUrl></webAppUrl>
	</inputs>
    <outputs>
      <notificationServiceUrl></notificationServiceUrl>
    </outputs>
  </notificationService>

The Notification Service section defines the SharePoint web application where the Notification Service will be deployed.

Note

Only the properties under the inputs node can be defined.

FieldDescriptionWeb App Url

Optional. Defines the SharePoint web application where the notification service will be deployed. If no web app is defined it will deploy in all web apps in the farm. It can be deployed in the central admin as long as a Web Front End service is enabled in that server.

 

 

Security Trimmer

Code Block
languagexml
 <securityTrimmer>
   <inputs>
     <groupExpansionService>http://localhost:50505/groupExpansion</groupExpansionService>
     <groupExpansionTimeout>15000</groupExpansionTimeout>
     <useDomain>false</useDomain>
     <claimIssuer>aspire</claimIssuer>
     <searchApplicationName>Search Service Application</searchApplicationName>
     <id>1</id>
     <assemblyVersion>2.2.0.2</assemblyVersion>
   </inputs>
 </securityTrimmer>

The Security Trimmer section defines the properties that the Trimmer component needs to access the group expansion service in order to verify the claims of a user requesting documents.

FieldDescriptionGroup Expansion ServiceUrl of the Aspire Group Expansion serviceGroup Expansion TimeoutTimeout to wait for Group Expansion responseUse DomainUse domain in security trimmerClaim IssuerIf you are using "Use Aspire" option in the SharePoint2013 Publisher, type "aspire"Search Application NameName of the Seach ApplicationIdThe trimmer instance Id in SharePoint. Default is 1.Assembly VersionVersion of the trimmer dll registered on the GAC

Installation Verification

Repository

Check in your drive that the folder was created. The location can be found in the output parameter <repositorySharePath>.

Image Removed

Aspire BDC Service

 

  1. Go to IIS.
  2. On the left side (on the Connections Panel).
  3. Expand in your server, the "Sites" folder.
  4. Check that "AspireBDCService" is in there.
  5. Right click on it -> Manage WebSite -> Browse.
  6. You should see something like this:

SPEndpoint-AspireService.jpgImage Removed

Notification Service

 

  1. Go to http://<sp2013_server>/_vti_bin/AspireNotificationService/AspireNotificationService.svc
    1. Verify that the URL provided by the Notification Service installation is the correct one.  In some cases you'll have to use the fully quallified DNS name instead of hostname only or change the URL protocol (http/https). It should be the root site of an existing web application or the Central Administration web application site.
  2. You should see something like:

Image Removed

Security Trimmer

 

  1. Open SharePoint 2013 Management Shell
  2. Run the following command: Get-SPEnterpriseSearchServiceApplication -Identity MySSA | Get-SPEnterpriseSearchSecurityTrimmer
  3. You should see something like this:

Image Removed