Posts

Getting Started with Apex

Image
What is Apex ?  Apex, a strongly typed, object-oriented programming language, empowers developers to execute flow and transaction control statements on the Salesforce servers in conjunction with calls to the API. It's a proprietary language developed by Salesforce, specifically designed to enable the creation of robust business logic within the Salesforce platform. With its syntactical similarity to Java, Apex serves as the backend code that can manipulate data in Salesforce, execute complex validation rules, and automate intricate business processes. Critical features of Apex include: Integration with Salesforce Data : Apex allows you to write complex queries and transactions against the data stored in Salesforce. Transactional Control: Operations in Apex are transactional, meaning that all DML operations can be rolled back if any error occurs during the transaction process. Governor Limits: Salesforce imposes runtime limits, known as governor limits, to ensure that runaway Apex...

Lightning Components Performance Best Practices

Optimizing the performance of Lightning components is crucial for delivering fast and responsive user experiences in Salesforce applications.  Here are some best practices to improve the performance of Lightning components: Use minified versions of libraries and style sheets Use a content delivery network (CDN) Enable browser caching Use smaller image files CDN and Browser Caching wherever possible is a given.  Cloudflare CDN was used. Akamai is another common option. this is a must-have Custom Fonts (TTF files) were used from Google in the site implementation which was surprisingly taking a long time for browsers to download and use. So we moved to standard fonts which increased the score significantly. If you absolutely need to use Custom Fonts, then there are options in the community to preload this custom font as a static resource which loads faster compared to the Google Reference\ The CSS file was heavily optimized and instead of using images, we used CSS styles for some...

Use of Safe Navigation Operator

Safe Navigation Operator Instead of using explicit, sequential checks for null references, use the safe navigation operator (?.). This new operator short-circuits expressions that attempt to operate on a null value and returns null instead of throwing a NullPointerException. NOTE: All Apex types are implicitly nullable and can hold a null value returned from the operator. Example - Account acc = [SELECT Name FROM Account WHERE Id = :accId]; if (acc != null) {     return acc.Name; } Using Safe Navigation Operator String accName = acc?.acc.Name; String accName =  [SELECT Name FROM Account WHERE Id = :accId]?.Name; The Safe Navigation Operator (?.) in Apex is a feature that allows developers to safely navigate objects and data structures, avoiding null pointer exceptions. When you use the Safe Navigation Operator to access a chain of references, Apex will evaluate the expression from left to right and return null immediately if it encounters a null reference rather tha...

Determine whether the Salesforce organization is a Sandbox or a Production

To determine if a Salesforce organization is a sandbox or a production environment in Apex. Salesforce's sObject Organization has a field called IsSandbox, which is true for sandboxes and false for Production. Boolean isSandbox = UserInfo.getIsSandbox(); Organization org = [Select Id, Name, IsSandbox from Organization]; if (org.isSandbox) {     System.debug('The organization is a sandbox.'); } else {     System.debug('The organization is a production environment.'); } You can use this check to conditionally execute logic based on whether the Apex code is running in a sandbox or production environment. This can be useful for implementing different behaviors or configurations specific to each environment. In Salesforce, the Organization object represents metadata and settings for a Salesforce organization. It provides information about the organization's configuration, such as its name, address, edition, features, limits, and more. The Organization object is rep...

Custom Notifications aka Bell Notifications from the Apex code.

Image
The Messaging.CustomNotification class allows you to create, configure, and send custom notifications using Apex code. Here is a basic outline of how you can create and send a custom notification from an Apex trigger: Create a Custom Notification Type : In the Setup, you should create a Custom Notification Type. This defines the type of notification you will be sending from Apex. Use CustomNotification Class : Once you set up your Custom Notification Type, you can craft your Apex code to create the notification. Here's an example code snippet: // Get the Id for our custom notification type CustomNotificationType notificationType = [SELECT Id, DeveloperName FROM CustomNotificationType WHERE DeveloperName='Lead_Due_Diligence_Completed']; Messaging.CustomNotification notification = new Messaging.CustomNotification();  notification.setTitle('Your Notification Title');  notification.setBody('This is the detail of the notification');  notification.setNotification...

Salesforce Experience Cloud and Salesforce Sites

Image
Salesforce Experience Cloud (formerly known as Salesforce Community Cloud) and Salesforce Sites are both platforms provided by Salesforce for external-facing applications, but they serve different purposes and have distinct features.  Setting up - Salesforce Sites Experience Cloud Here's a comparison between the two: Purpose : Salesforce Experience Cloud : This platform is designed for creating branded online communities, portals, and websites where organizations can engage with customers, partners, and employees. Experience Cloud allows you to build custom-branded sites with features like discussion forums, knowledge bases, and access to Salesforce data. Salesforce Sites: Salesforce Sites, on the other hand, is a platform for creating public-facing websites or web applications that are directly integrated with Salesforce data. Sites are typically used for customer-facing portals, self-service support sites, or custom web applications that leverage Salesforce data and functional...

Salesforce Lightning B2B Just Got Better with Subscriptions Enablement

Image
Docmation's Salesforce experts bring an innovative functionality that makes the Salesforce Lightning B2B experience 10x better. Salesforce Lightning B2B, with its Apps, Lightning components, and industry process flows, allowed its users to get an industry-wide experience in a solution that was still tailored around their individual use case. However, there were still gaps that needed to be filled. Customers wanted to integrate their CPQ and Billing with B2B Lightning while leveraging existing pricing rules and engines to automate the processes.  For instance – What about recurring purchases? Most customer carts have, at least part of an order that belongs to the said category – be it weekly, monthly, quarterly, or annually. However, no such direct processes currently exist within the system.  Docmation’s team of Salesforce experts has launched the all-new ‘subscriptions accelerators’ functionality that works out-of-the-box to seamlessly automate CPQ and Billing processes with ...