< Back to All Knowledge Articles

Setup File It in Salesforce

  SpringCM Partners  Last updated: February 3, 2017     

Overview

Objective

Add SpringCM functionality to the native Salesforce interface.

Benefits

  • Minimal need to switch between SpringCM and Salesforce.
  • Put SpringCM features within easy reach.
  • Automatically create SpringCM users when a Salesforce user is created.
  • For a general overview of the business value achieved by using SpringCM for Salesforce, click here.

Primary Process Overview

  • Install the File It package in your Salesforce account.
  • Authorize SpringCM in your Salesforce account and connect your Salesforce org to your SpringCM account.
  • Setup File It for each type of Salesforce object by defining where content will be stored in SpringCM.
  • Add the Visualforce Page to the object page layout.
  • Setup a Sync user, User Sync and set up permissions.

Feature Components

  • Connect Salesforce to SpringCM and SpringCM to Salesforce.
  • Ability to automatically create users in SpringCM based on Salesforce User accounts.
  • Add SpringCM files and folders to your Salesforce account.

Release Notes

  • File 4.51 Release (January 2017)
    • New Lightning Inbox and Activity Trackers. 
    • Support for MyDomain
    • Added ability to add, change, or delete an Integration User. 
    • Changing an Account ensures that the org, Salesforce subdomain, and Integration User are reset to the current default values. 
    • Changing the Environment ensures that the org, Salesforce subdomain, and Integration User are reset to the current default values before switching to the new Environment.
    • Fixed issue with setting the Integration user in the NA21 Datacenter. 
    • Fixed issue with users logging 
  • File It 4.4 Release 
    • Improved the user experience when configuring objects by allowing the user to type ahead against objects when picking fields to be used in the folder name and folder path.  Type in a period (.) after selecting an object to see a list of related objects.
    • Returned a warning when objects tied to expired packages will return a warning message.
    • Fixed an issue where trying to setup File It on a quote object would return an error when using the Account object in the path. 
    • Fixed an issue where an email would be sent to users installing the package from the Salesforce App Exchange if they are already registered as SpringCM users. 
  • File It Version 4.0 Release
    • Easier setup of Salesforce and SpringCM integration
    • Easier setup of File It Widgets
  • File It Version 3.15 Release
    • Added support and dependency for Track It.
  • File It Version 3.5 Release
    • Added support for the SpringCM UAT Environment
  • File It Version 3.4 Release
    • Added support for the NA21 datacenter
    • Added support for portal user in User Sync. If a user is flagged as a portal user, 
      • when that user clicks on a document link, then the document preview is presented. When the user clicks Close or Save, then the window closes. 
      • then that user should not be able to navigate to SpringCM Content or the SpringCM Viewer Tab in Salesforce.
      • when clicking on a folder link, then the user is taken to the Salesforce object in File It. 

Admin How To

Important: Make sure you connect your production Salesforce account to your production SpringCM account. Connect respective UAT accounts to their sister UAT account. 

