Tuesday 22 September 2020

Skinny Tables

 Hi,

Here we are going to learn about Skinny tables in Salesforce.com

Salesforce can create skinny tables to contain frequently used fields and to avoid joins. This can improve the performance of certain read-only operations. Skinny tables are kept in sync with their source tables when the source tables are modified.

If you want to use skinny tables, contact Salesforce Customer Support. When enabled, skinny tables are created and used automatically where appropriate. You can’t create, access, or modify skinny tables yourself. If the report, list view, or query you’re optimizing changes—for example, to add new fields—you’ll need to contact Salesforce to update your skinny table definition.

How Skinny Tables Can Improve Performance

For each object table that’s visible to you, Salesforce maintains other, separate tables at the database level for standard and custom fields. This separation, which is invisible to customers, ordinarily requires a join when a query contains both kinds of fields. A skinny table contains both kinds of fields and also omits soft-deleted records.

The following table shows an Account view, a corresponding database table, and a skinny table that can speed up Account queries.



Read-only operations that reference only fields in a skinny table don’t require an extra join, and can consequently perform better. Skinny tables are most useful with tables containing millions of records to improve the performance of read-only operations, such as reports.

Skinny tables can be created on custom objects, and on Account, Contact, Opportunity, Lead, and Case objects. They can enhance performance for reports, list views, and SOQL.

Skinny tables can contain the following types of fields.

  • Checkbox
  • Date
  • Date and time
  • Email
  • Number
  • Percent
  • Phone
  • Picklist (multi-select)
  • Text
  • Text area
  • Text area (long)
  • URL

Skinny tables and skinny indexes can also contain encrypted data.

Here is an example of how a skinny table can speed up queries. Instead of using a date range like 01/01/11 to 12/31/11—which entails an expensive, repeated computation to create an annual or year-to-date report—you can use a skinny table to include a Year field and to filter on Year = '2011'.

Considerations:

  • Skinny tables can contain a maximum of 100 columns.
  • Skinny tables can’t contain fields from other objects.
  • For Full sandboxes: Skinny tables are copied to your Full sandbox orgs.

    For other types of sandboxes: Skinny tables aren’t copied to your sandbox organizations. To have production skinny tables activated for sandbox types other than Full sandboxes, contact Salesforce Customer Support.

Note:

Skinny tables aren’t a magic wand to wave at performance problems. There’s overhead in maintaining separate tables that hold copies of live data. Using them in an inappropriate context can lead to performance degradation instead of improvement.

Reference:

https://developer.salesforce.com/docs/atlas.en-us.salesforce_large_data_volumes_bp.meta/salesforce_large_data_volumes_bp/ldv_deployments_infrastructure_skinny_tables.htm

Sunday 20 September 2020

Prerequisites for Outbound Messaging for Service (Digital Engagement) Setup

 Hi,

We are going to know about the Prerequisites to setup Outbound Messaging for Service(Digital Engagement).

Note: It's not Outbound Messaging under Workflow Actions

What is Outbound Messaging?

Outbound messaging lets our customers stay engaged and informed in ways that are most convenient for them—on their mobile devices using a phone number or messaging apps, such as SMS text messaging, Facebook Messenger, and WhatsApp. 

Prerequisites for Outbound Messaging:

  • A Salesforce org with Service Cloud or Sales Cloud and the Digital Engagement add-on: This gives your org and users access to messaging capabilities.
  • Omni-Channel: Messages are automatically routed to agents who are logged in to the Omni-Channel utility in the console. Customer responses go directly to the agent who initiates an outbound message when logged in or to an available agent logged in to Omni-Channel. Outbound messages do not count toward your Omni-Channel capacity.
  • Customers must give their consent to receive messages. All channels have slightly different methods for giving a business consent. For example, with short codes, agents can initiate outbound messages after short codes are set up and a customer sends a message to the short code explicitly agreeing or opting-in to two-way communications on their mobile devices. Customers can opt-out when they choose.
  • Messaging user fields: Outbound and inbound messages create Messaging User records to which you can add or remove specific fields. Default fields include each customer’s name, phone number or Facebook name, and opt-out status.
  • Messaging templates: Create messaging templates to add content for an automated message notification. Use the Process Builder or Flow Builder to define processes that automatically send messaging templates to customers when certain conditions are met, such as when their cases are closed.


Reference:

https://trailhead.salesforce.com/content/learn/modules/service_message/service-message-learn?trail_id=expand-service-cloud-with-digital-engagement

Thursday 3 September 2020

Managed and Unmanaged Packages

Hi,

AppExchange solutions are delivered to your org in packages, which are containers for apps, tabs, and objects. Packages come in two flavors: managed and unmanaged. The solution provider decides which package type to use to distribute the solution, which in turn influences how the solution behaves in your org.

 Important differences between package types.





Reference:

https://trailhead.salesforce.com/content/learn/modules/appexchange_basics/appexchange_basics_install

How to include a screen flow in a Lightning Web Component

 Hi, Assume  you have a flow called "Quick Contact Creation" and API Name for the same is "Quick_Contact_Creation". To i...