The RightNow Scanner component performs full and incremental scans over a RightNow server, maintaining a snapshot of the server and comparing it with the current content to establish what content has been updated. Updated content is then submitted to the configured pipeline in AspireObjectis 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.

Optionally, the scanner can utilize the services of a Connector Job Status component to update a database with progress and statistics.

RightNow Scanner
Factory Namecom.searchtechnologies.aspire:aspire-rightnow-connector
subTypedefaut
InputsAspireObject from a content source submitter holding all the information required for a crawl
OutputsJobs 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.

Configuration

The scanner recognizes the following configuration parameters:

ElementTypeDescription
objectUrlStringThe URL that links the object through its id. This is the URL that displays the object. Add a String wildcard (%s) where the id should be placed in this URL.
usernameStringThe username to use when accessing RightNow server.
passwordStringThe password to use when accessing RightNow server.
wsdlLocationStringURL to the Right Now WSDL. Note: It is the URL without specifying the WSDL version (Example: <domain>.custhelp.org/cgi-bin/<interface>.cfg/services/soap)
objectTypeStringDefine the object type to be fetched. For example 'Answer', 'Incident', etc. To see the complete list of objects, go to RightNow Object List
crawlQueryStringThe query (see ROQL Configuration) to discover new objects. This query should contain only the necessary information for the connector to determine if the content has changed or not and check if the there are attachments. Use a decimal integer wildcard (%d) to make an dynamic offset for the query. For example: SELECT ... FROM ... OFFSET %d
indexQueryStringThe query (see ROQL Configuration) to fetch the all the information required for indexing. There must be a WHERE clause with a condition that compares the object 'id' with the id wildcard ({id}), that the connector is eventually going to replace with the actual id values. For example: SELECT ... FROM ... WHERE id={id}
subQueries/subQueryStringAdd description to subQuery (see ROQL Configuration). Also need to be restricted to the object 'id'  with the id wildcard ({id}), that the connector is eventually going to replace with the actual id values. For example: SELECT ... FROM ... WHERE id={id}

ROQL Configuration

For crawlQuery, indexQuery and subQuery parameters, ROQL (RigthNow Object Query Language) syntax is used. For more information about how to build ROQL queries, please visit the official documentation:

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

Crawl Query

SELECT Answer.id, Answer.updatedTime, Answer.FileAttachments.FileAttachmentList.ID FROM Answer  WHERE Answer.FileAttachments.FileAttachmentList.ID IS NOT NULL AND (NOT StatusWithType.Status.Name='Private') LIMIT 10000 OFFSET %d;

Index Query

SELECT Answer.id as id, Answer.Name as name, Answer.Question as question, Answer.Solution as solution, Answer.Summary as summary, Answer.UpdatedTime as lastmodified, Answer.AssignedTo.Account.name as AssignedTo, Answer.StatusWithType.Status.name as type, Answer.StatusWithType.StatusType.name as statustype, Answer.AnswerType.name as recordMimeType, Answer.URL as url, Answer.Keywords as keywords FROM Answer WHERE id={id};

Sub Queries

SELECT Answer.AccessLevels.namedidlist.name as accessLevels FROM Answer WHERE id={id};
SELECT Answer.FileAttachments.id as attachment FROM Answer WHERE id={id};

 

  • No labels