Summary of Attachment, Document, Content Library and Files in Salesforce

Comparing between Attachment, Document, Content Library and Files in Salesforce

Summary :

  • Files is new way to store file in Salesforce
  • Content from external file service like Google, Box appears in Files
  • Files from Content Library displayed in file
  • CRM Content Library cannot be created in Lightning experience yet
  • Attachment and Files are two different objects, so two different related lists.
  • Attachment can be viewed in Lightning in Notes & Attachment related list
  • Attachments cannot be created in Lightning Experience, we should not use Attachments in future
  • To migrate existing Attachment to Files, use this AppExchange from Salesforce Labs
  • Document tab is not available in Lightning Experience
  • Documents should be replaced by File
  • Files yet does not support being used as attachment in Email Templates. If you are using Document in Email template, then keep it in Document
  • CRM Content delivery not available in Lightning but File can be shared with external user using Link
  • External user can only view or download file but cannot edit or update
  • File supports versioning
  • File can be related with multiple records.
  • File supports granular level sharing. It would be shared with anyone who has access to parent record. If you want to share with broad audience, it can be shared on chatter.

Continue reading “Summary of Attachment, Document, Content Library and Files in Salesforce”

Why Quick Actions are not appearing on Case page layout in Lightning Experience

Solution to make quick actions visible on Case & Work Order Page Layouts in Lightning Experience

If you want quick action to appear on Page layout, all you have to do is add it in Salesforce Mobile and Lightning Experience Actions as shown in below image

Add Quick Actions on Page Layout - Salesforce
Add Quick Actions on Page Layout – Salesforce

Unfortunately this did not worked for Case & Work Order Page layout  in Lightning experience. Continue reading “Why Quick Actions are not appearing on Case page layout in Lightning Experience”

Embed Lightning Component in Flow

Author posted by Jitendra on Posted on under category Categories Salesforce and tagged as Tags , with 2 Comments on Embed Lightning Component in Flow

How to create a lookup field in Flow by embedding Lightning Component

Most of us are big fan of Flow but at the same time we miss a lot of obvious features like lookup fields, model dialogues etc.  This blog post might bring excitement and motivation to give more attention and love to Flow.

Around 3 years back, I had written a post on how to create a lookup component in Flow. That solution was just a workaround without user friendly experience. Lets focus on better user interface today, In this post we will give lookup field ability to flow by simply reusing existing Lightning Component.

Click here for animated image showing Flow in action supporting Lightning Component.

First and foremost, make sure you enable Enable Lightning runtime for flows by navigating to Workflow | Process Automation Settings , Otherwise flow would not run in classic runtime environment. Continue reading “Embed Lightning Component in Flow”

Using SalesforceDX (SFDX) with non Scratch Orgs

Author posted by Jitendra on Posted on under category Categories Salesforce and tagged as Tags , with 6 Comments on Using SalesforceDX (SFDX) with non Scratch Orgs

How to use SalesforceDX (SFDX) with Sandbox, Developer and Production Orgs

We have gone through few blog posts about SFDX and its capabilities in past. In this post, I will explain steps on how to use SFDX with developer, Sandbox or Production Org. In short we will discuss how to use SFDX with non Scratch Orgs. We would be using official Salesforce IDE for SFDX, which is VSCode.

Assumption – VSCode extension is already installed in your VSCode.

  1. Create SFDX project in VSCode

Open VScode and press cmd+Shift+p, It will give some option. Select SFDX: Create Project.

SFDX : Create Project
SFDX : Create Project

Continue reading “Using SalesforceDX (SFDX) with non Scratch Orgs”

15 ways to improve performance of Lightning Components in Salesforce

Improve Lightning Component performance using simple 15 rules like Storable Actions, avoiding server trips, Lightning Data Service, Unidirectional data binding, creating component APIs etc

  1. Avoid Server Trips

Most obvious idea to improve Lightning Component Performance is to avoid server trips. Let’s say, you need to know the queue Id to be assigned as owner in Case and also need custom setting information to derive the behavior of Lightning Component. There are two ways to achieve this – Call Apex Controller two times vs return combined results from Apex in single call and process JSON in client side controller of Lightning Component.

2. Use Storable Action

