Posts

Salesforce Dev Hub

Image
Salesforce Dev Hub is a feature that enables organizations to manage multiple Salesforce environments and streamline the development lifecycle for building and deploying Salesforce applications. It provides a centralized hub for managing Salesforce development projects, environments, and resources. Salesforce Dev Hub provides a centralized platform for managing Salesforce development projects, environments, and resources, empowering organizations to adopt modern development practices, enhance collaboration, and accelerate the delivery of high-quality Salesforce applications. Select and Enable a Dev Hub Org Set Up Your Salesforce DX Environment Enable Dev Hub2 to: Create and manage scratch orgs from the command line Scratch orgs are disposable Salesforce orgs that are used to support development and testing. They are fully configurable, allowing developers to emulate different Salesforce editions with different features and preferences. View information about your scratch orgs Informati...

Salesforce EntityDefinition

Image
EntityDefinition Provides row-based access to metadata about standard and custom objects. EntityDefinition Note EntityDefinition fields are exposed in SOAP API version 45.0 and later. You can use Tooling API to query for EntityDefinition fields in guest user mode in API version 44.0 and earlier. In API version 45.0 and later, use SOAP API to get this data in guest user mode. EntityDefinition is still exposed in Tooling API to User Profiles with the ViewSetup permission.

Salesforce EntityParticle

Image
Entity Particle  Represents each element of a field that can be presented in a user interface. Contrast EntityParticle with FieldDefinition, which represents each element of a field defined in the Metadata API. EntityParticle has parity with describe, which returns API-accessible fields only for an entity. EntityParticle Let's say there is a requirement to fetch all picklist fields along their label, API Name. SOQL query using Entity Particle  SELECT EntityParticle.DeveloperName, Label, Value, IsActive, EntityParticle.IsDependentPicklist, EntityParticle.FieldDefinition.ControllingFieldDefinition.DeveloperName FROM  PicklistValueInfo  WHERE EntityParticle.EntityDefinition.QualifiedApiName = 'Case'  AND EntityParticle.IsDependentPicklist = TRUE  ORDER BY EntityParticleId, Label Results Retrieve all the fields of the 'Phone' data type

Salesforce EntityLimit

Image
EntityLimit EntityLimit is used to retrieve Limits displayed in the Setup UI for an object. EntityLimit Considerations SOQL Limitations SOSL Limitations Here's an example to retrieve the limits of an Object

@TestVisible Annotation in Apex

In Salesforce, the @TestVisible annotation makes private or protected variables and methods visible in test classes. This annotation allows you to access and manipulate these elements for testing purposes without changing their access modifiers, thereby maintaining encapsulation and security in production code while enabling thorough testing. Here is an example  public class MyClass {     // Private member variable     @TestVisible private Integer myPrivateVariable = 09; } @isTest  private class TestVisibleClassTest {     @isTest static void testExample() {         // Access private variable annotated with TestVisible         Integer i = MyClass. myPrivateVariable;         System.assertEquals(09, i);     }  } Here are the key points about the @TestVisible annotation: Visibility : @TestVisible makes private or protected variables, properties, and methods visible in test...

@testSetup annotation in Apex

In Salesforce, the @ testSetup annotation is used in Apex tests to create test data that can be reused across multiple test methods within the same test class. This annotation is especially useful for making common test data required for various test methods, reducing redundancy, and improving test efficiency. Here's an example of how you can use the @ testSetup method in Salesforce: @isTest private class MyTestClass {          // Define test data setup method     @testSetup     static void setupTestData() {         // Create test records         Account acc = new Account(Name='Test Account');         insert acc;                  Contact con = new Contact(LastName='Test Contact', AccountId=acc.Id);         insert con;                  // You can create more test records as ...

Dynamically Calling JavaScript Functions

Dynamically invoking JavaScript functions enhances code flexibility and efficiency. By dynamically calling JavaScript functions, we can create more flexible and efficient applications that adapt to various scenarios. Dynamic Functionality : Dynamically calling JavaScript functions allows your code to adapt to different scenarios and conditions at runtime. This flexibility lets you execute functions based on user interactions, system events, or data-driven logic. Code Reusability : By dynamically invoking JavaScript functions, you can reuse standard functions across multiple components or modules within your application. This promotes code modularity, reduces duplication, and leads to cleaner and more maintainable code. Conditional Logic: Dynamically invoking functions allows you to apply conditional logic to determine which functions to execute based on specific conditions or criteria. This enables you to build more intelligent and adaptive applications that respond dynamically to cha...