Why do you need a 3rd party Salesforce data backup and recovery tool?

Data is the backbone of any business! The primary motif of data backup and recovery is to create a copy of the data to recover from a primary data failure. In addition, primary data failure can lead to hardware and software failure. Sometimes, to mitigate data corruption risks and malicious attacks, Salesforce data backup and recovery is one option. On the other hand, data copies allow organizations to restore potential data and business recovery.

In fact, data storing is a critical choice to protect against primary data loss. Backup copies are created on a consistent pattern to minimize data lost between the backup processes. Moreover, with time and process, backup recovery can be daunting! While retaining multiple copies offers better flexibility, they are also the threat of data protection will still be there!

If you are not aware of the potential threat of data backup and recovery, this blog is definitely for you! We will discuss why do you need a 3rd party Salesforce data backup and recovery tool?

Why is data backup crucial for your business?

Large enterprises are clearly treasure troves of data! Hackers always target data-rich enterprises. However, data security is not only about protecting your business from malicious outsiders. It is also a way to take major steps against disaster management. Salesforce data recovery system allows managing and protecting potential business data.

  • Everything we do for our business has a real existence. Data plays a critical role in enhancing business value. Organizations without data privacy face huge penalties for non-compliance. In fact, they also establish a valuable relationship by not complying with security protection.
  • Organizations should implement strong security support to protect personal data and prevent data breaches that hurt businesses. Data security and backup also prevent breaches that hurt subjective data and individual data.
  • On the other hand, database backup helps to restore potential data during any disaster recovery period. It also helps to restore data that have undergone damage and deletion. Hence, they are essential to protect against data loss and to disrupt business operations.

Challenges with Salesforce data 

Nowadays, businesses use multiple applications to handle sales, finances, management, and services. In fact, it is crucial to improve operational efficiency. Salesforce data backup and recovery poses many challenges for small to big organizations. Take a quick glance at the challenges companies witness during integrating Salesforce data backup models:

Data mapping 

It is the most common issue encountered during the data backup process. For data and field mismatch, the integration process turns out complicated and critical. Hence, it is crucial to ensure mapping the right field of data and target app-supported fields. Salesforce often fails to recognize the character of data, and the data mapping process becomes lengthy and time-consuming.

Duplicate records

It is imperative to install a universal system to identify the limitation of duplicate data during the integration process. Using data import wizards and oracle financial system, the process can be easier than ever. However, the duplicate records often confuse the users to track the real database.

Data migration 

Data migration is one of the crucial aspects of the Salesforce data recovery edition. The duplicate records of data and transferring the records might be irrelevant. In that case, the users need to enable duplicate management features to define the custom code. Moreover, by defining the field-level security, salesforce can initiate data migration.

Auto-ID creation 

The Salesforce data backup system is efficient at generating automated IDs for each data entity. The software enables overriding prevention within the data channels with customer validation and logic. However, countless IDs make the process more complicated for the users to separate the original source.

Real-time integration 

Real-time integration is a tough nut to crack. Generally, it exports data in batches and may not be immediately synced with real-time integration.

Bad data promotion

Propagating malicious data into the Salesforce data backup model is not a good practice. If the external system pushes out the limits and unnecessary information, it is prone to develop duplicate data. Hence, it is important to check the cleanup system to leverage the data backup process.

Data protection is easier with 3rd Party Salesforce data backup and recovery tools

There are always other better options available to backup and recover the data, and these are third-party options for Salesforce data backup and recovery. With third-part tools like Archive on Cloud (AoC), you can easily eradicate the limitations and challenges of data management and recovery.

Benefits of Third-Party Tools

  • 3rd party tools are designed to overcome the limitations of Salesforce data backup and recovery
  • Manual and weekly Salesforce exports are not enough to protect your data against situations.
  • It’s hard to recover permanently lost data from Salesforce and recovery beyond your scope is costly.
  • Versioning has limitations on type and number of records.

The above reasons make it very clear that relying completely on Salesforce data backup and recovery is not enough.

In fact, data backup is now easier with Archive on Cloud as it saves your data in database or the easy access and usage. There are also other third-party tools but here is what AoC has to offer more?

Eliminates manual backup process

Gone are days of the long backup management process. With AoC, users can simply use automatic backup and schedule their backup choice to protect all potential data.

Data Compliant

AoC allows simplified compliance with all the required standards. In addition, it offers the utmost security.

Robust data protection 

AoC’s data backup system allows businesses to start protecting their data from day one with the help of automatic backup and on-demand backup schedule. Even if users are not well-equipped with backup process, they will face no issues, as the interface is easy to use, and the process is simplified enough that things happen over clicks.

Simple data recovery

AoC also allows a simple data recovery model which can be access through clicks. It is very easy to send data back to your Salesforce Org as and when required. The system is designed for every user, including the non-tech-savvy users who effortlessly manage the entire process.

Versioning of data

It’s not easy to remember the last change you made to the data and finding it through exported file isn’t easy either. AoC allows saving the versioning data of records for future reference. This feature is to keep your complete data safe and backed up so you never are in a bad situation.

No Surprises

AoC leaves no surprises by enabling you to create customized alerts and identify data anomalies within a protected environment.

How does AoC work for data recovery?

While the Salesforce data recovery system still has some limitations, with AoC, businesses can eliminate them. From storage capacity to general legacy backup management, the Salesforce data backup and recovery poses many challenges for a large amount of data. However, AoC helps your existing data with better protection ability and efficiency.

  • In general, Salesforce schedules an automated data backup system in excel format with restricted storage capacity. In case the users add more data to the system, it cannot automate the process. AoC enables an automated data backup system whenever new data is found in the system. Also offers option to schedule backup as per the need.
  • AoC eliminates the hassle of manual recovery. If you have backed up your data in MySQL database, the tool over clicks takes your data back to Salesforce. Also, the users can restore the data at their convenience.
  • History tracking is more efficient with AoC. While Salesforce can only track limited records history at a time, you can track the updated version of any number of records from the versioning data.
  • Recovering data from recycle bin is possible only for 15 days in Salesforce. However, AoC keeps track of data in a specific format and recovers any data version from the backup.

 

Final thought

Data backup is not a choice anymore! However, before considering any third-party Salesforce data backup services, it is crucial to be aware of the challenges. Moreover, businesses should take the opportunity to leverage their platforms and boost performance with smart data backup solutions like AoC. Moreover, AoC promises automatic backup, quick data recovery from the backup history, and versioning of data. So, the benefits of smart Salesforce data backup and recovery are limitless! To start protecting your Salesforce data, get a free demo of AoC today!In the dynamic world of online betting, 1xbet stands out as a trusted name that offers an immersive gaming and betting experience. With the launch of the 1xbet App Download, users are now equipped to place wagers, monitor live scores, and even view real-time matches, all from the comfort of their devices. This innovative approach not only simplifies betting procedures but also enhances user engagement, making every game an exciting adventure.

Permanent link to this article: https://www.sfdcpoint.com/salesforce/why-do-you-need-a-3rd-party-salesforce-data-backup-and-recovery-tool/

7 Benefits Of CRM-driven Messaging

Communication is the heart of any marketing and sales activity. For your product or service to be sold to your target audience, you need to communicate with them at every stage of their buying journey for winning their confidence and locking the deal.

Over time, marketing communication has gone through an array of changes. It all started with newspapers and tabloids, leading up to social media marketing. Businesses and customers have been introduced to several communication channels to facilitate effective marketing, be it emails, telephones, televisions, or billboards.

