Skip to main content

Posts

Showing posts from July, 2019

Key Take Away : Sequencing Load Operations

Here some highlight after I have done reading on Extreme Force.com Data Loading, Part 4: Sequencing Load Operations Configuring Your Organization for the Data Load 1) To consider enable the parallel recalculation and defer sharing calculation features To enable this feature contact Salesforce Support 2) Create Role Hierarchy 3) Load users, assigning them to appropriate roles 4) Configure Public Read/Write organization-wide sharing defaults on the objects you plan to load. Note : some org may have so much data that changing sharing rules from Public to Private takes very long time, therefore just load the data with sharing model that you will use in Production. Preparing to Load Data 1) Ensure clean data especially foreign key relationship, note that parallel loads switchs to single execution mode, slowing down the load considerably. 2) Suspend events that fire on insert 3) Perform advance testing to tune batch size for throughput.For both the Bulk API a

Tips and Tricks : Approving Approval Process in Test Class

Snippet of test class that replicate how to approve record in Approval Process.d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 //Step 1: let say you a test data that you want to be approved MyCustomObject__c bid =[ select Id from MyCustomObject__c Where Name =: strName ]; //Step 2: Create an approval request for the bid Approval . ProcessSubmitRequest req = new Approval . ProcessSubmitRequest (); req . setComments ( ' Submitting request for approval via form ' ); req . setObjectId ( bid . Id ); //Step 3: Submit on behalf of a specific submitter req . setSubmitterId ( UserInfo . getUserId ()); //Step 4: Submit the record to specific process and skip the criteria evaluation req . setProcessDefinitionNameOrId ( ' Qualification_Approval ' ); req . setSkipEntryCriteria ( true ); //Step 5: Submit the approval r

Tips and Tricks : How to hide other feature in Chatter Feed in Visualforce page WITHOUT using JQuery ?

Business Requirement To only enable Post features in Chatter Feed in Visualforce. Other features such as Poll, Upload File etc should be invisible to user  so that user only able to Post in Chatter Feed. This is just to give idea that you can hide some of standard css element using style css with !IMPORTANT tag if it 's still not update as you want to or you can hide it using javascript during onload. Example to hide some standard elements using style . 1 2 3 4 5 6 7 8 /**code to hide file upload in chatter comment section **/ .cxcontentcommentactiontext { display:none; } .cxcontentcommentactionimg { display:none; } Example to hide some of element in Chatter Feed using Javascript 1 2 3 4 5 6 7 window .onload = function () { //this is to hide File upload and any feature except post in Chatter feed. const chatterList = document .querySelectorAll( '.publisherFeedItemTypeChoices li' ); chatterList[ 1 ].style.display = 'none' ; chatte

Tips and Tricks : Test class for Invocable method

Issue : I got 100% coverage in my sandbox but when run validation for deployment it returns 0% coverage It turn out that in my sandbox, I am depending on Process Builder to Invocable Apex class, as long I manipulate test data that fire Process Builder it will call Invocable class. This is not useful when deploying it to Production although it gets deployed together with Process Builder. The correct way is to direct call Invocable method inside test class itself. Example of class : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 global class MyCustomObject_StatusUpdate_Util { @InvocableMethod ( label = ' Update Quote Status ' ) public static void updateQuote ( Request [] requests ) { Set < Id > setOppId = new Set < Id >(); List < SBQQ__Quote__c > listQuoteToUpdate = new List < SBQQ__Quote__c >(); for ( Request request : requests ) {