Prerequisites:

  • At least 1 user in SpringCM that is a Super Administrator.
  • At least 1 Salesforce Administrator.
      • Install
        1. Visit the AppExchange to download FileIt for Document Management by SpringCM.
        2. Select Get It Now
        3. If prompted, Login to the App Exchange with your Salesforce credentials.fileit_install_logintoappexchange.png
        4. If prompted, identify if you want to install the package in your production or sandbox org. fileit_install_pickorgtype.png
        5. Confirm that you have read the terms and conditions and select Confirm and Install!fileit_install_confirmandinstall.png
        6. When prompted to choose which user(s) to install the FileIt(™) package for, select the appropriate audience. Normally this is Install for All Users but may vary depending on your use case.fileit_install_startinstall.png
        7. Select the Install button.
        8. You will see a dialogue asking you to Approve Third Party Access. Select the Yes, grant access to these third-party web sites checkbox and click Continue.fileit_install_remotesitesettings.png
        9. Wait as it installs. When the installation is complete, click the Done button.
      • Connect your Salesforce Org to a SpringCM Account: By doing this, we can determine which SpringCM Account we will use to manage users, store documents, and leverage workflow and Doc Launcher configurations. 
        1. Click the Configure link from the Installed Packages Page.
            1. Click the Setup Connection button.fileit_configure_beginsetupandconfig.png
            2. Select the SpringCM environment you want to connect your Salesforce environment to.  Your choices are:fileit_configure_setupconnection_selectenv.png
              1. UAT: Salesforce Sandboxes typically are connected to the SpringCM UAT Environment. This environment is used predominantly for testing.
              2. Production: Salesforce production orgs are typically connected to the SpringCM Production Environment.
            3. Click Next.
            4. You’ll be taken to a Salesforcen OAuth page where you will grant access to SpringCM to communicate with Salesforce during the integration process. Confirm the email address in which to allow access and click Allow.fileit_configure_setupconnection_sf_oauth.png
            5. Login into your SpringCM account as a Super Admin.fileit_configure_setupconnection_springcmlogin.png
              1. If you have access to multiple SpringCM accounts, you will have the option to choose the right account. 
              2. If you are not a Super Admin in the SpringCM account, you will be presented with options to pick another account or login as a different SpringCM user.
              3. If the SpringCM account is already integrated with a Salesforce org, you will be presented with an option to override the integration or pick a new SpringCM account. 
              4. If switching environments, you will be guided through first deleting the initial connection betwen your org and the current SpringCM Environment and then guided through setting up the new environment.
              5. If an account has not been setup for your organization, contact your Sales Rep who will assist in creating a new account.
            6. After selecting an account or in the case where you only have one account, you will be brought back to Salesforce where a confirmation dialogue will be displayed.  Click Done.fileit_configure_setupconnection_completedone.png
      • Map Salesforce Objects to SpringCM Folders: Here you will set up FileIt(™) on standard or custom Salesforce objects.    Each data record is given its own folder  that is organized in the SpringCM folder tree.  When this step is complete, your end users will be able to navigate to a record in Salesforce and see a FileIt(™)  widget where documents can be added or seen.  To complete this task, you will need to do the following:
        • Define how each folder will be named
        • Define how the folder structure will be organized
        • Add FileIt(™) to the object (We will configure File It on an Opportunity to illustrate the process in the section below).  
        • In defining the folder path and folder naming convention, we will leverage the following Salesforce data:
          • Account Name
          • Opportunity Name.
    • Select the Salesforce Object: To start the process, you need to pick the Salesforce object that needs to be configured. 
      1. To setup FileIt(™) on a Salesforce object, click the Map New Object button.fileit_configure_mapnewobject_start.png
      2. Enter the name of the Salesforce Object that you want to add a FileIt(™) widget to.  Here, you will select an object such as Opportunity or Account, or any other standard or custom Salesforce object you've created.fileit_configure_mapnewobject_typeahead
        1. The form field is a type ahead field that includes all objects you can assign a Visualforce page or add to a page layout, including both standard and custom objects. The form field will not allow you to continue until it has a valid and qualified object name. After selecting the object, click Next.
          1. If the object is already configured, you will not be able to add a configuration for it again. Instead, close the current dialogue and select it on the main configuration page for editing.
      • Configuring how folders should be named: This is how each record’s folder will be named when created in SpringCM. We recommend that you always refer to a field or set of fields associated to the record.  For example, you can use the Opportunity Name when defining the folder naming convention:
        1. When defining the folder naming convention, you can use a mix of text and Salesforce fields for the type of object that you are configuring.
        2. To add Salesforce data, perform the following tasks: 
          1. Pick the Salesforce Object. We have already selected the current object (in this case the Opportunity) for you.
          2. If you need to pick another object, then type in the object name. Here you can also drill into other related objects associated to the object you selected by typing in '.'  and this will provide you a list of related objects (as an example Account.Owner). Here we will limit you to 3 levels.fileit_configure_mapnewobject_foldername-addfield-pickobject
          3. Click Insert Field.fileit_configure_mapnewobject_foldername-addfield-pickobjectfield.png
          4. Pick the field associated to the object.
          5. Click Add Field.fileit_configure_mapnewobject_foldername-addfield-addfield.png
        3. Select Next when you have finished defining how you want to name each folder of this type of object.  In the above example, for each Opportunity data record, SpringCM will create a folder with the Opportunity Name.
      • Configure the folder structure: This represents how these folders will be organized in SpringCM. You can organize folders in a parent child relationship as well. Below, we will relate Opportunities to Accounts.  To do this, perform the following steps:
        1. Define each level in the tree.
          1. First, we will create a static folder called Accounts. This folder will be managed underneath the SpringCM Other Sources folder.
            1. Click on the + to the left of New Subfolder.fileit_configure_mapnewobject_folderpath_level1_startbyplus.png
            2. Enter text for the folder name.fileit_configure_mapnewobject_folderpath_level1_enter_rawtext.png
            3. Enter the text Accounts.fileit_configure_mapnewobject_folderpath_level1_rawtext_save.png
            4. Click Save.
          2. Next, we will create a parent folder for the Account record associated to the Opportunity. This folder will be named the Account Name.
            1. Click  on the + to the left of New Subfolder.
            2. After selecting the +, you can enter text in the new Folder field.
            3. Click Insert Field.fileit_configure_mapnewobject_folderpath_level2_insertfield.png
            4. Select the Salesforce Object: In this case, we will select the parent Account object that is tied to the Opportunity. 
            5. If you need to pick another object, then type in the object name. Here you can also drill into other related objects associated to the object you selected by typing in '.'  and this will provide you a list of related objects (as an example Account.Owner). Here we will limit you to 3 levels.
            6. Select the Salesforce Field: In this case, we want to select the Account Name.fileit_configure_mapnewobject_folderpath_level2_selectsfobjectandfield
            7. Select Add Field. After adding the field, you will see it displayed in the Folder Name.
            8. Select Savefileit_configure_mapnewobject_folderpath_level2_save
          3. Next, we will create a folder called Opportunities.
            1. Click  on the + to the left of New Subfolder.
            2. Enter the text Opportunities.
            3. Select Save.
          4. Finally we will complete the process by putting the token that represents each individual folder in the Folder Tree.
            1. Select the Opportunity folder. fileit_configure_mapnewobject_folderpath_level3_step1.png
            2. Drag and Drop the Folder by placing it on the New Subfolder in the lowest level of the Folder Tree.fileit_configure_mapnewobject_folderpath_level3_step2.png
            3. Once you have placed the folder in the Folder tree, select Done. This saves the configuration.fileit_configure_mapnewobject_folderpath_level3_step3.png
      • Adding the Visualforce Page to the Page layout: In the last step, we need to add a Visual force on to the page layout so that File It displays for users.  Typically, you will add File It(™) to layouts that have already tailored to meet the needs of a group  (Sales, Marketing, Sales Ops, etc.) within your organization. To do this, perform the following steps: 
        1. Select Add to Page: When you click this, a Visualforce Page specific for this object will be automatically created.fileit_configure_mapnewobject_addtopage.png
          1. If the item is a standard object like Account, Opportunity, or Case, then you will be taken to the  Edit Layout page for the Object. Here you can add the Visualforce page to each of the layouts that you want to show File It.
          2. If TrackIt(™) is installed we will also create the TrackIt(™) Visualforce page for you.
          3. If the item is a custom object, then the Visualforce Page will still be created; however, you will need to navigate to the custom object and manually assign the Visualforce page to the page layout.
        2. Edit the page layout.fileit_configure_mapnewobject_addtopage_editlayout_step1.png
          1. Define a section on the layout where File It will be placed. Typically this is a 1-column layout.fileit_configure_mapnewobject_addtopage_editlayout_step2.png
          2. Select Visualforce Pages. Here you will see all of the Visualforce Page that can be assigned to the layout.  
            1. FileIt(™) Pages are named SpringCM_EOSObjectName.  In this example, SpringCM_EOSOpportunity.
            2. TrackIt(™) Pages are named SpringCM_TrackItObjectName. In this case, SpringCM_TrackItOpportunity
          3. Drag and Drop the Visualforce page into the section. fileit_configure_mapnewobject_addtopage_editlayout_step3.png
          4. Set the Visualforce Page properties by selecting the  When setting up the Visualforce Page properties by selecting the Wrench icon. 
            1. Set the Width to 100%
            2. Set the Height to 400.
            3. Set Show scrollbars to true.
            4. Select Ok. 
          5. Select Save to save the page layout. 
          6. Repeat these steps for other page layouts.   
      • Test your configuration: In this step, you will make sure that File It loads when looking at a Salesforce data record. 
        1. Navigate to a record of that type.
        2. Load the record.
        3. FileIt(™) should load matching the configuration that you configured.
          1. In our case, this means that for each Opportunity, a folder is created using the Name of the Opportunity.  Here, this is 2000 Widgets.fileit_configure_validate_step1.png
          2. Confirm the Folder Path.
            1. Go to SpringCM Content.
            2. Navigate to Other Sources
            3. Drill down the Folder tree and confirm that
              1. a static folder is created called Accounts.
              2. A folder for the Account is folder. In this case, you should expect to see a folder for Acme Insurance.
              3. A static folder is created called Opportunities
              4. Underneath Opportunities is a folder called 2000 Widgets.fileit_configure_validate_step2.png
      • Folder Naming Conventions and Best Practices
        1. As you go through this task, you are defining a structure and naming convention that will be used in creating folders in SpringCM. These folders do not already exist in SpringCM. 
        2. Each record in Salesforce gets its own folder in SpringCM. If you have records of the same type with the same name, be sure that you also include a unique identifier when you define a naming convention. For example, when you define the Account naming convention, do something like Account.Name-Account.Id
        3. If you have a relationship between an Account and an Opportunity, then you need to build the path for each from scratch. What this means is that if you want the Path for accounts to be: /Accounts and you want to put Opportunities in the following path: /Accounts/{!Account.Name}/Opportunities then you need to build a map object for  each Salesforce object (i.e. Accounts and Opportunities) from scratch.
          1. You have to create each node in the subtree, thus if you want Account folders to go into the following: /Accounts/{Account.Region}, then you need to create:
            1. the Account folder
            2. and then the {Account.Region} folder
            3. and then you need to drag/drop the Account.Name folder below the Account.Region Folder.
        4. If you have made a mistake anywhere, then you need to remove any folder or update.
        5. If you need to add a new node after putting the Account.Name folder into the path, then you need to remove it.
      • Integration User: This is an optional part of the setup. If you do not use Doc Launcher, have Workflow steps that update Salesforce, or use User Sync, then this step can be skipped.  To keep users in sync, you will need to create users in Salesforce and SpringCM manually. If you use Doc Launcher from Salesforce, have workflow steps that call back into Salesforce, or User Sync, you must set up the Integration User. Do this by selecting the Set up Integration User button. After an Integration User has been set up, you can change it or delete it.  
      • Set up SpringCM Preferences: When you select this, you will be taken to the Salesforce configuration preference page in SpringCM.  Here you can configure other Salesforce related preferences. 
        • To setup User sync and Salesforce to SpringCM user synchronization, follow the steps found in the Salesforce User Synchronization section found in the SpringCM User Management Guide.

