The Salesforce Scanner component performs full and incremental scans over a Salesforce repository, maintaining a snapshot of the repository and comparing it with the current content to establish what content has been updated. Updated content is then submitted to the configured pipeline in AspireObjects attached to Jobs. As well as the URL of the changed item, the AspireObject will also contain metadata extracted from the repository. Updated content is split in to three types: add, update, and delete. Each type of content is published on a different event so that it may be handled by different Aspire pipelines

The scanner reacts to an incoming job. This job may instruct the scanner to start, stop, pause or resume. Typically the start job will contain all information required by the job to perform the crawl. However, the scanner can be configured with default values via application.xml file. When pausing or stopping, the scanner will wait until all the jobs it published have completed before itself completing.



Feature only available with Aspire Enterprise

Salesforce Scanner (Aspire 2)
Factory Name com.searchtechnologies.aspire:aspire-salesforce-scanner
subType default
Inputs AspireObject from a content source submitter holding all the information required for a crawl
Outputs Jobs from the crawl

Input Job Parameters

The scanner recognizes the following parameters on the control Job:

ElementTypeDescription
idintThe database id from the aspire_content_sources table.
@crawlIdintThe crawl id from the content database.
@actionStringThe control job action - start, stop, pause or resume.
@actionPropertiesStringProperties for the crawl - full or incremental.
connectorSource/displayNameStringThe name of the crawl.
connectorSource/urlStringThe URL to scan.
connectorSource/usernameStringThe username to connect to Salesforce repository with.
connectorSource/passwordStringThe password to connect to Salesforce repository with.
connectorSource/securityTokenStringThe Security Token to connect to Salesforce repository with.


Configuration

The scanner recognizes the following configuration parameters:

ElementTypeDefaultDescription
urlString
The url to the Salesforce repository.
usernameString
The username to use when accessing Salesforce repository.
passwordString
The password to use when accessing Salesforce repository.
securityTokenString
The Security Token to connect to Salesforce repository with.
timeOutint10000 (10sec)The number of milliseconds for timeout of the connection.
snapshotDirString.The directory for snapshot files.
debugbooleanfalse).


Branch Configuration

This component publishes to the onAdd, onDelete and onUpdate, so a branch must be configured for each of these three events.

ElementTypeDescription
branches/branch/@eventstringThe event to configure - onAdd, onDelete or onUpdate.
branches/branch/@pipelineManagerstringThe name of the pipeline manager to publish to. Can be relative.
branches/branch/@pipelinestringThe name of the pipeline to publish to. If missing, publishes to the default pipeline for the pipeline manager.


Example Configuration

<component name="Scanner" subType="scanner"
	factoryName="aspire-salesforce-scanner">
	<debug>${debug}</debug>
	<fullRecovery>${fullRecovery}</fullRecovery>
	<incrementalRecovery>${incrementalRecovery}</incrementalRecovery>
	<snapshotDir>${snapshotDir}</snapshotDir>
	<branches>
		<branch event="onAdd" pipelineManager="../ProcessPipelineManager"
			pipeline="addUpdatePipeline" allowRemote="true" batching="true"
			batchSize="50" batchTimeout="60000" simultaneousBatches="2" />
		<branch event="onUpdate" pipelineManager="../ProcessPipelineManager"
			pipeline="addUpdatePipeline" allowRemote="true" batching="true"
			batchSize="50" batchTimeout="60000" simultaneousBatches="2" />
		<branch event="onDelete" pipelineManager="../ProcessPipelineManager"
			pipeline="deletePipeline" allowRemote="true" batching="true"
			batchSize="50" batchTimeout="60000" simultaneousBatches="2" />
	</branches>
</component>


Source Configuration

Scanner Control Configuration

The following table describes the list of attributes that the AspireObject of the incoming scanner job requires to correctly execute and control the flow of a scan process.

ElementTypeOptionsDescription
@actionstringstart, stop, pause, resume, abortControl command to tell the scanner which operation to perform. Use start option to launch a new crawl.
@actionPropertiesstringfull, incrementalWhen a start @action is received, it will tell the scanner to either run a full or an incremental crawl.
@normalizedCSNamestring
Unique identifier name for the content source that will be crawled.
displayNamestring
Display or friendly name for the content source that will be crawled.

Header Example

  <doc action="start" actionProperties="full" actionType="manual" crawlId="0" dbId="0" jobNumber="0" normalizedCSName="FeedOne_Connector"
   scheduleId="0" scheduler="##AspireSystemScheduler##" sourceName="ContentSourceName">
    ...
    <displayName>testSource</displayName>
    ...
  </doc>
  • No labels