Tip # 24: Password issue in ANT

I was using ANT Migration tool to deploy the components(e.g. Layouts, classes etc) from my machine to Sandbox last week. But, for some reason, though I have given the correct user name and password in build.properties file, it was giving me authentication error(Invalid username, password, security token; or user locked out).  I tried the same user name and password to log into Salesforce Sandbox using browser, I could login into it successfully. This looked very strange to me and then I found out the issue:

my password had two $ signs and for some reason, ANT was not able to recognise them. After, I changed the password by excluding the $ signs, it worked.

I thought of sharing this as it would help someone who face this issue since I had to spend about an hour to figure out the issue.

 

Advertisements

Salesforce Certified Platform Developer I

Recently, I cleared my Salesforce Platform Dev I exam and following are the tips from my side to clear the exam:

  1. If you have access to a Premier Online Training catalogue or Partner Training catalogue, you can go through the Cert Prep video from Salesforce and it will definitely be a very good starting point and will brush up your skills on the topics given in the exam guide . Link for the video – Certification Preparation for Platform Developer I
  2. Go through the questions given in SfdcStudy , Propofs and  Salesforcesteps
  3. Please note that some of the answers for the questions given in the above links might not be correct hence double check by googling or post them in comments section and I will try to answer them.

P.S: I found this link from the net today and I believe that it could be useful too https://quizlet.com/133435950/flashcards

Tip# 23 – Why this error message System.QueryException: Non-selective query against large object type?

Recently, in the project that I am working on, we have received this error in our apex code and this error occurs when querying large objects using SOQL (particularly for queries inside triggers). In our case, SOQL is inside the TriggerHandler which is called by the trigger.

Developers receive this error message when a non-selective query in a trigger executes against an object that contains more than 200,000 records. To avoid this error, ensure that the query is selective.

The performance of a SOQL will depend on the presence of a selective filter(in WHERE Clause). If a SOQL query contains at least 1 selective filter, the query is said to be selective. If the SOQL query doesn’t contain a selective filter, the query is said to be un-selective and will require a full table scan.

How to determine if the query is selective?

  • A query is selective when one of the query filters is on an indexed field and the query filter reduces the resulting number of rows below a system-defined threshold.
  • The selectivity threshold is 10% of the first million records and less than 5% of the records after the first million records, up to a maximum of 333,333 records.

Example:

  1. SELECT Id FROM Account WHERE Id IN (<list of account IDs>)

Since the filter is on the ID field which is a standard and Primary Key field, it will have an index created at the DB. If SELECT COUNT() FROM Account WHERE Id IN (<list of account IDs>)returns fewer records than the selectivity threshold, the index on Id is used. This index is typically used when the list of IDs contains only a few records.

2. SELECT Id FROM Account WHERE Name != ”

Since Account is a large object even though Name is indexed (primary key), this filter returns most of the records, making the query non-selective.

3. SELECT Id FROM Account WHERE Name != ” AND CustomField__c = ‘ValueA’
Here we have to see if each filter, when considered individually, is selective. As we saw in the previous example, the first filter isn’t selective. So, let’s focus on the second one. If the count of records returned by SELECT COUNT() FROM Account WHERE CustomField__c = ‘ValueA’ is lower than the selectivity threshold, and CustomField__c is indexed, the query is selective.

For more information:

https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_SOQL_VLSQ.htm

https://help.salesforce.com/articleView?id=000002493&type=1

Also, there are lot of links in stack exchange which discusses this issue and you can refer them as needed: https://salesforce.stackexchange.com/search?q=Non-selective+query

 

 

Salesforce Certified Administrator – Summer ’17 Release Exam

1 of 5. Which two features best describe the new Lightning-optimized Log a Call
action?
Choose 2 answers
A. Autolink the Call Log to the Case
B. Autolink the Audit Log to the Case
C. Autopopulate the Case Contact
D. Autopopulate the Case Team

Ans: A & C

2 of 5. How can an administrator allow users to choose different views of a
dashboard in Lightning Experience?
A. Dashboard filters
B. Dashboard designer
C. Report filters
D. Report creator

Ans: A

3 of 5. Where are the files and related records attached when a sales user converts a lead?
A. Contact, account, person account, opportunity records
B. Contact, account, opportunity, quote records
C. Contact, account, opportunity records
D. Contact, account, person account records