Today, most organizations use emails, social media, and SMS to communicate with their target audience. Whether it is posting social media ads, sending promotional emails, or creating SMS marketing campaigns, brands have successfully reached the screens of their audience for influencing their buying decisions.

However, it is almost impossible to keep a track of every single customer and their needs using traditional techniques. Simply having a list of customers and their contact details no longer work. The need for personalization has increased exponentially over the years and businesses need to send the right messages at the right time to the right people.

This is where the benefits of CRM messaging lie.

What Is CRM-driven Messaging?

As the name suggests, CRM-driven messaging is the process of communicating with your target audience by integrating your channel of communication with CRM.

In simple words, it is the process of tracking incoming and outgoing messages using a CRM platform. CRM provides you with all the details about all the customers (past, present, and potential) catered by your organization. When you use this platform for communicating with them, it makes marketing easier, more effective, and fruitful.

CRM-driven messaging can be implemented for sending messages on social media, sending emails, and delivering text messages. It helps you in using the details stored within your customer database to create messages, send them, and use the incoming messages to perform specific actions using your CRM platform.

Here are some of the key benefits of CRM messaging that helps you communicate better:

Benefits Of CRM-driven Messaging

  1. Effective Lead Management

CRM-driven messaging helps you manage all your leads right from acquisition until the deal is closed. When you use your CRM platform for sending and receiving messages, you can associate specific actions and responses for each of your leads.

For example, if you are a Salesforce user and have implemented a Salesforce SMS app, you can feed in the responses from your contacts pertaining to your promotional messages directly into your sales pipeline. This helps you organize your database streamline your business processes.

  1. Managing Multiple Leads

Owing to the ever-increasing number of customers in every sector of the industry, it is humanly impossible to manage one lead at a time. This will not only slow down your processes but also make you lose a bunch of lucrative opportunities.

CRM-based messaging helps you manage multiple leads at the same time. CRM platforms have different tabs for different customers. Each of these tabs can be handles individually along with managing other contacts. For example, if one of your customers has initiated a purchase and the other wants to opt-out of your services, you can draft different messages and send them to both customers at the same time.

CRM-based messaging helps you manage all your conversations and deals from a single platform. This helps you save time and coordinate between different communication channels effectively.

  1. Automation Tedious Processes

There may be times when you need to send the same message to hundreds of customers through different channels. CRM-driven messaging helps you automate this process with features like bulk messaging and scheduled messaging.

With the help of bulk messaging, you can create a single message and send it to a large bunch of contacts at the same time. If you want to send specific messages to specific contacts at a specific time, you can schedule your messages and forget about it.

This way, you can save yourself from putting in extra effort where it is not required, spending your time on the core business issues.

  1. Tracking Messaging History

It is always good to have a record of all the messages you send and receive. If you use CRM platforms for communicating with your customers, you can keep a detailed track of the history of communicating with every single contact.

Irrespective of the kind of conversation and the outcome of the same, CRM helps you record all relevant details on a centralized platform. This always acts as a good reference in case of confusion or conflict.

  1. Better Response Rate

As compared to emails, CRM-driven messaging gives you an improved response rate. This is because these messages are less mechanical and more interactive than emails.

Also, when you approach your customers using CRM, you are well-versed with their specific likes and preferences. When you are striking all the right chords, it is very difficult for the customer to not respond!

  1. Uniformity In Voice

In the age of immense competition, it is important for every organization to have its unique voice. If you have different sales reps contacting your customers using traditional messaging techniques, there will be no uniformity in this voice.

With the help of CRM, you can have specific templates, tones, and ways of communicating that will remain common, irrespective of who is sending the message to your customers.

  1. Increased Personalization

Today, marketing is all about personalization. Customers engage with businesses because they want to feel special. You can no longer use generic messages for interacting with them.

CRM-driven messaging helps you in creating and delivering messages that are in sync with the specific likes, dislikes, needs, and preferences of your customers. Also, as a customer moves along your sales pipeline, you can be there for them at every stage until they make the final purchase.

service now powerful work engine for quick configuration and advance coding for your project ready to get go Hire servicenow Developer.

The benefits of CRM-driven messaging are never-ending. It is highly advisable that you switch to this mode of communication before it is too late!

Permanent link to this article: https://www.sfdcpoint.com/salesforce/benefits-of-crm-driven-messaging/

All About Salesforce Health Check

Health is considered very important and is one of the indispensable aspects that need to be taken care of every time. The same applies in the case of Salesforce where the Security Health Check is required after a fixed interval of time so as to make the implementation processes error-free. It is also done to ensure the productivity and efficiency of the working mymedic.es system.

If you are working as an administrator, you definitely can use the health check tool for the identification and fixation of the risks and vulnerabilities that may occur in the settings of Salesforce Health Check.

The baseline of health check

All these potential problems can be handled on a single page and finally, we can get the health check score that can summarise the measures to be taken against the baseline of the Security Health Check.

The salesforce base standards are one of the measures to check security and regularly check the health of Salesforce. The security checks are available both in case of Salesforce classic and lightning experiences in favour of the addition such as professional and unlimited.

You also need to assure that some user permissions are required for going the health check and exporting the custom baseline. This permission is needed for viewing the Salesforce Health Check and manage the health check is required for importing the custom baselines in the form of user permission.

Methods of fixation of risks

The fix risk buttons are used for changing the settings but not all settings can be transformed using such buttons. If you are not able to find the setting on the fix risk screen, then you have to make the changes manually by using the edit link which is available on the health check page.

The fixation of the risk limitations can be done with the help of either calculating the health checks for the creation of the custom baseline for Salesforce Health Checkup.

There are certain baseline file requirements that need to be imported successfully so that you can be sure that the file and other associated settings are helping in meeting the requirements of the system using Salesforce Optimizer.

Calculation of health check score

For the calculation of the health check score, we need to apply the proprietary formula that helps in measuring the extent of working of security settings that are able to meet the requirements of the baseline standards for their help in the selection of the custom baselines.

You need to see the working of those settings that are exceeding the compliance that is helping to raise the score of health check-up and verifying all the settings which are at risk and considering some problem with the lowest score.

If you want to check your health score you need to consider the four risk categories which include medium risk, high risk, low risks, and informational. These are the four categories of risk that majorly affect the score of the health check of Salesforce where you can see the high-risk setting bear the maximum weightage.

For the consideration of the lowest settings, the settings count the least, and the other settings such as medium – risk settings, live in the middle of the count and helps in making the settings according to the factors and parameters that are prevailing or impacting the standards that are already being created.

Percentage risk score

You can make the recommendation according to the percentage of the risk. If the percentage score is the line between 0 and 33 you can recommend that the higher risks are associated with the system and their health needs to be improved soon.

If the percentage is between 34 and 66, the recommendation should be in the favour of remediation of the high risk that a prevailing for the short term and also the risk called medium risk existing in the long term.

If the percentage is lying between 67 and 100 then you need to proceed with the process of reviewing the health check after a regular interval for the remediation of the risk factors.

Creation of custom baseline for Salesforce Health Check

For maintaining Salesforce Health Check, you can complete the work of importing the customized baseline so that you can make a comparison of the security settings existing in your org with the standards created by you in context of Security Health Check. You can also compare the security settings with the sales force at amended standards and improve things accordingly.

