Versions Compared

Key

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

The CIFS Connector performs full and incremental scans over a shared folder (including NTFS) and will extract security, metadata, and content from each file scanned. The connector allows you to filter the scanned files using regular expression patterns, to include folders in the results, and to scan subfolder content. Each scanned file will be tagged with one of three possible actions--add, update, or delete--and can be routed to any Aspire pipeline as desired.

The connector, once started, can be stoppedpaused or resumed sending a new Scanner Configuration Job. Typically the start job will contain all information required by the job to perform the scan. When pausing or stopping, the connector will wait until all the jobs it published have completed before updating the statistics and status of the connector.


NOTE: CIFS Application Bundle has malfunctions when another CIFS Application is installed on the same server and configure for another server on another domain. This also applies for the Publish To SharePoint 2013

Feature only available with Aspire Enterprise

Panel
titleCIFS Application Bundle (Aspire 2)
AppBundle Name CIFS Connector
Maven Coordinates com.searchtechnologies.aspire:app-cifs-connector
Versions 2.2.2
Type Flags scheduled
Inputs AspireObject from a content source submitter holding all the information required for a crawl.
Outputs An AspireObject containing the URL, content, ACLs and Metadata processed for each file.

Configuration

This section lists all configuration parameters available to install the CIFS Application Bundle and to execute crawls using the connector.

General Application Configuration

PropertyTypeDefaultDescription
snapshotDirstring${aspire.home}/snapshotsThe directory for snapshot files to be stored.
disableTextExtractbooleanfalseBy default, connectors use Apache Tika to extract text from downloaded documents. If you wish to apply special text processing to the downloaded document in the workflow, you should disable text extraction. The downloaded document is then available as a content stream.
workflowReloadPeriodint15mThe period after which to reload the business rules. Defaults to ms, but can be suffixed with ms, s, m, h or d to indicate the required units.
workflowErrorTolerantbooleanfalseWhen set, exceptions in workflow rules will only effect the execution of the rule in which the exception occurs. Subsequent rules will be executed and the job will complete the workflow sucessfully. If not set, exceptions in workflow rules will be re-thrown and the job will be moved to the error workflow.
debugBooleanfalseControls whether debugging is enabled for the application. Debug messages will be written to the log files.


CIFS Specific Configuration

PropertyTypeDefaultDescription
ExtractTextMaxSizelongunlimitedThe max number of characters to extract from a file or "unlimited" for no size restrictions.


Configuration Example

To install the application bundle, add the configuration, as follows, to the <autoStart> section of the Aspire settings.xml.

Code Block
 <application config="com.searchtechnologies.aspire:app-cifs-connector">
    <properties>
      <property name="generalConfiguration">true</property>
      <property name="snapshotDir">${aspire.home}/snapshots</property>
      <property name="ExtractTextMaxSize">unlimited</property>
      <property name="disableTextExtract">false</property>
      <property name="workflowReloadPeriod">15s</property>
      <property name="workflowErrorTolerant">false</property>
      <property name="debug">true</property>
    </properties>
  </application>
Info

Any optional properties can be removed from the configuration to use the default value described on the table above.


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

Code Block
  <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>


All configuration properties described in this section are relative to /doc/connectorSource of the AspireObject of the incoming Job.