Troubleshooting

Why do tasks like Set up Integration User, Setup Connection never complete?

  • These tasks may complete in the background but never return success messages. These tasks use the Salesforce Streaming API to signify completion. The Streaming API lets you receive notifications for changes to data that match a SOQL query that you define in a secure and scalable way. This field is selected by default. If your Salesforce edition has API access and you don’t see this checkbox, contact Salesforce. Your first course of action is to check to see if the Streaming API is enabled. This is done by
    • Going to Setup
    • Finding User Interface underneath the Build--Customize Menu
    • Confirming that "Enable Streaming API" is enabled.

What impacts do selecting Lock sessions to the IP address from which they originated and
Lock sessions to the domain in which they were first used have on SpringCM?

  • If these settings are enabled, the user will see the following message,  "We are unable to display this content, because you are not an active SpringCM user. Please contact your Administrator, if you think you are seeing this message in error."
  • If Locks Session to theIP address from which they originated is selected, then when you configure SpringCM For Saleforce, you will not be able to 
    • select the Environment when connecting the Salesforce Org to your SpringCM account.  successully complete processes such as Set up Integration User, Delete Integration User, Change Integration User. 
  • Please disable these settings in order to successfully use SpringCM File in Salesforce.

 

Will SpringCm work with Clickjack protection settings enabled in Salesforce? 

  • If Enable clickjack protection for customer Visualforce pages with standard headers and Enable clickjack protection for customer Visualforce ppages with headers disabled are selected, then File It will not load succesfully for the end user.  The user will see URL No Longer Exists.  The Administrator will need to de-select these settings in order for File It to work successfully. 

References

The following links provide information to help integrate SpringCM with Salesforce