You can consider one example of a kind of industry or a business where you can make the creation of a custom security baseline using the standards known as- FINRA standards.You can also go ahead with importing the health check custom baseline and try to meet every requirement with the help of the settings created by you.

It is one of the very important facts that you are not allowed to add or delete any kind of settings that are related to a health check from the files but you can make a transformation associated with the values and risks.

If you want to make the creation of a custom baseline for the health check you need to export all the baseline standard files by making the selection of export baseline that is available in the base and control menu.

The importance of XML files

You can also make the editing process of the XML file using the text editor. Also, you can make the adjustments of the categories of the risk for the customisation of your health check scoring.

You can also make the modification in the setting values by making the changes in the custom baseline file requirements but there is one limitation that you are not allowed to change certain values and settings that contain some restrictions in the form of value options.

Parting tips

Hope you got enough idea of checking the health status of Salesforce regularly. The security health check is one of the powerful means of maintaining the productivity and feasibility of all the implementation processes within the Salesforce organization. Try to calculate the health check-up score regularly and maintain an effective working process.

Permanent link to this article: https://www.sfdcpoint.com/salesforce/salesforce-health-check/

Salesforce Spring ’21 Release Notes

Salesforce Spring ’21 Release Notes

All you need to know about Salesforce Spring ’21 Release Notes

Salesforce Spring ’21 Release Notes: We understand that it is difficult and a bit time-consuming to go through the entire release so here we offer to help you learn and grow in the salesforce world by presenting the summary and my most favorite feature of Salesforce Spring’ 21 Release Notes.

Salesforce Spring 21 Release Notes Summary

Do More with Opportunity Products

Give your sales team more flexibility to track information on opportunity product records. For example, a rep wants to track two delivery locations in a related list for an opportunity product record. Now you can create an object relationship and page layout to make it happen.

How: In your object management settings, create a lookup relationship between any standard or custom object and Opportunity Product (the OpportunityLineItem object). Make sure that the lookup field and related list are added to the page layouts where you want them to appear.

Opportunity Products

In this example, the Location custom object has a lookup relationship with Opportunity Product.Now reps can track the North Beach and Downtown delivery locations on the product record.

Share Records with Manual Sharing

With manual sharing in Lightning Experience, you now can share records and manage record shares in a new streamlined interface. Previously, you switched to Salesforce Classic to give specific users and user groups access to records.

Why: Click Sharing on the record that you want to share. In the Share window, you can manage who the record is shared with and share any associated records. Manual shares are available only for accounts, opportunities, cases, contacts, leads, and custom objects

Share in Lightning

End of Support for Internet Explorer 11 in Lightning Experience

Extended Support for IE11 ends on December 31, 2020. IE11 users see a permanent banner in their Salesforce org, indicating that they’re on an unsupported browser. Customers using IE11 aren’t blocked from accessing Lightning Experience, but features aren’t guaranteed to work correctly. New features are supported and available only on modern browsers.

Create More Roles

In Salesforce orgs created in Spring ’21 or later, you can create up to 5,000 roles. In existing orgs, the default limit hasn’t changed. You can create up to 500 roles and can contact Salesforce Customer Support to increase this limit. Keep in mind that to improve performance, it’s best to set up roles based on data access and eliminate any roles that aren’t needed.

SOQL Improvements

alesforce Object Query Language (SOQL) now makes it easy to include pre-defined groupings of fields within a query statement using the new FIELDS() function.In previous versions of SOQL, retrieving fields meant specifying all the names of all the fields you wanted to retrieve.he new FIELDS() function lets you select all the fields without knowing their names in advance. This eliminates the need for a round-trip to the server to prepare a SOQL statement, eliminates the need for research and a lot of typing, simplifies query statements, and makes it much easier to explore the shape of your objects.

How: Use FIELDS(ALL)FIELDS(STANDARD), or FIELDS(CUSTOM) in your SELECT statements. 

For example, “Select FIELDS(ALL) from Account Limit 200 ;”

Analyze Performance For Lightning Pages Viewed on a Phone

Performance Analysis in App Builder now assesses record page performance for the phone form factor. New tabs in the Page Analysis window give you separate results for a Lightning record page when it loads on a desktop and on a phone so you can design your page for optimal performance on both.

How: To view the assessment of your record page’s performance, click Analyze from the Lightning App Builder toolbar.

Page Performance Ligthning

UI Changes for Lightning Web Component

To enhance usability and performance, some components were switched from Aura components to Lightning Web Components (LWC). There are no reductions in functionality, but there are some minor UI differences.

How: When your users try to edit a record that they don’t have access to, now they get an error message after they try to save instead of after the initial edit form loads. This change makes the error behavior consistent across forms, detail pages, and inline editing.

When your users create, edit, or clone accounts, leads, contacts, and opportunities, the edited fields are now highlighted. Edited fields also show an undo button to revert changes. Errors now appear in the footer instead of at the top of the page. Errors messages are hidden automatically after users click a link within the error message. Previously, highlights, undo, and footer errors were available only for custom objects.

Success toast notifications for creating and cloning records now provide a link to the relevant record. Previously, links were included only when creating a record from a related list. For success toasts, if a record name isn’t available, the record ID is provided instead.

More Support for Dynamic Actions

Assign actions in the Lightning App Builder instead of the page layout, and apply filters to control when and where actions appear for users.

How: To add an action in any of the dynamic actions scenarios, click Add Action (1) in the properties pane. In the Actions modal, choose an action and click Add Filter (2) to assign visibility rules based on record field, device type, and other filters. An eye icon Eye icon indicates visibility rules are appled to action. (3) next to an action’s name indicates that visibility rules are applied. If you migrated actions from a page layout, you can modify them in the Actions modal.

Dynamic Actions

Dynamic Actions

Better User Experience with Release Notes on Salesforce Help

The main Salesforce Release Notes moved to Salesforce Help where they now live in harmony with our help and other technical content plus the release notes for Commerce Cloud, Marketing Cloud, and Customer 360. Quite simply, the Release Notes on Salesforce Help provide the best experience for you, our customers. Continue to enjoy the features you know and love, such as version switching and easy PDF downloads, while you also get better search, filtering, case logging, feedback options, and more. Find it all in a cleaner and easier to use interface.

Release Notes Help

Permissions Removed for Guest Users

Salesforce is removing the View All, Modify All, edit, and delete object permissions on all objects for guest users in new and existing orgs. These permissions are removed for custom objects and standard objects. Guest users can only have read and create object permissions.

How: The View All, Modify All, edit, and delete object permissions are permanently removed and can’t be enabled for guest users in profiles or permission sets.Guest users also lose access to other permissions that are included in those permission sets and permission set groups.If guest users are removed from permissions sets or permission set groups because they have the Modify All, View All, edit, or delete object permissions, and lose other functionality, clone the permission set with the permissions allowed, and assign the new permission set to the guest user.

Embed Lightning Scheduler Flows into Other Flows

Lightning Scheduler flow type now supports subflows. You can call a Lightning Scheduler flow from within another flow that is of the Lightning Scheduler flow type. For example, you can create and add a simple Lightning Scheduler flow to the account page that asks users whether they want to create or modify an appointment, and then it launches the related flow.

How: Create a Lightning Scheduler flow. In Flow Builder, drag the Subflow element onto the canvas. In the Referenced Flow field, search for and select a Lightning Scheduler service appointment flow.

Lightning Flow

Track Accounts as Campaign Members (Beta)

