Questions tagged [bestpractice]

Referring to the use of recognized community and platform best practices. May relate to all areas of lifecycle and all development and administration activities.

Filter by
Sorted by
Tagged with
0
votes
0answers
5 views

Service Cloud Automation

I have been having real trouble managing Automation in my org. I am the sole admin, with 20 users, around 5-10 are dedicated users managing around 3000 cases per month. Almost all come from Email To ...
2
votes
1answer
21 views

What is the correct way to return validation errors from a lightning Apex controller?

What is the correct approach to return validation errors from lightning controller? Suppose we have an aura method that takes some parameters. We need to validate these parameters in order to make ...
10
votes
4answers
741 views

Should trigger handlers be static or non-static?

For a generic trigger, are there circumstances where one of the following patterns is better than the other? trigger ObjectTrigger on Object (after event) { ObjectTriggerHandler oth = new ...
0
votes
2answers
37 views

Benefit of actually excluding records with logic directly in Trigger vs. TriggerHandler

Is there any performance benefit of excluding records in logic directly in the trigger to avoid instantiating another class (TriggerHandler) that would essentially do the same thing? I know best ...
4
votes
1answer
163 views

LWC best Practice to call parent and child component

My question is bit difficult to explain but still I tried my best to explain it in the below playground Playground In my LWC project I have 3 step process and I divided it into 3 lwc pages parent ...
0
votes
3answers
83 views

Clean code way to process a list of objects

Let’s say you have a list of Accounts and you want to populate their birthday with the same date. However, you also want this method to be reusable. What is the best way to do this in APEX? So far ...
3
votes
1answer
71 views

How to avoid hardcoding of page name in lightning:navigation?

I need to generate a page URL and use it a link to my page. Users can click on that link and go to the page. controller getPageUrl: function (component) { const navService = component.find(...
3
votes
1answer
132 views

Normalizing Boolean values in LWC

Looking at LWC e-bikes sample gallery, I found these comments in code regaring normalizing values. Can someone refer to what they have meant or how to do this normalization using best practices? ...
5
votes
0answers
83 views

LWC Event Best Practices Question

I'm confused about what documentation says about event best practices. CustomEvent.detail To communicate data to elements in the same shadow tree, don’t add myProperty into event.detail. The ...
1
vote
1answer
137 views

LWC & Aura Coding Standards

I want to ask if somewhere I can find best practices how to develop in LWC and Aura? Salesforce has prepare that kind of document for Apex: https://developer.salesforce.com/page/...
0
votes
1answer
25 views

Identifying Inactive Contacts

My question is not about how to deal with inactive contacts, but it is about how to identify inactive contacts. Our Org has 300k Contacts, about 50% of these are obsolete. I have created a check ...
0
votes
0answers
19 views

Best practice for controlling record access based on User's Country

The requirement: All Users in South Africa should only be able to edit Accounts (parent) where Country = "South Africa". They should also be able to edit all Projects (child) and Project Roles (...
1
vote
2answers
51 views

Best Practice: dependency on data model names [closed]

BACKGROUND I need to display some data from another system on a lightning component. Let's say I get a JSON string from the external system as following: { "initialStatus": "Active", "name": "...
6
votes
2answers
454 views

lwc dataservice architecture best practices

While developing lwc components and lightning apps I always run into this design dilemma: When I have two children components that uses the same set of source data but in different forms what is the ...
4
votes
1answer
80 views

Whitelisting Salesforce IP In External Systems

I want to integrate with an external system. They need to whitelist my IP for permission to use their services. I looked at this post: https://help.salesforce.com/articleView?id=000321501&type=1&...
3
votes
0answers
44 views

Is usage of console.log/console.error in production code considered as bad/good practice?

Well I've seen a lot of code examples provided by Salesforce. In one blog post - Error Handling Best Practices for Lightning and Apex - they are using console.error to report errors on ui. They also ...
2
votes
2answers
70 views

with and without sharing with innerclass

I'm working on a project that needs to change a lot of data that the user shouldn't see in the backoffice. So I'm wondering if I should put my entire class "without sharing". For now I'm creating a "...
1
vote
1answer
58 views

Best practice for a query inside a batch and Mapping

I'm working on a batch which getting a params from another batch in the finish method. The Params are : A Map - Map<Sobject,Set<String>> A Set - Set<String> I lost the values of ...
3
votes
3answers
251 views

Batch - Sending data from one batch to another

I having a little issue to understand the concept of passing params via batches. I have two batches which I would like to send data between them. Batch A creates a Map<sObject,Set<String>&...
2
votes
1answer
42 views

Get component value directly

This is a general question aimed at finding best approach to do some task. Now I interested in how should I get values from inputs in lightning components. Let's say I have a component: Example.cmp &...
3
votes
1answer
147 views

How should I schedule multiple job of the same class?

I need to have a job that runs every 15 minutes. I checked out the documentation for Apex Scheduler and I came up with two solutions: 1-st: ScheduledJob job = new ScheduledJob(); System.schedule('...
1
vote
0answers
34 views

Bulk Job Status - Failed vs Not Processed?

What are the use cases for setting a Bulk (version 1) job to a status of Failed vs Not Processed? Salesforce documentation gives the same description for both The batch failed to process the full ...
8
votes
1answer
256 views

Most efficient way to switch on SObjectType?

It is a bit odd we can't evaluate a switch statement directly on SObjectType, so I am trying to determine conclusively which workaround is the most efficient. Just to verify, I tried to compile this ...
2
votes
1answer
78 views

Enterprise Patterns for Consuming non-trivial REST services in Apex [closed]

Communication from Apex with huge REST Apis feels cumbersome to me as there is so much repetitive work involved with building Apex Objects that function as callout request params or responses. This ...
0
votes
0answers
39 views

best practice to find the duplicate contact using apex trigger (not using duplicate rules)

I am using the below handler class in contact trigger to find the duplicate contacts, it checks only the lastName now if I want to check more than 2 or 3 filed then the only option I have is to create ...
1
vote
2answers
104 views

Using String Object or Field Names instead of literals. Using object prefixes

Is there any benefit of getting sobject type using Schema.getGlobalDescribe().get('Lead'); instead of Lead.sObjectType; Also what is the benefit of using 3 char prefixes of known IDs like Id ...
1
vote
0answers
42 views

Validate inputs on server side

BACKGROUND I am working on a lightning component which is a simple form that takes from, to emails and a message body as user input and passes this data to an apex controller. Apex Controller ...
3
votes
3answers
94 views

Array notation for List<List<Sobject>>

In an attempt to be as byte pinching as possible(personal goal), I have a question some time on Google has not been able to answer. I did look at some Java documentation to try and resolve the issue ...
0
votes
1answer
126 views

Best approach for handling preventing Parent trigger when updated from multiple child objects

I need some suggestions in improving the 'prevent trigger' logic. I have parent 'Lead' object and couple of child objects. I have Trigger Helpers on each of these objects. When these child object ...
2
votes
1answer
62 views

Validating Apex method parameters

Is it a good practice to validate method parameters in Apex methods? In C# and Java you generally validate against nulls and throw argument exceptions to prevent usage errors. I don't seem to see that ...
2
votes
2answers
534 views

Hosting images in SFMC - is it a good idea?

In my company, we store all the images we use in our emails in a separate FTP server; an FTP we know that can handle the load. But since SFMC has the functionality of hosting images itself; that ...
0
votes
1answer
46 views

Dynamic client side Search for Accounts in VF page

I need to make a search input - which every character that printed on the keyboard will show the closest result. for example : If I printed "uni" all accounts that they names starting with "uni" ...
3
votes
1answer
76 views

Combining similar code with different objects

I have 4 very similar code blocks in a trigger that deal with synchronizing record type changes from Opportunity to its children. The only difference between them is that they do work on different ...
2
votes
1answer
132 views

Best way to save a API integration password

I am building an integration between Salesforce and other application with REST API calls. The Salesforce will be consuming data from that other app on in interval. I am writing my code and it is ...
3
votes
2answers
422 views

What is the best practice to store custom configuration for a managed package application?

We are working on an application in managed package, and we need to store app configuration. Generally, we want to allow users to turn on/off some features in our app. For example, on the settings ...
0
votes
2answers
66 views

Email Marketing: sending ID in email

This is a 'best practice' question: Should we be sending a Salesforce GUID in an email? We have a button in an email to ask them for consent (to a thing). That button links to a VF Page or a ...
3
votes
1answer
65 views

False matches in a SQL query activity

I am trying to automate updates to the All Subscribers list whenever the preferred e-mail in Salesforce changes. I created a SQL query activity that compares our Salesforce data extension to the e-...
2
votes
1answer
62 views

Workflow or Process Builder?

I'm creating a scenario where upon a Queue change: The resolution (text area) is updated with "XYZ text" The Staff member (ticket owner) is changed to "XYZ user" Those are technically 2 field ...
1
vote
2answers
346 views

A/B Testing in Marketing Cloud - what does the “Remainder” get sent?

When doing A/B testing in Marketing Cloud, the options here are to send a certain percentage to Email A, a certain percentage to Email B, then the "Remainder". My question is "what exactly does the ...
14
votes
4answers
2k views

Lightning Framework vs Standard Client Side Frameworks (i.e. React) // Which to chose when, and why?

Disclaimer Keep it objective! This one can get a little opinionated, please try to keep your answer specific to the facts a developer should be considering when choosing between two viable options ...
1
vote
1answer
146 views

Restricting Access to All Subscribers

For compliance reasons, we need to restrict our user's access to All Subscribers but still allow them the ability to look up activity and engagement information for specific contacts. We use the multi ...
2
votes
2answers
215 views

Test a schedulable class with callout by directly invoking `execute`

I have a Schedulable class. My execute method has a future callout in it, and running it by using System.schedule doesn't run that callout: Test.startTest(); MySchedulableClass msc = new ...
1
vote
1answer
113 views

Reply to two addresses?

I've been asked to research solutions to a scenario where when a subscriber replies to an email it goes to the sender an additional 3rd party, without the subscriber having to "reply-all". My plan to ...
1
vote
2answers
114 views

How to properly decouple database layer from service layer in Apex?

I came to Salesforce from the world of Java and have been working with Apex and Salesforce for a year now. I am constantly trying to implement Java (and OOP in general) programming practices in my ...
0
votes
1answer
109 views

Mass Update Records - AWS S3

Currently, I utilize an AWS endpoint that returns a small JSON response based on my request. I am considering updating all of my records (300,000+) daily. My AWS counterparts can generate a JSON ...
0
votes
2answers
742 views

Best Practice to schedule a Batch

I am looking to find a best practice/framework to implement a schedulable batch. I don't know if create an Apex Class that implements Schedulable and Batchable interfaces is the correct way or create ...
10
votes
2answers
859 views

@testSetup vs DataFactory?

When testing, how/when will @TestSetup annotation be preferable to a "DataFactory"? I understand how both works, but I don't see any case where I'd rather use the @testSetup annotation. I use this ...
2
votes
2answers
133 views

What kinds of locks are used on Data Extensions and Sending?

Can someone explain how Marketing Cloud locks data in Data Extensions during certain routine operations? Case A: An email begins sending and midway through, a SQL Query gets ran which overwrites the ...
2
votes
0answers
42 views

Apex sharing insert

We are now investigating some performance issues for the client and trying to speed up their processes. One of the time consuming parts is apex sharing that we have there. I am pretty sure that some ...
2
votes
2answers
401 views

What is the best approach to organize utility/helper methods in controller?

I have several controllers. In each controller class I defined the same set of helper methods: private void info(String msg) { ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO, ...