Ans: A

4 of 5. What action can be taken in Lightning, if you receive an approval request
that someone else should approve?
A. Delete the associated record
B. Change Approval Entry Criteria
C. Edit Approval Process Manager
D. Re-assign the approval request

Ans: D

5 of 5. Which two Chatter Groups will show a seen-by count of people who viewed the post, in the Lightning Experience?

Choose 2 answers
A. Restricted
B. Private
C. Unlisted
D. Public

Ans: B & C

Salesforce Certified Platform App Builder – Transition Exam

Hi All,

I have cleared my Salesforce Certified Platform App Builder – Transition Exam (SP17) today and here are the tips from my side to clear the exam:

  1. Go through the training resources given in “SECTION 4. RECOMMENDED TRAINING AND REFERENCES” in the exam guide available at https://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjjtYTppPnUAhXFx7wKHdhqCMQQFggoMAA&url=http%3A%2F%2Fcertification.salesforce.com%2FSG_CertifiedPlatformAppBuilderTransition.pdf&usg=AFQjCNGl2oWzGI-d9lbhQZlCfiFBZtmGFw
  2. Go through the questions given in https://www.proprofs.com/quiz-school/story.php?title=transition-app-builder. You may have doubts in answers for some of the questions, you can post them here and I will give my answer accordingly.
  3. Also, go through “Platform App Builder – Full Question Set” as given in http://sfdcstudy.org/platform-app-builder-quizzes/

I got almost 90% of the questions in my exam from the above links, so this would suffice mostly, unless you are not lucky:)

Please let me know for any questions.

Debugging flow trigger error

Tags

,

Yesterday morning, one of the batch in my company failed with the following error and I had to debug:

The record couldn’t be saved because it failed to trigger a flow.
A flow trigger failed to execute the flow with version ID 200L0000000DApf”

I knew that we do not have any Visual flows hence it should be one of the processes in the process builder failed, but how do I find out the name of the process which has failed?

One of the easiest option is to take the version ID as mentioned above(200L0000000DApf) and go to https://workbench.developerforce.com->Info > Metadata Types & Components.  Click ‘Expand All’ and Search for the ID(200L0000000DApf). You will know the name of the process which has failed and if you want to know in which step it has failed, obviously put a debug log and simulate the scenario to get the error. Then, you can check the log for more information.

Let me know for any questions. Thanks!

Tip# 22 – Rowsperpage

Tags

Many of us would know this tip, but I thought of sharing it as it will be useful for someone who does not know about it.

Suppose you want to add a field “Available To” from the Product object on to the changeset, so you would click on Add button, select Custom field in the drop down and click on A. Then you would click on next page and select the field “Available To” .

Instead, you can click on more records per list page and go to end of the address to look for “rowsperpage”:

Rowsperpage

Change it to lets say 2000 and click on enter, in this way, you don’t need to navigate to next page to select the field:

Rowsperpage-LATER

Let me know for any questions.

 

Tip#21 – ColumnCopy

Apologies, have been busy with work and personal stuff hence could not write posts for a long time and I am back:)

Suppose you want to copy all the fields in an object and put them on to excel, you can use the following chrome extension:

https://chrome.google.com/webstore/detail/columncopy/lapbbfoohlcmlbdaakldmmallcbcbpjb?hl=en

Example:

Suppose, you want to copy all the custom fields from Order object, you can follow the below steps to do so:

  1. Go to Setup -> Orders -> Fields
  2. Navigate to see Order Custom Fields & Relationships section
  3. Right click and select Copy entire table from ColumnCopy option. It will highlight the table that is getting copied, once you select this option.

Columncopy

4. Then open excel and paste

Excel

Hope this tip will be useful!

P.S: you have an option to only the column too by selecting Copy this column option.

 

Issue: Duplicate (blank) versions are created when deploying a Flow with Change Set

Tags

I tried deploying the flow to Production org using Change Set and the flow was modified in my Sandbox Org. After deployment, Salesforce created 2 versions of the flow in Production org and one was blank. When I searched in google, I found out that this is one of the known issue. Here are the details and you can subscribe to this link, if this issue affects you so that you will be notified by Salesforce when the issue is resolved. Thanks!