You can now add account records as members of a campaign. Focus your attention on important accounts in the tables, related lists, and reports that contain campaign members.

How: Turn on the Accounts as Campaign Members setting in Salesforce Setup. Updated and new reports become available. To see campaigns on your account records, add the Campaign History and Campaigns related lists to your account page layout.

Build Your Own (LWR)

Build Fast, Efficient Experiences with the Build Your Own (LWR) Template (Generally Available)

The Build Your Own (LWR) template, which was previously available as a pilot program, is now generally available. Develop blazing fast digital experiences, such as websites, microsites, and portals, using the Lightning Web Components programming model. Powered by the new Lightning Web Runtime (LWR), this customizable template delivers unparalleled page performance and improves developer productivity.

n addition to providing exceptional performance, the template:

  • Provides custom URL paths for unauthenticated sites, meaning no more /s cluttering up your site’s URL—for example, https://mycustomdomain.com/mypage.
  • Supports the development of reusable Lightning web components and themes that follow modern web standards.
  • Includes Apex and User Interface API support, so you can access Salesforce records, SOSL, and more, to provide data-rich experiences for your customers.

Build Your Own LWR

Find out more details here.

lightning:navigation in Aura Sites

lightning:navigation in Aura Sites Now Supports generateUrl with More actionNames

The lightning:navigation component now supports generateURL using a pageReference with the New, Edit, and Clone actionNames. Previously, only the View actionName was supported. Standard record pages with edit and clone actions and standard object pages with a new action now return a URL that can be used to navigate to the action specified by the pageReference. The behavior of the navigate call usinglightning:navigation hasn’t changed.

Original Territory Management Is Being Retired

The original territory management feature is scheduled for retirement as of Summer ’21. After the feature is retired, users can’t access the original territory management feature and its underlying data. We encourage you to migrate to Enterprise Territory Management.

Add or Remove Drop Shadows in the Tile Menu Component

Use the new Show drop shadow setting to choose whether to show a drop shadow on your tile images in the Tile Menu component. Previously, the drop shadow was always on by default.

Access Custom Metadata Type Records Using Static Methods

Use the Apex getAll()getInstance(recordId)getInstance(qualifiedApiName),  and  getInstance(developerName) methods to retrieve information from custom metadata type records faster. These methods don’t rely on the SOQL engine and return the sObject details directly from the call.

Why: The following example uses the getAll() method. The custom metadata type named Games has a field called GameType. This example determines if the field value of the first record is equal to the string PC.

List<Games__mdt> mcs = Games__mdt.getall().values();
boolean textField = null;
if (mcs[0].GameType__c == 'PC') {
   textField = true;
}
system.assertEquals(textField, true);

Convert Leads to a Person Account and a Business Account at the Same Time with New LeadConvert Methods

If your customers include individuals and groups, your sales teams can associate converted leads with a person account and a business account simultaneously. For example, a bank can create person accounts for each member of a family and group the family into a business account.

How: For Salesforce orgs that use APEX Lead Convert, Person Accounts, and Contacts to Multiple Accounts, new methods are available on the LeadConvert() class. These methods allow converting leads into a business account and a person account instead of contact. More Details can be found here.

Features Deprecated /Retired:

Below are the Features worth noting that has been deprecated or Retried:

Salesforce Spring 21 Release Date

For the Spring ‘21 Release, Salesforce will upgrade the preview instances to Spring ‘21 on January 8 and January 9, 2021, and non-preview instances to Spring ‘21 on February 12 and February 13, 2021. Click on this link for more details.

Salesforce Spring ’21 Release Date Schedule Calendar

Salesforce Spring 21 Release Calendar

For more details on the release calendar, please visit salesforce website.

Stay Safe. Happy Learning 🙂

Permanent link to this article: https://www.sfdcpoint.com/salesforce/salesforce-spring-21-release-notes/

Best practices for Salesforce Integration Testing

Salesforce Integration Testing

Best practices for Salesforce Integration Testing

A robust Salesforce integration testing would entail the collation of test information, selection of the right test tools, following the naming conventions, ensuring total test coverage, and taking the agile approach, among others.

Best practices for Salesforce Integration Testing

Enterprises are digitizing in a big way to streamline their operations and deliver the best quality products to their customers. And when customers are the main force behind the success of an enterprise, ignoring their interests or downplaying their queries/issues can be an unmitigated disaster. Salesforce is a powerful Customer Relationship Management (CRM) software that helps enterprises to recognize and manage customer interactions throughout the product lifecycle. As a popular CRM tool, Salesforce is highly robust, customizable, configurable, and extensible. Comprising several applications, Salesforce helps businesses to reinforce customer relations and interactions, and client retention thereby leading to their growth.

Any CRM platform like Salesforce has become important in today’s business milieu where enterprises need to manage their relationship with customers once a product is delivered. The platform provides systems, technologies, strategies, and practices to reinforce customer interaction throughout the product lifecycle. Salesforce has myriad applications with which it needs robust integration and interoperability to run various functionalities. This calls for executing Salesforce integration testing covering all modules namely, accounts, campaigns, reports, leads, and contacts, among others.

Why Salesforce testing?

The CRM suite ensures proper management of customer interactions with the organization. It is only by understanding and addressing the concerns of the customers that organizations can ensure customer satisfaction and stay competitive. Salesforce application testing helps to validate the functionalities and their configurations as per the agreed business objectives. Such testing allows for early identification (and fixing) of glitches in the application development process thereupon ensuring the product addresses the needs of the customers.

List of Best practices for Salesforce integration testing

As mentioned above, Salesforce is the sum-total of applications that execute various functionalities aimed at addressing customer issues and strengthening the interaction. However, these applications should have proper integration among themselves and with the mother software suite (Salesforce) to deliver superior outcomes. Hence, a proper Salesforce testing framework should be established to take care of the integration issues. The best practices to follow while pursuing such testing are mentioned below:

# Collate information: Collate a comprehensive list of all test case scenarios and possible technical exceptions. For each scenario, the expected results and actions to be performed should be documented. Thereafter, test data should be created to validate each scenario.

# Right testing tools: To get the best results, use the right debugging tools offered by the latest browsers combined with the test classes. For example, you may use a powerful object-oriented and case-sensitive proprietary programming language called Apex to execute programmed functions like updates, deletions, custom links, and record insertion, among others.

# Follow naming conventions: Before writing test cases for Salesforce test automation, it is important to name the test methods appropriately. The test methods should comprise the below-mentioned parts:

  • Name of the method – insert/delete/update/undelete
  • Information about the test path – null contact or valid

# Total coverage: Even though the Salesforce directive is to cover about 75% of the code while conducting unit tests, one should aim at covering 100% of the code. Test all cases (positive or negative) as well as data (present or absent). Follow the below-mentioned tips to ensure 100% test coverage.

  • Refresh the code coverage numbers while running Salesforce automated testing
  • Rerun the tests when there has been an update in the business
  • The test coverage depends on the number of code lines. So, if the codes lines are added or deleted, the coverage percentage will be impacted accordingly.

# Test cases with classes and controllers: Developers, in order to make coding portable, organized, readable, and reusable, often create separate classes and controllers for each function. So, even though this enhances the readability of the code, there is not much improvement in its efficiency. Portability can be achieved when the test code is in the original class and there are minimal chances of missing a test class during migration from sandbox to production.

# Agile approach: In this approach, the software application is developed in small incremental builds wherein testers work concurrently and iteratively (using test automation) to evaluate the code.