In this approach, Lightning component shows cached result instead of making immediate server trip. Lightning component will make server (Apex) call in background and if cached result is stale, then it would cache and refresh the lightning component. This is very useful for devices which has slow internet connections. If you are Facebook or Google News user, you would be easily relate it. When we open these apps, it shows previous feed and if there are new feeds, it gives us option to refresh view or automatically refresh it. All you have to do is, on client side controller of Lightning component, mark action as storable using this code action.setStorable(). This blog post explains working of storable action in detail. Continue reading “15 ways to improve performance of Lightning Components in Salesforce”

Quick Summary of Salesforce Identity Connect Capabilities

Short & quick note about Salesforce Identity product

Below are important summary about Identity Connect

  • It comes as add on feature with Salesforce with additional cost
  • Only works with Active Directory
  • Its only one way Sync, from Active Directory to Salesforce
  • We can assign profile, role and permission set to user using Identity Connect
  • Any changes made manually for mapped field on user record would be overwritten with next sync.
  • Sync from Active directory to Salesforce can be realtime or scheduled
  • If the user is deactivated in Active Directory then user record also gets deactivated. Identity Connect internally uses API to deactivate user. Unlike for some other SSO solutions, if user is deactivated in Active directory then they cannot login to Salesforce. However, if they already logged into mobile phone or connected app then they can still access Salesforce. This problem is resolved in Identity Connect.
  • Identity connect is installed on client network behind the firewall. Identity connect pushes the changes to Salesforce from client’s network.
  • If we want to use Identity Connect as a SSO and user wants to use Salesforce from outside company network or on mobile phone, then its login page must be accessible on internet. This can be done by installing Identity Connect on De-militarized Zone (DMZ).
  • Identity connect is used for User provisioning but not for Just in Time (JIT) provisioning.
  • We can use Identity connect as a SSO. If customer already has SSO implemented then Identity connect can only be used for user provisioning.
  • One Identity Connect can be used for multiple Salesforce instances however all production or all sandboxes. If you want to use Identity connect for production and Sandbox at same time, then we would need two Identity Connect, one for Sandbox and other for Production.
  • Identity Connect will work with only one Active Directory but it can have multiple domains in same AD.
  • Integrated Windows Authentication (IWA) is supported by Identity Connect using Kerberos authentication protocol. Means, if user is already logged into company provided windows system, then login screen would be bypassed and Salesforce login experience would be seem less.
  •  Scheduled sync uses more API’s then realtime schedule. Because, Schedule sync checks for changes in all Salesforce users vs all AD users.

Continue reading “Quick Summary of Salesforce Identity Connect Capabilities”

Salesforce Integration with SQL Server Integration Services

Author posted by Jitendra on Posted on under category Categories Salesforce and tagged as Tags , , , with 1 Comment on Salesforce Integration with SQL Server Integration Services

Video – Connecting SQL Server Integration Services (SSIS) with Salesforce using COZYROC Connector

On April-14, 2018,  I had a chance to conduct online session on demonstrating integration between SQL Server Integration Services (SSIS) and Salesforce with the help of COZYROC connector.

This session covered below topics

  • Introduction to ETL
  • What is SQL Server Integration Services (SSIS)
  • COZYROC connector
  • Demo of extracting and updating records in Salesforce
  • Demo of downloading attachments from Salesforce
  • Demo of uploading attachments in Salesforce
  • Best Practices – How to configure SSIS package to avoid hardcoding
  • Best Practices – enabling logging

Continue reading “Salesforce Integration with SQL Server Integration Services”

Video – Use Microsoft Azure’s Active Directory as Identity Provider for Salesforce SSO in 15 Minutes

Video tutorial on how to use Microsoft Azure’s Active Directory as a Identity Provider for Salesforce. It uses Federated Single Sign On (SSO) feature of Salesforce

This is quick video tutorial on how Microsoft Azure can be used to setup as Identity Provider for Salesforce Single Sign On.

Few things worth of note:

  • If you are new to Microsoft Azure, you can get free trial access however you might need to provide Credit card details to use few features. You would not get charged because we get $200 worth credit for new Account that can be used in a span of year.
  • I was not able to use Azure’s Active Directory SSO for Just in Time (JIT) provisioning. Rather, it connects to Salesforce and creates user whenever user is provisioned in Active Directory, just like Identity Connect
  • Security token is mandatory. In case if you have IP login range then we don’t get Security token. To fix this, we can divide our password to have some value in Security token. As final password anyways is Password + Security Token. Shown in below image
  • When we assign any user to Enterprise application (in our case its Salesforce), we need to map profile to the user.
Microsoft Azure Active Directory User Provisioning
Microsoft Azure Active Directory User Provisioning