Configuration in Salesforce
Salesforce configuration is the process that is performed within the CRM system. This means you can add a new field to your Salesforce that uses a formula or a specific rule to achieve business outcomes… user-defined values will permit a certain module or feature to function. When that is done, you use built-in tools, features, tools, and components to create the best business strategy to increase your revenue, ROI, and sales productivity. This means enabling custom functions that can be used by other functions to initiate business operations.
Salesforce Customization
Salesforce customization refers to adding new features or functionality unavailable or not accessible in the default application environment. It involves development of code and external tools to develop functions that meet your business’ needs.
What is the difference between configuration and customization?
A customization is a feature, extension, or modification that requires custom coding and/or some form of special implementation. A configuration is when you use native tools in the system to change its behavior or features.
Both Salesforce Customization and Salesforce configuration are both super important for your implementation to succeed.
Configuration Items to Doublecheck
Profiles (Salesforce Configuration)
- The number of profiles in the org should be less. You can use permission sets if one profile has a few more permissions than other existing profile.
- Delete unused custom profiles.
- APIs should not be enabled for profiles unless this is necessary for security reasons.
- Information in the “About Me” section is searchable and makes you more visible to others.
Roles (Salesforce Configuration)
- Ensure to keep your role hierarchy simple. If you have one role per user and some roles without users, there could be a design issue.
Validation Rules (Salesforce Configuration)
- Validation rules should not be created directly in the production org.
- Don’t create too many rules.
- Don’t use hardcoded IDs in the Validation rules.
- Testing the predefined validation rules is of the utmost importance.
- When adding a Validation Rule, migrate existing records that don’t match this rule.
- Specify the error message at the field location instead of at the top of the page.
- Remove inactive Validation Rules.
- You can make fields mandatory either via a page layout or a validation rule. If you want a field always to be needed, it is done according to the page layout. However, if you want to create fields that meet specific criteria, use validation rules.
Process Builder (Salesforce Configuration)
- Create a single process builder for one object.
- Create reusable action and processes: Create common actions such as email send action, updates record action, etc., in such a manner so that it can be reused in multiple processes. You can do this by making an invocable process.
- Use case testing: There can be several use cases where one action can affect other parts of the org. Therefore, it is advisable to thoroughly test the process and involved fields before deploying in production to avoid conflicts with other processes.
- All processes must be pre-created in a test environment.
- Don’t update the field if the current value is correct.
- We recommend that you follow appropriate naming conventions and add descriptions if necessary when creating a process builder to identify functionality and process categories quickly.
Email Template (Salesforce Configuration)
- Use tables to organize your email templates.
- Use nested tables with specified cell widths.
- Create your designs around 600 pixels wide.
- Some major email clients don’t support CSS in emails, including text formatting styles by default.
- Alt tags display text when no images are loaded.
- Determine the correct image size. Enter the height and width of all images.
- Use absolute URLs for all your links.
- Avoid using background images.
DML (Salesforce Configuration)
- Use DML for a list of records instead of 1 DML per record (group).
- 1 APEX class runs only 100 DML statements.
- 1 DML can process 10,000 data at the same time.
- Don’t run DML inside of loops.
Triggers (Salesforce Configuration)
- There should only be one trigger per object.
- Expand your code: Bulkifying Apex code means to ensure that the code correctly handles multiple records at once.
- Create context-specific manipulator methods in the trigger manipulator.
- Avoid Hardcoding IDs.
- Use a consistent naming convention, including the object name.
- Avoid complex logic in triggers.
- Avoid Nested For loops as much as possible. You can use the map to avoid that.
Test Classes (Salesforce Configuration)
- @isTest should be used before starting a test class if the class version is more than 25.
- To define the test method, you can use the keyword “@isTest” or “testMethod” for the method.
- Use Test. startest() to reset Governor limits in Test methods.
- Always test the Batch Capabilities of your code by passing 20 to 100 records.
- Create multiple testMethods in a test class instead of one big method.
- Avoid using seealldata=true in test classes to avoid conflict with real production data.
- Always validate () in test methods.
- Use the @ testSetup method to reduce execution time and improve support
- Test the limits (bulk)
- Use test.startTest() after data preparation and test.stopTest() before asserts.
- Always perform test-driven development as it is a more productive development.
- Your code coverage should be above 75%.
Static Resources (Salesforce Configuration)
- Optimize image compression and size.
- Always use the appropriate file format.
- Always use the description field to indicate where the created resource will be used.
- Do not host credentials (security risk).
Custom Labels (Salesforce Configuration)
- Use uppercase letters.
- Don’t use duplicate labels with the same value.
- Try to keep the overall length of the label name short.