# Synchronization with current operations: One of the principal features of any distinct Salesforce functional testing is its synchronization with the current operations. So, it is important to verify the test results against reference data signifying quality.

Conclusion

Since Salesforce functionalities add value to the organization, they need to be validated against expected parameters and reference data. Thus, a proper Salesforce integration testing plan should ensure the application build simplifies, streamlines, and enhances the business systems.

 

Permanent link to this article: https://www.sfdcpoint.com/salesforce/best-practices-for-salesforce-integration-testing/

Workflow in Salesforce

Workflow Rules in Salesforce

What is Salesforce Workflow Rules?

Workflow lets you automate standard internal procedures and processes to save time across your org. A workflow rule is the main container for a set of workflow instructions. These instructions can always be summed up in an if/then statement.

For Example: If you have symptoms of Coronavirus then stay at home.

Workflow rules can be broken into two main components.

  1. Criteria: the “if” part of the “if/then” statement. In other words, what must be true of the record for the workflow rule to execute the associated actions.
  2. Actions: the “then” part of the “if/then” statement. In other words, what to do when the record meets the criteria.

In the example, the criteria is “Have Coronavirus Symptoms” and the action is “Stay At home”. If the criteria isn’t met (No Symptoms), then the action isn’t executed.

Salesforce Workflow Rules

Salesforce Workflow Rules

Create a Workflow Rule

Automate your organization’s standard process by creating a workflow rule.

Demo: https://salesforce.vidyard.com/watch/IqZIFLtEx9rY7AD8QLFE3Q

Create Workflow Rules

Create Workflow Rules

Rule Criteria

Rule Criteria

Add Workflow Criteria

Remember, we are defining ‘IF’ statement criteria using Salesforce Workflow rules and When we need execute this rule.

  1. From Setup, enter Workflow Rules in the Quick Find box, then select Workflow Rules.
  2. Click New Rule.
  3. Choose the object to which you want this workflow rule to apply.
  4. Click Next.
  5. Give the rule a name and description.
  6. Set the evaluation criteria.
    • Created – Evaluate the rule criteria each time a record is created. If the rule criteria is met, run the rule. Ignore all updates to existing records.
    • Created, and every time it’s edited –Evaluate the rule criteria each time a record is created or updated. If the rule criteria are met, run the rule.
    • Created, and any time it’s edited to subsequently meet criteria-(Default) Evaluate the rule criteria each time a record is created or updated.
  7. Enter your rule criteria.
    • Choose criteria are met and select the filter criteria that a record must meet to trigger the rule. For example, set the filter to “Opportunity: Amount greater than 5000” if you want opportunity records with an amount greater than $5,000 to trigger the rule.
    • Choose formula evaluates to true and enter a formula that returns a value of “True” or “False.” Salesforce triggers the rule if the formula returns “True.”
  8. Click Save & Next.

Add Workflow Action

Once you’ve set the criteria for your workflow rule, identify what to do when those criteria are met.

Add an Immediate Action

Immediate actions, like their name suggests, are executed as soon as the workflow rule finishes evaluating the record.

Immediate Action

Immediate Action

  1. Open a workflow rule.
  2. In the Immediate Workflow Actions section, click Add Workflow Action.
  3. Select one of the options to create an action or select an existing one.

 

Below are the Workflow Actions :

  • Email Alert: Email alerts are emails generated by an automated process and sent to designated recipients. These actions consist of the standard text and list of recipients for an email. Refer Email Alert for more details
  • Field Update: Field update actions let you automatically update a field value.  Refer Field Update for more details
  • Flow Trigger: Create a flow trigger so that you can launch a flow from workflow rules. With flow triggers, you can automate complex business processes—create flows to perform logic, and have events trigger the flows via workflow rules—without writing code. For example, your flow looks up and assigns the relevant entitlement for a case.  Refer Flow Trigger for more details
  •  Outbound Message: An outbound message sends information to a designated endpoint, like an external service. You configure outbound messages from Setup. Provide the external endpoint and create a listener for the messages using the SOAP API. You can associate outbound messages with workflow rules, approval processes, or entitlement processes. Refer Outbound Message for more details.
  • Task: Task actions determine the details of an assignment given to a specified user by an automated process. You can associate task actions with workflow rules, approval processes, or entitlement processes. Refer Task for more details.

Add Time-Dependent Action

Time-dependent actions are executed at a specific time, such as 10 days before a record’s close date. When that specific time passes, the workflow rule re-evaluates the record to make sure that it still meets the rule criteria. If the record does, the workflow rule executes those actions.

Time-dependent actions and time triggers are complex features. As you work with time-dependent actions and time triggers, keep in mind their considerations.

If you plan on configuring workflow rules that have time-dependent actions, specify a default workflow user. Salesforce associates the default workflow user with a workflow rule if the user who initiated the rule is no longer active.

Add time Trigger

Add time Trigger

Define Time Trigger

Define Time Trigger

Time Dependent Workflow

Time Dependent Workflow

  1. Open a workflow rule.
  2. In the Time-Dependent Workflow Actions section, click Add Time Trigger.
    NoteNOTE You can’t add a time trigger if:
    • The evaluation criteria is set to Evaluate the rule when a record is: created, and any time it’s edited to subsequently meet criteria.
    • The rule is activated.
    • The rule is deactivated but has pending actions in the workflow queue.
  3. Specify the number of days or hours before or after a date that’s relevant to the record, such as the date the record was created.
    If the workflow rule is still active and valid when this time occurs, the time trigger fires the workflow action.
  4. Save your time trigger.
  5. In the section for the time trigger you created, click Add Workflow Action.
  6. Select one of the options to create an action or select an existing one.
  7. Click Done.

Activate Workflow Rule

Make sure to Active a workflow Rule before start unit testing.

To activate a workflow rule, click Activate on the workflow rule detail page. Click Deactivate to prevent a rule from triggering or if you want to edit the time-dependent actions and time triggers that are associated with the rule.

You can deactivate a workflow rule at any time. However, if you deactivate a rule that has pending actions, Salesforce completes those actions as long as the record that triggered the rule is not updated.

NOTE

  • You can’t delete a workflow rule that has pending actions in the workflow queue. Wait until pending actions are processed, or use the workflow queue to cancel the pending actions.
  • You can’t add time-dependent workflow actions to active workflow rules. Deactivate the workflow rule first, add the time-dependent workflow action, and reactivate the rule.

 

Things to Remember

  1. You can’t delete a workflow rule that has pending actions in the workflow queue. Wait until pending actions are processed, or use the workflow queue to cancel the pending actions.
  2. You can’t add time-dependent workflow actions to active workflow rules. Deactivate the workflow rule first, add the time-dependent workflow action, and reactivate the rule.
  3. TIP Whenever possible, automate your if/then statements with Process Builder instead of workflow rules.
  4. Remember you can also associate an existing action to multiple Workflow rules. Refer Associate Actions to Workflow Rules for more details
  5. Select a Default Workflow User that you want Salesforce to display with a workflow rule when the user that triggered the rule is not active.
    1. From Setup, enter Process Automation Settings in the Quick Find box, then select Process Automation Settings.
    2. For Default Workflow User, select a user.
    3. Save your changes.
  6. You cannot add time-dependent actions to the rule When you select ‘created, and every time it’s edited’ option during the workflow creation,
  7. In workflow Criteria,  You can use merge fields for directly related objects in workflow rule formulas.

 

