The Salesforce connector will crawl content from any Salesforce Summer '16 (version 37). The connector will retrieve the supported elements using the SOAP API, and the user's Salesforce Chatter feeds using the REST API.

To see the current Salesforce version please check the following link: Salesforce Release Notes


The connector uses a queries file. The sQueries.xml is a template document from which the user can choose the fields to crawl:

  • Each sQueries.xml can be different for each Salesforce. It is the responsibility of the developer in charge of the installation of the connector to update or modify this document.
On this page



Features


Some of the features of the Salesforce connector include:

  • Support for Salesforce Knowledge Base
  • Support for Salesforce Chatter
  • Ability to perform either full or incremental crawling (so that only new/updated documents are indexed)
  • Metadata extraction
  • Is search engine independent
  • Runs from any machine with access to the given community
  • Fetches Access Control Lists (ACLs) for normal object types
  • Custom metadata retrieval (Using SOQL)
  • Selectable elements types
  • Group Expansion support for standard and chatter groups.


Content Retrieved


The Salesforce connector retrieves several types of documents, listed below are the inclusions and exclusions of these documents.

Included

  • Account
  • Campaign
  • Case
  • Contact
  • Contract
  • Chatter
  • Document
  • Group
    • These are not the Salesforce chatter groups, but the Salesforces user's groups and roles stored in the groups table inside Salesforce.
    • The groups can be checked in the UI in the groups page for the groups only and the roles page for the users roles
  • Idea
  • Lead
  • Opportunity
  • Partner
  • Pricebook
  • Product
  • Profile
  • Solution
  • Task
  • User
  • Knowledge Article
    • Draft Articles
    • Published Articles
    • Archived Articles
  • Attachment (These will be extracted from the other object types crawled. For example if only the opportunities are crawled and have attachments associated those will be crawled, but the attachments of the other types will be ignored)

Excluded

  • App Launcher
  • Libraries
  • People
  • Macros
  • Dashboard
  • Data.com
  • Duplicate Records Sets
  • Reports
  • Site.com
  • Forecast
  • Streaming channels
  • Subscriptions
  • Any other object not mentioned

Metadata Extracted

The connector receives a file with SOQL queries for each of the object types to crawl. The metadata of the objects types will depend on the specified query for each type. For example if the query for Lead looks like this:

SELECT Id, IsDeleted, MasterRecordId, LastName, FirstName, SystemModstamp, Name FROM Lead

Only those field would be extracted and added as the metadata of the Lead objects.

Fields like Id and SystemModstamp are mandatory and need to be specified in the queries for each object type to crawl


Limitations 


1. Due to API limitations, the Salesforce connector has the following limitations:

  • We are using the getUpdated and getDeleted method from Salesforce API to perform the incremental request, but when you update an attachment from any item, that action will not be processed by the getUpdated or getDeleted API methods.


There is a daily request limit in Salesforce API. If this occurs, the following error will be displayed.

ERROR [/salesforce001/Main/Scanner]: SalesforceDSConnection.MaximumRetriesExceeded: 

[UnexpectedErrorFault [ApiFault  exceptionCode='REQUEST_LIMIT_EXCEEDED' exceptionMessage='TotalRequests Limit exceeded.'


Please see more information at API rate metering .

2. Security and incremental related limitations

  • In security, we are only supporting 'Supported elements'.
  • For sharing related incremental crawling, unsharing of Salesforce item is not working.
  • For incremental crawling of Salesforce task items, we are only supporting tasks based on accounts.
  • If removal of sharing occurs for a item (e.g., removing sharing of an account), it is not reflected in the incremental crawl.
  • Pricebook sharing ACLs are not supported.
  • We are only supporting Tasks that are based on accounts for incremental crawling.

3. Chatter security

  • Chatter ACLs only will be retrieved if the “Filter TrackedChange feeds” option is checked.
  • Chatter ACLs are only supported for items that were created by a User or a Group, otherwise no ACL will be generated for the item.
  • The public chatter groups will have two ACLs, one for the public group and a PUBLIC:ALL ACL.
  • Private and Unlisted chatter groups will have one ACL for the group.
  • The followers of a chatter user will be treated as a private group called “<username>’s followers”, all the feed items created by a user to their followers will have this ACL.
  • The chatter item attachments will inherit the parent item ACLs.
  • Reducing the users retrieval scope might lead to a loss of ACLs, since no ACLs won’t be generated for followers of users outside the scope of the user retrieval.

4. Salesforce  Compatibility limitation

Every 3 months Salesforce releases a new version of their API and sometimes makes changes to the data structures. After each update there is a possibility that the compatibility between the connector and Salesforce will break. 

  • No labels