Page tree
Skip to end of metadata
Go to start of metadata

 

The Post Fileshare SharePoint Stage stage applies an XSLT transform to the input batch of AspireObjects and then posts the resulting transformed XML batch to a Fileshare repository and send a notification to the SharePoint Notification Service. The Fileshare repository is indicated by a URL in the following format, smb://<Folder>/<Folder>/..., and the endpoint is indicated by a standard URL,http://localhost/Enspoint.svc

If the Notification Service returns something other than HTTP 200 or 201 (in the HTTP headers), it will retry the notification, sleeping 1 second between each try and failing the notification after a set number of tries, the batch of documents will still be saved in the repository.

Post Fileshare SharePoint 2013 has malfunctions when a CIFS Connector is installed on the same server and configure for another server on another domain

Post to Fileshare SharePoint 2013
Factory Namecom.searchtechnologies.aspire:aspire-post-fileshare-sp2013
subTypedefault
InputsAn Aspire Object with the metadata of each document to be posted.
OutputsA transformed XML batch, which is then posted to a Fileshare via a JCIFS

Configuration


This section lists all configuration parameters available to configure the Post to Fileshare SharePoint 2013 component.

 

ElementTypeDefaultDescription
repositorystring The URL for the Fileshare repository in which the batches will be posted. The URL of the repository must start with smb://
repDomainstring Domain of the username with write permissions to the Fileshare repository.
repUsernamestring Username with write permissions to the Fileshare repository.
repPasswordstring Password of the username of the Fileshare repository.
claimIssuerStringwindowsClaim issuer for the acls applied to each document.
useFullNamebooleanfalseTrue if you want to index the full name (domain\user) as the ACL rather than just the username
notificationUrlstring URL to the SharePoint Notification Service. must start with a protocol http:// or https://
endDomainstring Domain of the username with access permissions to the SharePoint Notification Service.
endUsernamestring Username with access permissions to the SharePoint Notification Service.
endPasswordstring Password of the username of the SharePoint Notification Service.
searchAppstringSearch Service ApplicationThe name of the SharePoint search service.
aspireBDCString The URL to the Aspire BDC Service
bdcsAppStringBusiness Data Connectivity ServiceThe name of the SharePoint BDC service
saxonProcessorbooleantrueTrue if you want to use saxon as the transformer for the XSL transformation file, else Java standard transformer will be used.
connectNotificationServicebooleanfalseFlag that indicates if the Post Fileshare SharePoint 2013 must connect to a SharePoint Notification Service. In case the it does not need to connect to the service, it will still post bathes to a Fileshare repository.
postXslstring The XSL transform file to be used to transform the incoming Aspire Object document into the XML which is posted to the remote server. There is no default. It must be specified unless postString is specified. Note that this file will be made to be relative to ASPIRE_HOME.
cleanupEnablebooleanfalseTrue if you want to enable the CleanUP to delete processed batches on the Intermediate Folder
cleanUpFrequencyinteger10The frequency (minutes) of the CleanUp to look for processed batches and delete them
readTimeoutint300000ms (5 minutes)Specifies the read timeout for the HTTP Connection - how long to wait before the server responds.
maxTriesint3The number of times to try submitting the document. If a submit fails, a different URL will be selected from the list of URLs (if the number of URLs is greater than on) and the document will be resubmitted.
retryWaitint1000ms (1 second)The time to sleep between submissions of failed documents.

 

Example Configuration