Happy Learning. Stay home and Stay Safe 🙂

Permanent link to this article: https://www.sfdcpoint.com/salesforce/workflow-in-salesforce/

Salesforce Winter ’21 Release Notes

Salesforce Winter ’21 Release Notes

All you need to know about Salesforce Winter ’21 Release Notes

Salesforce Winter ’21 Release Notes: We understand that it is difficult and a bit time-consuming to go through the entire release so here we offer to help you learn and grow in the salesforce world by presenting the summary and my most favorite feature of Salesforce Winter’ 21 Release Notes.

Salesforce Winter 21 Release Notes

 

Dynamic Forms

Dynamic Forms is the next step in the evolution of Lightning record pages. It adds the ability to configure record detail fields and sections inside the Lightning App Builder. This feature, which is now generally available and enabled for everyone, includes some changes since the beta release.

Dynamic forms add field Salesforce Winter 21

Open an existing record page in the Lightning App Builder, then click Upgrade Now from the Record Detail properties pane to launch the Dynamic Forms migration wizard. With only a few clicks, the wizard adds fields and field sections to the page for you.

Dynamic forms upgrade now properties Salesforce Winter 21

Changes Since Beta:

  • Dynamic Forms is now on for everyone in supported editions. The ability to turn it on and off for your org from the Record Page Settings node in Setup is removed.
  • Universally required fields moved to their own section of the palette and have distinctive icons.
  • Packaging is now supported for pages that contain Dynamic Forms components (Field, Field Section).
  • Enhanced support for Dynamic Forms during edit, create, and clone.
  • Several limitations and known issues are resolved.

Scan a Barcode in a Lightning Web Component (Beta)

Use the BarcodeScanner API to add barcode scanning to your Lightning web components. Scan UPC, QR, and other standard barcode types from Lightning components running on a mobile device. Look up product details, record inventory scans, save contact details from a conference badge—your code, your way!

Scan Barcodes on a Mobile Device (Beta)

Interactively Create Engaging Email Templates

Create email templates faster and more easily with visual tools in Email Template Builder. Instead of adding HTML code, your users can drag elements to create effective email templates. They can compose email templates with a few clicks to place design elements right where they want them.

After creating a Lightning email template, users with the correct permission see the Edit in Builder button.

Lightning Email Template Edit Salesforce Winter 21

Click Edit in Builder to open Email Template Builder.

Email Template Builder annotated Salesforce Winter 21

Choose a component (1) and drag it to the canvas (2). Change the details and style of the component using the properties panel (3).

Sales Productivity ETB WIP Salesforce Winter 21

Display Survey Pages Based on Your Data

Let data in your Salesforce org determine which survey page participants view next. Use variables to define conditions in your page branching logic. Use associated record merge field variables and participant record merge field variables to define field-level conditions. Use org variables to define conditions based on your org’s information. Use custom variables to define conditions based on values that you define.

Salesforce Winter 21 survey merge field branching

Auto Add Fields to Custom Report Types

It’s time-consuming to add new custom fields to your reports, especially when you have many custom report types. Now with Auto Add, custom fields that you add to a Salesforce object are added automatically to all the custom report types based on that object. When you create a report from the custom report type, all the custom fields are right there for you to add to your report.

How: From Setup, in the Quick Find box, enter Reports and Dashboards Settings, and then select Reports and Dashboards Settings. Select Auto add new custom fields to custom report type layouts and then click Save.

You can now add new custom fields to a report built from an existing custom report type from the Fields pane in the report builder. All custom fields for the Salesforce object are automatically included in the Fields list, and you can drag any of them to the Columns list.

Salesforce Winter 21 report type auto add fields

Salesforce Anywhere

Salesforce Anywhere is the future experience of CRM — making Salesforce real time. Get alerts about changes to the Salesforce data you care about. Update your Salesforce data in just a few taps with suggested actions. Collaborate in context with chat. Search and view your Salesforce data. And integrate Salesforce Anywhere chat and alerts into your business processes with Lightning Flow and Process Builder.

Salesforce Anywhere Release Notes (Beta)

Find Changed Deals at a Glance

Opportunity deal change highlights help your sales team prioritize work by showing recent changes to amounts and close dates. For example, knowing which deals changed helps sales managers with their weekly coaching sessions. In the opportunities list view and Kanban view, text colors and arrows indicate amounts and close dates that changed during the last 7 days. And users can hover over an arrow to get details.

Salesforce Winter 21 opportunity deal motion end user

How: Opportunity deal change highlights are turned on by default, but you can turn them off (and back on) via Opportunity Settings in Setup.

Salesforce Winter 21 Find Changed Deals at a Glance

Salesforce Lightning Flow

Trigger flows to run when records are deleted. Debug flows as another user, and debug autolaunched flows right in the canvas (beta). Optimize the layout of your flow screens with sections and columns (pilot). Let Flow Builder connect and align elements for you (beta). Launch a record-triggered flow or execute a decision outcome only when the record is updated to meet your criteria. Apply custom logic to record queries and condition requirements throughout your flows.

Shorten Your Visualforce URLs

We’re removing the instance names from Visualforce and other URLs through a release update. The Stabilize URLs for Visualforce, Experience Builder, Site.com Studio, and Content Files update is enforced in Summer ’21.

Customize Components with Lightning Design System Styling Hooks

Lightning Design System Styling Hooks provide you with a set of CSS custom properties so you can customize a component’s look and feel. In Winter ’21, a limited set of CSS custom properties is available for component-level customizations.

As a beta feature, Lightning Design System Styling Hooks is a preview. It isn’t part of the “Services” under your master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available products and features. Salesforce doesn’t guarantee the general availability of this feature within any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as-is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply equally to your use of this feature. You can provide feedback and suggestions for Lightning Design System Styling Hooks in the IdeaExchange group in the Trailblazer Community.

LWC-Based Template

Build Fast, Efficient Experiences with the LWC-Based Template (Pilot)

Develop communities that load quickly and scale well using the Build Your Own (LWC) template. Based on Lightning Web Components (LWC), a programming model that delivers exceptional performance, this lightweight template supports fully custom solutions. The template, now available as a pilot, includes some changes since the previous release.

We provide the Build Your Own (LWC) template to selected customers through a pilot program that requires agreement to specific terms and conditions. To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to change, and we can’t guarantee acceptance.

Alternatively, you can access a developer preview of the template in Developer editions without signing up for the pilot program. Developer preview participants can create up to 100 sites, whereas pilot participants can create only two.

Regardless of edition, the template isn’t generally available unless or until Salesforce announces its general availability in documentation or in press releases or public statements. We can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features. You can provide feedback and suggestions for the template in the Lightning Web Runtime Communities group in the Trailblazer Community.

For all the features for Winter 21 Release Notes, please refer to the Salesforce website.

Salesforce Winter 21 Release Date

Here’s the new Winter ’21 release schedule:

  • Sandbox preview: The Sandbox Preview window for Winter ’21 begins on September 11, 2020. You must have an active sandbox on a preview instance before then to take advantage of the preview.

Salesforce Winter ’21 Release Date Schedule Calendar

For the Winter ’21 Release, we will upgrade the preview instances to Winter ’21 on September 11 and September 12, 2020, and non-preview instances to Winter ’21 on October 16 and October 17, 2020.

Salesforce Winter 21 release date calendar

