+ Start a Discussion
Sean OldroydSean Oldroyd 
Our sandboxes updated to Version: Summer '18 Patch 3.5 on 5/5/18.  Since the update an existing validation rule is causing failures when updating the record that the rule is associated with.  The rule fires on an encrypted field and is throwing a Invalid (null).  A previous known issue I found here is similar but it says it is fixed (https://success.salesforce.com/issues_view?id=a1p30000000jaT3AAI&title=validation-rule-occurring-with-invalid-null-when-org-has-encryption-enabled).  I also tried the work around in the known issue, however the rule still throws the error.
Best Answer chosen by Sean Oldroyd
Raphael FonrougeRaphael Fonrouge
We reproduced the same issue on custom objects.
The workaround (https://success.salesforce.com/issues_view?id=a1p30000000jaT3AAI&title=validation-rule-occurring-with-invalid-null-when-org-has-encryption-enabled) proposed by Salesforce (set the debug filters for 'Validation' to 'None') works when running Apex tests from the the developper console or when activating debug logs for a user. The remaining problem is that I don't know how to define these filters when running tests from my dev IDE...
Shiva RajendranShiva Rajendran 
The salesforce if it involves too much coding ,then i noticed lot of complexities in the code whenever the salesforce updates some of its featues, i would like to know why would someone go for hardcore customization in salesforce instead of choosing  java and heroku? In this case ,their are quite a lot of advantages like
1: no limits as in salesforce
2: licenses are cheap so if the user count is high , it will profitable in the long run
3: No need to have dependency on the existing functionality which may mess with the functionality required.( i have personally been through this, where an existing functionality completely complicated the custom development required)
4: And also need not concern the code breaking because of any standard functionality changes in salesforce ( i have been through this when creating the dynamic thread id in salesforce ,it crashes at some time and no guarante will it work later)

Do share your thoughts to it.

Thanks and Regards,
Shiva RV
Best Answer chosen by Shiva Rajendran
Paul Fayle 9Paul Fayle 9
My thoughts are - different horses for different courses.
  • Force.com using the base level licences (e.g. Employee Apps Starter for internal, and maybe Customer Community for external) is what I call a Platform as a Service + (PaaS+). Note the +. As opposed to Service Cloud (a SaaS). With basic Force.com you get limited use of an object model, and most importantly a whole bunch of declarative frameworks to accelerate an application build (most importantly the whole access control model - a major advanatage of the platform, and very complex if you has to build it yourself). But if you aren't making use of an authenticated paradigm, and you don't need to really leverage the Salesforce data model it makes less sense... if it is mainly a website for the general public - high traffic and low contextual data interaction then maybe not...
  • Heroku is a PaaS - giving you the tools to quickly develop your own applications or sites. Key word "develop". Sure - there are some accelerators here, but not like Force.com - and not declarative in nature. It can work brilliantly for a public/end-consumer overlay to a Force.com framework (internal app and community) - e.g. in a eCommerce paradigm for instance.
  • The assumption that Heroku is a cheaper option than Force.com is not necessarily valid (you need to assess Total Cost of Ownership - and this should take into account development costs, upgrade and maintenance considerations, etc.). It really depends on whether tha value you get from Force.com is enough to offset the cost differential in licences (because arguably the build effort would normally be more in Heroku - depending on what you are delivering).
  • In terms of code breaking - typically if you follow best practices this should never be the case (I have never seen upgrades break build in Force.com except in one instance where there were multiple triggers on a single object and they were processed in a different order post upgrade... you shouldn't have multiple triggers on a single object - so that was the real issue).
Kate Lo 14Kate Lo 14 
Hi all,
I'm stuck on the last step of the "Build a Data Model for a Recruiting App" project (Create Custom Recruiting Fields).
I'm fairly sure I've followed the steps correctly, but I get the error:

Challenge Not yet complete... here's what's wrong: 
The field 'Leadership_Skills__c' either does not exist on the Review__c object or it is not of type Picklist.

However it definitely exist as a pick list - see screen shot.

What have I missed? Thanks very much...

Review custom object showing Fields and Relationships

Best Answer chosen by Kate Lo 14
Kiranmayee RKiranmayee R
Hi @
Kate Lo 14

Can you check the Field Level Security on 'Leadership_Skills__c' field and make sure the visible is checked for 'System Admin'  profile.I think that might be the reason why the system is not able to see that field.
sfdc learner007sfdc learner007 
User-added image

i want display lightning:helpText along with lable of lighting:input field.
    <lightning:helptext content="Your Name will be your login name" />
	<lightning:input label="Name" name="myname" required="true"/>

Thanks in advance
Best Answer chosen by sfdc learner007
Hi here is workaround :
add custom label for input field and hide standard component lable using CSS
    <label class="slds-form-element__label" for="text-input-id-1">
      <abbr class="slds-required" title="required">*</abbr> 
    <lightning:helptext content="Your Name will be your login name" />
	<lightning:input class="hideLabel" label="Name" name="myname" required="true"/>
.THIS.hideLabel label{
User-added image

Hope it will helps you,

Shri RajShri Raj 
Hello All,

I will try to frame my question in short.

End Goal : REST API Integration from Salesforce to a InHouse Lead Management System(LMS2)

SUCCESS Through Chrome APP
1.  All i need to do is retrieve values from LMS2. When i tried to use the Chrome APP 'Advanced Rest Client' and have passed the appropriate URL and Content in XML/TEST format in the form of POST methoed I was able to retrieve the values from LMS2 database.
For EG : If i pass 92126 then i was able to get 'SAN DIEGO' which is correct.

Here is the link (https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo?hl=en-US)for Advanced REST Client.

PROBLEM from Salesforce :

2) When i created this REST class in SAlesforce and tried invoking the End Point then its throwing this error.

System.HttpResponse[Status=Service Unavailable, StatusCode=503]

public with sharing class LmsRestApiIntegration {

@future(callout = true)
public static void invokeRestAPI(){
String URL = 'http://pasquote-bfapp.tent.trt.ccc.pri/QuickQuoteWebSvc/QQWebSvc.asmx';
String xmlContent = '';
xmlContent = '<?xml version="1.0" encoding="utf-8"?>';
xmlContent = xmlContent + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';
xmlContent = xmlContent + '<soap:Body>';
xmlContent = xmlContent + '<GetCityListFromZip xmlns="http://www.ccc.com/irv/quickquote/auto/2006/10/01">';
xmlContent = xmlContent + '<zipcode>92126</zipcode></GetCityListFromZip>';
xmlContent = xmlContent + '</GetCityListFromZip>';
xmlContent = xmlContent + ' </soap:Body>';
xmlContent = xmlContent + '</soap:Envelope>';
Http h = new Http();
HttpRequest req = new HttpRequest();
req.setHeader('content-length', '0');
req.setHeader('SoapAction', 'http://www.ccc.com//irv/quickquote/auto/2006/10/01/GetCityListFromZip');
String response = '' ;
HttpResponse res = h.send(req);
response = res.getBody();

System.debug('Response :'+response);


Please guide.

Thank You
Best Answer chosen by Shri Raj
James LoghryJames Loghry
You would have to talk to your network engineers and have them whitelist a range of Salesforce IP ranges for you.  See the following document: http://help.salesforce.com/apex/HTViewSolution?id=000003652&language=en_US (http://help.salesforce.com/apex/HTViewSolution?id=000003652&language=en_US)
iyappan kandasamy 4iyappan kandasamy 4 
Actually this is my apex class for addition of 2 numbers 
public class Addition         //define class
  public integer a=5;        //define variables
  public integer b=4;
  public integer c;

  public integer add()               //define function or method
  system.debug('the result is '+c);
        return c;
}// end of class

My Test class
public class Additiontest
    static testmethod void testadd()
     integer a=5;
     integer b=7;
     integer c=12;

and when executing the test class it is showing as pass...

Please need help on this....thanks
Best Answer chosen by iyappan kandasamy 4
SFDC Dev 2269SFDC Dev 2269
Hey @iyappan kandasamy 4,
Test class is used to test your functionality(class you have writter), and in order to test your functionality you need to invoke the Addition class and its methods.
In your test class you have just added the two integers. you need to invoke your class as below in your test class
public class Additiontest
	static testmethod void testadd()
		Addition addObj = new Addition();
		Integer result = addObj.add();
		System.assertEquals(9,result); // As value of a and b in Addition class are 5,4 the expected value is 9

Refer: https://developer.salesforce.com/page/An_Introduction_to_Apex_Code_Test_Methods
Ashok S 7Ashok S 7 
Hai guys,
The repeater must use the <li> HTML list tag
The repeater must use the apex:outputLink component to link to the respective record detail page
HINT: Record detail pages can be reached by placing a record ID at the root of the URL (e.g. '/<record id>').
how can i achieve it.
my vf page code is
<apex:page standardController="Account" recordSetVar="accounts">
  <apex:form >
  <apex:repeat value="{!accounts}" var="a">
 <li> <apex:outputLink value="/apex/AccountList?id=00128000005LpU9">
can any one help me
Best Answer chosen by Ashok S 7
William TranWilliam Tran
Here you go, clicking the name should take you to the apex AccountList page.

<apex:page standardController="Account" recordSetVar="accounts">
        <apex:repeat var="a" value="{!accounts}">
                <apex:outputLink value="/apex/AccountList?id={!a.id}" >





I have created a managed-b eta package in my DE.  I have uploaded it to Appexchange, but it is not publicly available - I simply have a link to install it.  I installed my app into another DE.  If I need to make updates to field definitions or code in the app (which would be done in the original DE), how do I get those updates into my second DE, which has all the data uploaded into it?  I don't want to lose the data recs.



Best Answer chosen by Admin (Salesforce Developers) 
Ulas KutukUlas Kutuk

First you have to upload a new version from your original DE, than you can copy the link which sent you once uploaded and you can just paste where your Second developer already opened.



In the following code sample...


<apex:selectRadio value="{!CustomObject__c.CustomField__c}" >

  <apex:selectOption itemValue="true" itemLabel="Yes" />

  <apex:selectOption itemValue="false" itemLabel="No" />



The second item "No" is selected by default. I want the first item "Yes" to be the one that is, by default, the selected item.



Best Answer chosen by Admin (Salesforce Developers) 

Using controller you can have any radio button default selected .

Below example, I have made 'CANADA' country as default selected.

/*** Controller ***/
public class sampleCon {
String country = 'CANADA';

public PageReference test() {
return null;
public List<SelectOption> getItems() {
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('US','US'));
options.add(new SelectOption('CANADA','Canada'));
options.add(new SelectOption('MEXICO','Mexico')); return options;
public String getCountry() {
return country;
public void setCountry(String country) { this.country = country; }

<!-- Page: -->
<apex:page controller="sampleCon">
<apex:form >
<apex:selectRadio value="{!country}">
<apex:selectOptions value="{!items}"/>
<apex:commandButton value="Test" action="{!test}" rerender="out" status="status"/>
<apex:outputPanel id="out">
<apex:actionstatus id="status" startText="testing...">
<apex:facet name="stop">
<apex:outputPanel >
<p>You have selected:</p>
<apex:outputText value="{!country}"/>


Hope above example helps you.



Mia NyforsMia Nyfors 
The task for this challenge is following:

Setup a Dashboard with Reports
Create a dashboard named Sales Focus and add the reports you set up earlier in this module.
Add a component based on the Upgrades (Last Month) report as a gauge component.
Add a component based on the Key Accounts report as a horizontal bar chart component.

The problem is that I don't have the report "Upgrades (Last Month)" that is referred to in the text. I have completed all previous units in the module and even all modules before this one in the trail "Optimize Sales Features for Lightning Experience" so if this report was part of an earlier challenge I should have completed it in my trailhead playground. 

Is anybody else experiencing the same problem? Or if you have the report do you remember in what unit/module it was a challenge? Very grateful for your help!
Best Answer chosen by Mia Nyfors
SandhyaSandhya (Salesforce Developers) 

It is in the same challenge in the second unit "Modify Reports for Other Audiences" under heading Permanently Modify Closed Business YTD
Hope this helps you!

If this helps you, please mark it as solved.

Thanks and Regards