Usual Configuration

   <component name="SharePoint" subType="default" factoryName="aspire-post-fileshare-sp2013">
        <repDomain>${repDomain}</repDomain>
        <repUsername>${repUsername}</repUsername>
        <repPassword>${repPassword}</repPassword>
        <claimIssuer>${claimIssuer}</claimIssuer>
        <useFullName>${useFullName}</useFullName>
        <repository>${repository}</repository>
        <postXsl>${aspireToSPXsl}</postXsl>
        <connectNotificationService>${connectNotificationService}</connectNotificationService>
        <endDomain>${endDomain}</endDomain>
        <endUsername>${endUsername}</endUsername>
        <endPassword>${endPassword}</endPassword>
        <notificationUrl>${notificationUrl}</notificationUrl>
        <aspireBDC>${aspireBDC}</aspireBDC>
        <bdcsApp>${bdcsApp}</bdcsApp>
        <searchApp>${searchApp}</searchApp>
        <bgThread>${bgThread}</bgThread>
        <saxonProcessor>true</saxonProcessor>
        <cleanupEnable>${cleanupEnable}</cleanupEnable>
        <cleanUpFrequency>${cleanUpFrequency}</cleanUpFrequency>
	<debug>${debug}</debug>
  </component>

No Notification Service

   <component name="SharePoint" subType="default" factoryName="aspire-post-fileshare-sp2013">
	<repDomain>your-domain</repDomain>
	<repUsername>your-username</repUsername>
	<repPassword>your-password</repPassword>
	<repository>smb://Repository</repository>
	<postXsl>${appbundle.home}/config/xsl/aspireToSP2013.xsl</postXsl>
	<connectNotificationService>false</connectNotificationService>
  </component>

Batching XML


All you need, is to set up the Branch Handler to use batching. All jobs that get to the stage (for example they come from a sub job extractor) will be ready to be batched when they get to PostHTTP.

Once you set up the branch handler, then set this two additional parameters on PostHTTP:

ElementTypeDefaultDescription
batchHeaderString<batch>String that is written in the stream before the first document is received. This consists of the required feed headers for the target search engine or application.
batchFooterString</batch>String that is written in the stream after closing the batch. This consists of the required feed footer for the target search engine or application.

Example

Sample application XML configuration:

<?xml version="1.0" encoding="UTF-8"?>
<application name="FeedOneExample">
  
  <components>
    <component name="StandardPipeManager" subType="pipeline" factoryName="aspire-application">
      <components>
        <component name="FetchUrl" subType="default" factoryName="aspire-fetch-url" />

        <component name="WaitForSubJobs" subType="waitForSubJobs" factoryName="aspire-tools"/>

        <component name="XMLSubJobExtract" subType="xmlSubJobExtractor" factoryName="aspire-xml-files">
        <branches>
          <branch event="onSubJob" pipelineManager="." 
                  pipeline="subJobs-process" 
                  batching="true"
                  batchSize="1000"
                  batchTimeout="1000"
                  simultaneousBatches="2"  />
          </branches>
        </component>

        <component name="PostToSharePoint" subType="default" factoryName="aspire-post-fileshare-sp2013">
          <repDomain>${repDomain}</repDomain>
          <repUsername>${repUsername}</repUsername>
          <repPassword>${repPassword}</repPassword>
          <claimIssuer>${claimIssuer}</claimIssuer>
          <useFullName>${useFullName}</useFullName>
          <repository>${repository}</repository>
          <postXsl>${aspireToSPXsl}</postXsl>
          <connectNotificationService>${connectNotificationService}</connectNotificationService>
          <endDomain>${endDomain}</endDomain>
          <endUsername>${endUsername}</endUsername>
          <endPassword>${endPassword}</endPassword>
          <notificationUrl>${notificationUrl}</notificationUrl>
          <aspireBDC>${aspireBDC}</aspireBDC>
          <bdcsApp>${bdcsApp}</bdcsApp>
          <searchApp>${searchApp}</searchApp>
          <bgThread>${bgThread}</bgThread>
          <saxonProcessor>true</saxonProcessor>
          <cleanupEnable>${cleanupEnable}</cleanupEnable>
          <cleanUpFrequency>${cleanUpFrequency}</cleanUpFrequency>
          <debug>${debug}</debug>
	</component>
          
      </components>
      <pipelines>

        <pipeline name="doc-process" default="true">
          <stages>
            <stage component="XMLSubJobExtract" />
          </stages>
        </pipeline>
		  
        <pipeline name="subJobs-process">
          <stages>
            <stage component="PostToSharePoint" />			  
          </stages>
        </pipeline>
      </pipelines>
    </component>
  </components>
</application>