PropertyTypeDefaultDescription
urlstring
The smb URL to crawl (smb:// format).
partialScanbooleanfalseTo run a partial scan – i.e. to only scan a portion of the larger directory. This is useful to re-process portions of your system without having to process the entire content source.
subDirUrlstring
Configurable when partialScan is set to true. The sub-directory which contains the documents to be processed for this partial scan. This directory must be a relative path to the parent directory. Only the documents in this sub-directory will be scanned. This is useful to re-process portions of your system without having to process the entire content source.
domainstring
The domain where the username, connecting to the shared folder, belongs to.
usernamestring
The username to connect with.
passwordstring
The password of the username to connect with.
indexContainersbooleanfalsetrue if folders (as well as files) should be indexed.
scanRecursivelybooleanfalsetrue if subfolders of the given URL should be scanned.
fileNamePatterns/include/@patternregexnoneOptional. A regular expression pattern to evaluate file urls against; if the file name matches the pattern, the file is included by the scanner. Multiple include nodes can be added.
fileNamePatterns/include/@patternregexnoneOptional. A regular expression pattern to evaluate file urls against; if the file name matches the pattern, the file is excluded by the scanner. Multiple exclude nodes can be added.

Scanner Configuration Example

Code Block
  <doc action="start" actionProperties="full" normalizedCSName="cifsTest">
    <connectorSource>
      <url>smb://localhost/AspireTesting/</url>
      <partialScan>true</partialScan>
      <subDirUrl>LSA</subDirUrl>
      <domain>search</domain>
      <username>jdoe</username>
      <password>pass123456</password>
      <indexContainers>true</indexContainers>
      <scanRecursively>true</scanRecursively>
      <fileNamePatterns>
        <include pattern=".*LSA.*"/>
        <exclude pattern=".*tmp.*"/>
      </fileNamePatterns>
    </connectorSource>
    <displayName>cifsTest</displayName>
  </doc>

Output

Code Block
<doc>
  <url>smb://localhost/AspireTesting/LSA/Mahout Algorithms.txt</url>
  <snapshotUrl>003 smb://localhost/AspireTesting/LSA/Mahout Algorithms.txt</snapshotUrl>
  <docType>item</docType>
  <repItemType>aspire/file</repItemType>
  <fetchUrl>smb://localhost/AspireTesting/LSA/Mahout Algorithms.txt</fetchUrl>
  <displayUrl>smb://localhost/AspireTesting/LSA/Mahout Algorithms.txt</displayUrl>
  <id>smb://localhost/AspireTesting/LSA/Mahout Algorithms.txt</id>
  <connectorSpecific type="fileshare">
    <field name="smbUrl">smb://localhost/AspireTesting/LSA/Mahout Algorithms.txt</field>
  </connectorSpecific>
  <lastModified>2012-07-24T20:58:32Z</lastModified>
  <dataSize>104</dataSize>
  <acls>
    <acl access="allow" domain="NT AUTHORITY" entity="group" fullname="NT AUTHORITY\SYSTEM" inherited="true" name="SYSTEM" scope="machine" sid="S-1-5-18" sidType="windowsGroup"/>
    <acl access="allow" domain="SEARCH" entity="user" fullname="SEARCH\ralfaro" inherited="true" name="ralfaro" scope="global" sid="S-1-5-21-4065858124-1791371549-2540926932-1286" sidType="user"/>
    <acl access="allow" domain="BUILTIN" entity="group" fullname="BUILTIN\Administrators" inherited="true" name="Administrators" scope="machine" sid="S-1-5-32-544" sidType="localGroup"/>
    <acl access="allow" domain="" entity="group" fullname="\Everyone" inherited="true" name="Everyone" scope="machine" sid="S-1-1-0" sidType="localGroup"/>
    <acl access="allow" domain="S-1-5-21-4065858124-1791371549-2540926932" entity="group" fullname="S-1-5-21-4065858124-1791371549-2540926932\2687" inherited="true" name="2687" scope="machine" sid="S-1-5-21-4065858124-1791371549-2540926932-2687" sidType="windowsGroup"/>
  </acls>
  <owner>BUILTIN\Administrators</owner>
  <sourceName>cifsTest</sourceName>
  <sourceType>fileshare</sourceType>
  <connectorSource>
    <url>smb://localhost/AspireTesting/</url>
    <partialScan>true</partialScan>
    <subDirUrl>LSA</subDirUrl>
    <domain>search</domain>
    <username>ralfaro</username>
    <password>encrypted:6A2B871F3F30D3B5BF8D406B9C185FAF</password>
    <indexContainers>true</indexContainers>
    <scanRecursively>true</scanRecursively>
    <fileNamePatterns>
      <include pattern=".*LSA.*"/>
      <exclude pattern=".*tmp.*"/>
    </fileNamePatterns>
    <displayName>cifsTest</displayName>
    <partialScanUrl>LSA</partialScanUrl>
  </connectorSource>
  <action>add</action>
  <hierarchy>
    <item id="AAC954B9F7C1794CA8EFC3A02C16820A" level="3" name="Mahout Algorithms.txt" url="smb://localhost/AspireTesting/LSA/Mahout Algorithms.txt">
      <ancestors>
        <ancestor id="4646C909DA9EE32E5C36C8D5843DCEE3" level="2" name="LSA" parent="true" type="aspire/folder" url="smb://localhost/AspireTesting/LSA/"/>
        <ancestor id="D2B7229CA1C9BCC12AA27BB354BC2DD4" level="1" name="cifsTest" type="aspire/fileshare" url="smb://localhost/AspireTesting/"/>
      </ancestors>
    </item>
  </hierarchy>
  <protocol source="SmbFetchURLStage/protocol">smb</protocol>
  <host source="SmbFetchURLStage/host">localhost</host>
  <extension source="SmbFetchURLStage">
    <field name="modificationDate">2012-07-24T20:58:32Z</field>
  </extension>
  <contentType source="ExtractTextStage/Content-Type">text/plain; charset=windows-1252</contentType>
  <extension source="ExtractTextStage">
    <field name="Content-Encoding">windows-1252</field>
    <field name="resourceName">smb://localhost/AspireTesting/LSA/Mahout Algorithms.txt</field>
  </extension>
  <content source="ExtractTextStage">https://cwiki.apache.org/confluence/display/MAHOUT/Algorithms&#13;
    &#13;
    http://aws.amazon.com/elasticmapreduce/
  </content>
</doc>