General
Supported version
The connector is developed using the SOAP API version 32.0 (Winter '15) and tested with Salesforce Enterprise Edition ('16).
Limitations
As of June 2016 it was not possible to list members of the computer generated group "All Internal Users". In our test environment this group is used for giving user permissions in Salesforce, but it is not possible to check if a given user is part of this group - to set accurate security permissions. It is possible to check if a user is internal - just not if it's an actual member of this group.
There are several security override possibilities in Salesforce. Permissions can for example be given to different Profiles (Standard User or custom profiles etc.) or to User Roles (can also be custom). Objects can also be set to inherit security from other objects (contacts from accounts) or in user hierarchy. Therefore Salesforce Security must be tested, using settings from the environment where it will be installed, and maybe some changes must be done to the connector before it can be deployed.
Permissions needed
At connection install time an Index User (with password and User Security Token) with access to the API and the content in Salesforce is needed. A Consumer Key and a Consumer Secret must also be provided - which are given by creating a Connected App in Salesforce (see below). At search time a user must log into a Salesforce account (with username, password and user security token) to get search hits from Salesforce.
The User Security Token can be omitted at install and search time if the actual Login IP Ranges are provided (for the profile of the given user) in Salesforce (see Authentication) .
Other information
There is a limited number of API calls that can be made for an organization within 24 hours. Use of salesforce within the application is also included in this given API limit. Because of the API restrictions the connector does not contain a preview of items. We also limit the number of calls by not indexing all the item types in Salesforce. Tasks are among items that are omitted in this version of the connector, but easily can be added.
Configurations
Connection
A connection to Salesforce is established based on the username, password, User Security Token, Consumer Key and the Consumer Secret provided in the Admin Wizard. The Salesforce API is used for all communication with the application.
Custom Templates
Custom templates are not in use.
Refiners
No refiners are defined in the connector. They must be set up for each installation independently. Under Show Navigator in ViaWorks all the item types and document owners in Salesforce are listed. There the user can specify which items and owners to search for.
Preview
There are no preview of documents due to the restrictions in Salesforce API usage within 24 hours.
Opening / Buttons
When clicking on the open button all items open directly in Salesforce - where users can see and edit the full content. The user must log in to Salesfoce in order to display the items. Other buttons leads to related objects in Salesforce. The buttons displayed in ViaWorks depends on the item type and its content. For example, only attachments can be downloaded. As an alternative to the buttons, rights clicking on the title lists the options available for an item.
Button name | Function | Application | Log in required |
Open | Opens a Salesforce URL to the item | in Salesforce (web browser) | Yes |
Open Owner | Opens a Salesforce URL to the Owner (User) of the item | In Salesforce (web browser) | Yes |
Open Parent | Opens a Salesforce URL to Parent of the item | In Salesforce (web browser) | Yes |
Converted Account | Only for leads. Opens a Salesforce URL to the converted account | in Salesforce (web browser) | Yes |
Converted Contact | Only for leads. Opens a Salesforce URL to the converted contact | in Salesforce (web browser) | Yes |
Converted Opportunity | Only for leads. Opens a Salesforce URL to the converted opportunity | in Salesforce (web browser) | Yes |
Manager | Currently only for users. Opens a Salesforce URL to the manager | in Salesforce (web browser) | Yes |
Download | Only for attachments. Downloads file | in web browser | Yes |
Authentication
At search time users needs to log into their Salesforce accounts in ViaWorks. This authentication is done under Account & Settings and Source Credentials.
The salesforce security token is given for each user and can be reset and sent by email from Salesforce. This user token is needed together with the username and password to get access to the API and use the connector. It is possible to omit the token and only use the username and password to login. This is done by adding the IP in use under IP Login IP Ranges in Salesforce. The ranges are given for each profile group (for example System Administrator etc). Each user having the current profile can then login without the security token. Still a random text string must be filled in the field salesforcetoken in the window, to be able to authenticate the user, but this text is ignored.
Authorization
Items are marked with a list of Salesforce groups and user SIDs at fetching time. At search time, users are given SIDs based on the Salesforce account associated with the ViaWorks login.
Example:
- "SalesF 005A0000004wzojIAA" (User)
- "SalesF 00GA0000001LnPuMAK" (Group)
- "SalesF AllData" (View all data - from profile settings)
- "SalesF Users" (View all users - from profile settings)
Installation
After installing the connector using the MSI package the Salesforce Fetch Service can be started. When the fetch service is running please open the ViaWorks Management Console to set up an connection.
Salesforce Connected Apps
As mentioned above a Connected App must be registered in the Salesforce application to generate a Consumer Key and a Consumer for connecting to the Salesforce API. A Connected App can be created under Setup → Create → Apps as shown below.
Salesforce API
Salesforce objects and the API can be tested in the developer console in the application or in the workbench: https://workbench.developerforce.com/login.php
API Documentation: https://developer.salesforce.com/docs/atlas.en-us.192.0.api.meta/api/sforce_api_quickstart_intro.htm