Once you locate your current sandbox instance, use the chart below to determine if, when, and what action you should take on your sandbox.

Salesforce Winter 21 Sandbox instance date

For more details on the release calendar, please visit salesforce website.

Permanent link to this article: https://www.sfdcpoint.com/salesforce/salesforce-winter-21-release-notes/

Salesforce Winter 21 Release Date

Salesforce Winter 21 Release Date

Salesforce Winter 21 Release Date

Here is list of key dates for Salesforce Winter 21 Release

  • Pre-Release Org Sign Up:  August 21, 2020
  • Release Notes: August 24, 2020
  • Sandbox Preview Starts: September 11, 2020
  • Release Site: September 11, 2020
  • Release Module: September 11, 2020
  • Release Overview Deck & Feature Matrix: September 14, 2020
  • Release Readiness Live!: September 18, 2020 to September 25, 2020
  • Release Weekends: September 18, October 9, October 16
  • Global Release Webinars: October 2020
  • Release Exam Deadline on Trailhead: April 2021

Please refer to below image.

Salesforce Winter 21 Release Date Key Dates

For more details, please refer source https://trailblazers.salesforce.com/0694S000000ftoM

We will keep updating this article when we will get more information.

Permanent link to this article: https://www.sfdcpoint.com/salesforce/salesforce-winter-21-release-date/

Lightning Web Components(LWC)Tutorial

Lightning Web Components (LWC)Tutorial

Lightning Web Components-Why, What & Where to start from?

Why Lightning Web Components(LWC)?

AURA framework which was used for current Lightning Components was based on standards of 2014 but are outdated now and it was time for change because for the following reasons:

  • Rendering could be optimized.
  • Standard UI elements were scarce.
  • Lacked modern constructs.
  • Was not fit for modular apps.
  • Web standards were updated.
  • AURA Framework became skill and had its own learning curve.

Additionally, Lightning Web Components(LWC) can coexist and interoperate with Aura components.

Lightning Web Components(LWC) Time To Upgrade

What Lightning Web Components(LWC)?

LWC is a new programming model levering the recent web standards. Rather than being a totally custom and development wise rigid framework, It’s quite flexible. It’s mostly the common Web Standards and a Thin Layer of Specialized services to make it a perfect fit for Modern Rich UI Implementations in Salesforce. This thin layer of specialized services contain Base Lightning Components, Lightning Data Service and User Interface API which work behind the curtain for LWC.

Lightning Web Components(LWC) Benefits

A thin layer of specialized services on top of a standard web stack results in:

  • Ease of development for large scale modular apps. 
  • Ease of Leveraging the latest web functionalities and constructs.
  • A common model and transferable skills.
    (Any web developer working on modern JS frameworks could easily ramp-up LWC).
  • Interoperable components. 
  • Better performance.

 

So, the new development stack looks like:

Lightning Web Components(LWC) Development Stack

Where to start from?

Here are some recommended steps:

  1. Learn more about LWC from the LWC Video Gallery.
  2. Install VS Code and set it up for Salesforce Development.
    You can use ForceCode Extension for Salesforce as it supports LWC Or you can follow this trailhead module.
  3. Get easy to understand sample code for almost all use cases here.
  4. For more samples visit here.
  5. Develop a LWC yourself and try your code by running it here.
  6. Most importantly, Complete the Get Started with LWC trailmix.

 

Lightning Web Components-Component Structure

How is a Lightning Web Component(LWC) formed?

Similar to an AURA component, the main contents of a LWC are also html, javascript. There are optional content like css. But then in addition to these for LWC, an xml configuration file is also included which defines the metadata values for the component.
So, a LWC component would look like:

Lightning Web Components(LWC) Structure

Lightning Web Components(LWC) Structure VS Code

Now, lets cover a brief overview of these files one by one:

HTML

  • Has a root tag <template> which contains your component’s HTML. 
  • When renders, the <template> tag is replaced with <namespace-component-name>.

Lightning Web Components(LWC) HTML file

 

Javascript

  • Import functionality declared in a module eg-lwc(the core module), use the import statement. 
  • To allow other code to use functionality in a module, use the export statement.
  • LightningElement is custom wrapper of the standard HTML element and we extend it in the component and export.

Lightning Web Components(LWC) JS File

 

Configuration

XML file that defines the metadata configuration values for the component eg-

  • Components Label
  • Availability
  • Configuration Attributes
  • Builder Attributes

Lightning Web Components(LWC) Config file

 

CSS

  • To style a component. 
  • The style sheet is applied automatically.


Lightning Web Components(LWC) CSS File

 

So, the files that we have discussed how would the component build with these look?

Component UI

Lightning Web Components(LWC) UI

Summary

This is the best time to learn and start early with Lightning Web Components, which offer the latest web standards, delivers unprecedented performance and productivity and interoperate seamlessly with existing code.

Example of Lightning Web Components(LWC)

Here is list of some of Lightning Web Component example for developers:

Get Record Id in Lightning Web Component

lightning-record-view-form

Call Apex Methods In Lightning web components

Lightning Web Component lightning-datatable

Use Lightning Web Components in Visualforce

Modal/Popup Lightning Web Component(LWC)

Custom Labels In Lightning Web Component(LWC)

Lightning Web Component(LWC) Toast Messages

Lightning Spinner in LWC (Lightning Web Component)

lightning-record-edit-form LWC(Lightning Web Component)

lightning-record-form LWC

template if:true Conditional Rendering LWC

for:each template directives in LWC

Navigation Service in LWC(Lightning Web Components)

Wrapper Class in LWC(Lightning Web Component)

Use Static Resource In LWC(Lightning Web Component)

Decorators in Lightning Web Component(LWC)

File Upload in Lightning Web Component(lwc)

lightning-card LWC

wire Service LWC Lightning Web Component

Good luck. Happy Coding 🙂

Permanent link to this article: https://www.sfdcpoint.com/salesforce/lightning-web-components-lwc/

wire Service LWC Lightning Web Component

wire Service LWC Lightning Web Components(LWC)

@wire Service LWC

Lightning web components(LWC) use a reactive wire service, which is built on Lightning Data Service. Components use @wire in their JavaScript class to read data from one of the wire adapters in the lightning/ui*Apimodules and also to call the apex controller server-side methods using wire services. The wire service provisions an immutable stream of data to the component. Each value in the stream is a newer version of the value that precedes it.

We call the wire service reactive in part because it supports reactive variables, which are prefixed with $. If a reactive variable changes, the wire service provisions new data. We say “provisions” instead of “requests” or “fetches” because if the data exists in the client cache, a network request may not be involved. The wire service delegates control flow to the Lightning Web Components engine. Delegating control is great for read operations, but it isn’t great for create, update, and delete operations. As a developer, you want complete control over operations that change data. That’s why you perform create, update, and delete operations with a JavaScript API instead of with the wire service.

Wire Service Syntax

Import a wire adapter using named import syntax.

import { wire} from 'lwc';

Decorate a property or function with @wire and specify the wire adapter.

@wire(adapterId, adapterConfig)
propertyOrFunction;

Here is full code syntax and its detail for using wire

