Entries by sfgeneral (301)


Lightning Inspector Updates

The latest release of the Salesforce Lightning Inspector came out on December 28th, 2016. I'm excited about this one. I use this to physically see every Lightning page and component that make up a Lightning app. This is crucial from a debugging standpoint as well as performance tuning.

You can drill in for example and see all the initiated actions and results. With this latest version you can see information about Lightning components on ANY page that lightning is detected. Previosuly we were a bit more limited in that the Lightning Inspector only ran on pages with a particular URL pattern.


Download/Install from the Chrome Store. 

After you install in Chrome and hit F12 to load a new "Lightning" tab in the dev tools. In a simple example below you can see for example how many total components were loaded.


Change Default Record Type on Salesforce Create

I was working with an organization the other day where I helped them installed and setup the Salesforce Non-Profit Starter pack. This autmatically creates record types for the Organization and Househould. One of the users came back (the person I was training as an admin) and asked if we could change the default record type. This is a fairly simple process so I thought I would show it below.


Setting the default record type is done at the profile level. Navigate to the following:

Setup > Manage Users > Profiles > (Select a profile like Standard User) > Object Settings > Accounts

Here is a sample of what you might see

In our case I changed to Household account as the default. The nice thing about having it at the User Profile > Object level is you can set it to different things based on the type of user. In this organizations case they have different users that create partner organizations than those who enter household accounts. It's easy to default to different record types for each of those users in this fashion.

Now when a new Organization (Account) is created it defaults to Household Account for the Standard User profile we just modified.



Asynchronous Apex on Trailhead

This is one of the best charts or cheatsheets I've seen to show scenarios in which to use


How do I change who gets Apex Error Emails?

I got this question a few times at Dreamforce this year so I thought I would quickly cover it. If you don't want all the System Administrators to see this or would just prefer a specific user(s) get the details there is now an easy way to do this.

Go to Setup and run a quick search for "Apex Exception Email"

Quick Search for "Apex Exception Email"

In the expanded section click on "Apex Exception Email"

From here you can choose either a Salesforce user or users and/or to a non-Salesforce user email.



Simplified API limits with Winter '17

One of the headaches for ISVs and even internal developers was efficiently keeping tracking of the current API limits on the ORG. About a year ago Salesforce started to return these limits as part of the SOAP headers so that you could get a real-time count. The problem was that you had to burn API to get the latest count.

I'm excited to see in the pre-release notes for Winter '17 that Salesforce has simplified this. It used to be that for Enterprise Edition, Unlimited Edition, Performance Edition, and Professional Edition with API access enabled, the old calculation was based on your number of licenses and the license types, with a guaranteed minimum of 15,000 calls per 24-hour period. Salesforce has now changed this and set the minimum to 15,000 calls per 24-hour period. 

To me this is a huge help - especially for smaller orgs that only have under 3-10 licenses. I'm very excited to get this rolled out and think it's a step in the right direction. 




Salesforce Record Size

As a general rule of thumb - regardless of whether you have 10 fields on an object or 80, Salesforce allocates and estimates 2k for more records. This is all about both performance, governor limits and your storage limits. To learn more check out KB 000193871

Below is a breakdown


Leads -- 2KB
Contacts -- 2KB
Accounts -- 2KB
Person Accounts - 4KB
Opportunities -- 2KB
Tasks -- 2KB
Forecasts -- 2KB
Events -- 2KB
Cases -- 2KB
Case Team Member – 2KB
Solutions -- 2KB
Notes -- 2KB
Custom Reports -- 2KB
Tags: unique tags – 2KB
Campaigns - 8KB
Campaign Members – 1KB
Contracts – 2KB
Google Docs – 2KB
Quotes – 2KB
Custom Objects – 2KB
Quote Template Rich Text Data - 2KB
Articles - 4KB


Person Accounts - You need to keep in mind that with Person Accounts there is an account record and a hidden Contact record associated with it and that is why it is double that of a lead or an account.

Email Messages - This is primarily up to the content size and is a 1 to 1 ratio. 100kb of content takes up 100kb of data storage space.

Note when testing - I really encourage my friends (and anyone who will listen) to take the time and add a few hundred fields to leads, contacts and accounts and make sure you test your code against it. Obviously the more fields you bring back in a SOQL query the more memory and CPU time you are going to use but the point is you want to be prepared for that down the road. 




Local Timezones Now in Debug Logs

One of the things that I've been advocating for the last few years is to show my actual time zone in the debug logs. When you're trying to solve a problem and really honed in it, it is a pain to constantly translate back and forth to GMT. I am super excited and have been the heck out of the new enhancement so my hat goes off to the Salesforce dev team. LOVE IT. If you look at page 345 of the Summer 16' Release notes PDF you'll the same image below. 


Mapping Fields for Lead Converstion

A lot of valuable information can be captured on a lead and in most cases I see it is just lost. People just simply forget to go map the fields over to Contact/Account and finding the place to do this is not super obvious either. Using the latest release Summer 16' we'll show you below a quick reminder on how to map your lead fields in Salesforce to the proper fields on the Contact and Account objects so that the data is not lost.

Step 1)

Go to Setup-->Customize-->Lead-->Fields

Salesforce Lead Conversion Field Mapping Step 1 

Step 2)

Click on the Lead Field Mappping Button in the section between the standard Salesforce Lead fields and the Custom Lead Fields

Salesforce Convert Map Lead Fields


 Step 3)

Map the various Salesforce Lead fields to the fields on the Salesforce Contact and Account objects. During the SalesforceLead converstion these values will then transfer to those fields on the object of choice.

Salesforce lead to contact and account field mappingUpon Saving, you'll get a confirmation and all future Salesforce lead conversations should follow this pattern.


10 Principles of Apex Testing (by Salesforce)

I actually just watched this the other day for the first time when thinking of topics for the Dallas Salesforce Developers User Group or as we just say #sfdug.

I highly recommend this one to those getting started or just trying to brush up on skills.

Like it or not, testing your Apex code is a requirement for deployment. Often it seems developers are frustrated with testing because it seems like a platform imposed chore, rather than a useful software development tool. Apex developers can harness testing as a way of improving software quality.

Find it here:

You'll find both the webinar format and the slides.