import { wire} from 'lwc';
@wire(adapterId, adapterConfig)
propertyOrFunction;
  • adapterId (Identifier)—The identifier of the wire adapter.
  • adapterModule (String)—The identifier of the module that contains the wire adapter function, in the format namespace/moduleName. Look at the format! To import a module in JavaScript, use lightning/ui*Api instead of lightning-ui-*-api.
  • adapterConfig (Object)—A configuration object specific to the wire adapter. Configuration object property values can be either strings or references to objects and fields imported from @salesforce/schema. Properties in the adapterConfig object can’t be undefined. If a property is undefined, the wire service doesn’t provision data. Don’t update a wire adapter configuration object property in renderedCallback() as it can result in an infinite loop.
  • propertyOrFunction—A private property or function that receives the stream of data from the wire service. If a property is decorated with @wire, the results are returned to the property’s data property or error property. If a function is decorated with @wire, the results are returned in an object with a data property and an error property.

 

Import References to Salesforce Objects and Fields

When you use a wire adapter in a lightning/ui*Api module, we strongly recommend importing references to objects and fields. Salesforce verifies that the objects and fields exist, prevents objects and fields from being deleted, and cascades any renamed objects and fields into your component’s source code. It also ensures that dependent objects and fields are included in change sets and packages. Importing references to objects and fields ensures that your code works, even when object and field names change.

If a component isn’t aware of which object it’s using, use strings instead of imported references. Use getObjectInfo to return the object’s fields. All wire adapters in the lightning/ui*Api modules respect object CRUD rules, field-level security, and sharing. If a user doesn’t have access to a field, it isn’t included in the response.

To import a reference to an object, use this syntax.

import objectName from '@salesforce/schema/object';
import objectName from '@salesforce/schema/namespace__object';

import POSITION_OBJECT from '@salesforce/schema/Position__c';
import ACCOUNT_OBJECT from '@salesforce/schema/Account';

 

To import a reference to a field, use this syntax.

import FIELD_NAME from '@salesforce/schema/object.field';

import POSITION_LEVEL_FIELD from '@salesforce/schema/Position__c.Level__c';
import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';

 

To import a reference to a field via a relationship, use this syntax. You can use relationship fields to traverse to parent objects and fields. You can specify up to three relationship fields, which results in four objects and the field being referenced. For example, Opportunity.Account.CreatedBy.LastModifiedById returns 4 levels of spanning fields.

import SPANNING_FIELD_NAME from '@salesforce/schema/object.relationship.field';

import POSITION_HIRINGMANAGER_NAME_FIELD__c from '@salesforce/schema/Position__c.HiringManager__r.Name__c';
import ACCOUNT_OWNER_NAME_FIELD from '@salesforce/schema/Account.Owner.Name';

 

This code imports the Account.Name field and uses it in a wire adapter’s configuration object.

import { LightningElement, api, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';

export default class Record extends LightningElement {
    @api recordId;
    @wire(getRecord, { recordId: '$recordId', fields: [ACCOUNT_NAME_FIELD] })
    record;
}

This code is almost identical, but it uses a string to identify the Account.Name field. This code doesn’t get the benefits that you get from importing a reference to the field.

import { LightningElement, api, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';

export default class Record extends LightningElement {
    @api recordId;
    @wire(getRecord, { recordId: '$recordId', fields: ['Account.Name'] })
    record;
}

Mark a Configuration Object Property as Dynamic and Reactive

n the wire adapter’s configuration object, prefix a value with $ to reference a property of the component instance. The $ prefix tells the wire service to treat it as a property of the class and evaluate it as this.propertyName. The property is reactive. If the property’s value changes, new data is provisioned and the component rerenders.

In this example, $recordId is dynamic and reactive.

import { LightningElement, api, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
const FIELDS = [
    'Contact.Name',
    'Contact.Title',
    'Contact.Phone',
    'Contact.Email',
];
export default class WireGetRecordDynamicContact extends LightningElement {
    @api recordId;
    @wire(getRecord, { recordId: '$recordId', fields: FIELDS })
    contact;
    get name() {
        return this.contact.data.fields.Name.value;
    }
    get title() {
        return this.contact.data.fields.Title.value;
    }
    get phone() {
        return this.contact.data.fields.Phone.value;
    }
    get email() {
        return this.contact.data.fields.Email.value;
    }
}

Decorate a Property with @wire

Wiring a property is useful when you want to consume the data or error as-is.

If the property decorated with @wire is used as an attribute in the template and its value changes, the wire service provisions the data and triggers the component to rerender. The property is private, but reactive.

This code applies @wire to the record property.

import { LightningElement, api, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
export default class Record extends LightningElement {
    @api recordId;
    @wire(getRecord, { recordId: '$recordId', fields: [ACCOUNT_NAME_FIELD] })
    record;
}

Decorate a Function with @wire

Wiring a function is useful to perform logic whenever new data is provided or when an error occurs. The wire service provisions the function an object with error and data properties, just like a wired property.

The function is invoked whenever a value is available, which can be before or after the component is connected or rendered.

wire Service LWC Example by decorating a Function with @wire

wireFunctionLWC.js

// WireFunctionLWC.js
import { LightningElement, api, track, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
export default class WireFunctionLWC extends LightningElement {
    @api recordId;
    @track record;
    @track error;
    @wire(getRecord, { recordId: '$recordId', fields: ['Account.Name'] })
    wiredAccount({ error, data }) {
        if (data) {
            this.record = data;
            this.error = undefined;
        } else if (error) {
            this.error = error;
            this.record = undefined;
        }
    }
    get name() {
        return this.record.fields.Name.value;
    }
}

wireFunctionLWC.html

template>
    <lightning-card title="Wire Function" icon-name="standard:account">
        <template if:true={record}>
            <div class="slds-m-around_medium">
                <p>{name}</p>
            </div>
        </template>
        <template if:true={error}>
            {error}
        </template>
    </lightning-card>
</template>

wireFunctionLWC.js-meta.xml

<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>48.0</apiVersion>
    <isExposed>true</isExposed>
    <targets> 
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
    </targets>
</LightningComponentBundle>

 

Now we can add this lwc component on the account detail page.

  • Go to Home page
  • Click Setup (Gear Icon) and select Edit Page.
  • Under Custom Components, find your wireFunctionLWC component and drag it on Account detail page.
  • Click Save and activate.

We will have the following output.

wire Service LWC

 

Call Apex Methods using wire

Lightning web components can import methods from Apex classes into the JavaScript classes. Once after importing the apex class method you can able call the apex methods as functions into the component by calling either via the wire service or imperatively. The Apex Method should be marked with @AuraEnabled. Before you use an Apex method, make sure that there isn’t an easier way to get the data. See whether a base Lightning component, like lightning-record-form, lightning-record-view-form, or lightning-record-edit-form works for your use case. If they don’t give you enough flexibility, use a wire adapter like getListUi or getRecordUi. And if you can’t use a wire adapter, write an Apex method.

Apex wire Import Syntax

We need to import the @salesforce/apex scoped module into JavaScript controller class.

import apexMethodName from '@salesforce/apex/Namespace.Classname.apexMethodReference';

Here is list of important point of importing apex method:

  • apexMethodName : An imported symbol that identifies the Apex method.
  • apexMethodReference : The name of the Apex method to import.
  • Classname : The name of the Apex class.
  • Namespace—The namespace of the Salesforce organization. Specify a namespace unless the organization uses the default namespace (c), in which case don’t specify it.

 

For more details refer to Call Apex Methods In Lightning web components

Most of the information in this article is copied from the official link. For more details about wire Service LWC please refer official link.

Permanent link to this article: https://www.sfdcpoint.com/salesforce/wire-service-lwc-lightning-web-component/