Saturday, January 1, 2022

Platform Developer I Certification Maintenance (Winter '22)



Platform Developer 1 Certification Maintenance Winter 22


Platform Developer I Certification Maintenance (Winter '22)



→ Get Ready for the Hands-on Challenge

In the hands-on challenge below, you’ll have an opportunity to work with the new Custom Metadata getInstance method to replace SOQL.
Launch the org you’ll use for the hands-on challenge, then follow below steps:
Create a Custom Metadata Type.

Step: 1
Find 'Custom Metadata Types' in 'Quick find' box and select the same option.
Click the 'New Custom Metadata Type' button.

Step: 2
As mentioned in trailhead challenge, enter 'Label' and 'Plural Label' values, leave all options as it is,
    • Label: Country Code
    • Plural Label: Country Codes
And click 'Save' button.

Step: 3
Click 'New' button in 'Custom Fields' section for creating new field in custom metadata.

Step: 4
Select 'Text' data type and click 'Next' button.

Step: 5
As mentioned in trailhead challenge, enter 'Field Label' and 'Length' values,
    • Field Label: Country Code
    • Length: 3
And click 'Next' button.

Step: 6
Leave all options as it is and click 'Save' button.

Step: 7
Now, click on 'Manage Country Codes' button for creating new record for custom metadata.

Step: 8
Click 'New' button.

Step: 9
As mentioned in trailhead challenge, enter 'Label' and 'Country Code' values,
    • Label: Canada
    • Country Code: CAN
And click 'Save' button.

Step: 10
After saving the record, it will look like below screenshot.

Step: 11
Now, as mentioned in trailhead challenge, we need to create one apex class.

To open the Developer Console from Salesforce Classic:

  1. Click Your Name.
  2. Click Developer Console.

To open the Developer Console from Lightning Experience:

  1. Click the quick access menu (Setup gear icon).
  2. Click Developer Console.
Follow below steps in developer console
~ File > New > Apex Class

Step: 12
As mentioned in trailhead challenge, enter 'Apex Class' name and click 'OK' button.
Class Name: CountryCodeHelper

Step: 13
Copy below mentioned code and paste in developer console and 'save' this apex class.

CountryCodeHelper code:
public class CountryCodeHelper {
	public static string getCountryCode(String country) {
		Country_Code__mdt countryCode = Country_Code__mdt.getInstance(country);
		return countryCode.Country_Code__c;
	}
}

Note: To keep your certification, complete the Platform Developer 1 Certification Maintenance (Winter '22) Module by Dec 7, 2022.

Friday, May 7, 2021

Administrator Certification Maintenance (Spring '21)





Administrator Certification Maintenance (Spring '21)




Maintain Your Administrator Certification for Spring '21


Remember to create a new Trailhead Playground for the hands-on steps and challenges in this module.

Note: Yes, we really mean a brand-new Trailhead playground! If you use an existing org or playground, you can run into problems completing the challenges.

For completing this challenge, please follow below steps:

Step: 1

Launch your Trailhead Playground by scrolling to the bottom of this page and clicking Launch. If you see a tab in your org labeled Install a Package, great. Follow the steps below. 

  1. Click the Install a Package tab.
  2. Paste 04t4x000000lxVE into the field.
  3. Click Install.
  4. Select Install for Admins Only.
  5. Add a check to the I acknowledge that I’m installing a Non-Salesforce Application checkbox, then click Install.
    Note: Get the "This package can't be installed" error? 
    1. Click on the Astro icon in the upper right corner and select Settings.
    2. Click Language & Time Zone in the My Personal Information section. 
    3. Adjust the Locale to English (United States)
    4. Click Save
    5. Return to the Playground Starter app and install the Managed Package.
  6. When your package is finished installing, you see a confirmation page and get an email to the address associated with your playground. Click Done.

Step: 2
Search and select 'Laptop_Warranty' from the App Launcher.

Step: 3
Change the List View to 'All Records' and select the 'Keith Jones' record. 

Step: 4
From the Keith Jones record, click 'Gear' icon and select 'Edit Page' option.

Step: 5
Click below Owner name in the canvas to select the 'Details' component and click 'Upgrade Now' in the Record Detail to upgrade to Dynamic Forms.

Step: 6
Click 'Next' button.


Step: 7
Select the radio button next to 'Laptop_Warranty Layout' and click 'Finish' button.

Step: 8
Drag and drop the 'Owner' field to first column.

Step: 9
With the Information section in the Details tab selected, change the format to '1 column'
Drag and drop 'Active Warranty' field to above the 'Support Level' field.

Step: 10
Select 'Support Level' field and click 'Add Filter' in the details panel on the right. 

Step: 11
Click 'Advanced', Click Select under Field, Select 'Record' then 'Active Warranty' field,
- Ensure Operator has the 'Equal' value selected, Change the Value selected to 'True' and Click 'Done'.

Step: 12
Select 'Expiration Date' field and click 'Add Filter' in the details panel on the right. 

Step: 13
Click Select under Field, Select 'Active Warranty' field,
- Ensure Operator has the 'Equal' value selected, Change the Value selected to 'True' and Click 'Done'.
And 'Save' button.

Step: 14
Click 'Activate' button.

Step: 15
Click 'Assign as Org Default' button.

Step: 16
Select 'Desktop and phone' radio button and click 'Next' button.

Step: 17
Click 'Save' button.

Step: 18
Last, click 'Save' button.
Click the back arrow to leave the Lightning App Builder.


Wednesday, February 3, 2021

Marketing Cloud Administrator Certification Maintenance (Winter ‘21)





Marketing Cloud Administrator Certification Maintenance (Winter ‘21)




Maintain Your Marketing Cloud Administrator Certification for Winter '21

1. What should be enabled on an account to help prevent unauthorized access even if a user’s credentials are compromised?
A. Parameter Manager
B. Sender authentication package
C. Reputation monitor
D. Multi-factor authentication

2. Where can an admin create new Marketing Cloud users?
A. Setup Home page
B. Password Management
C. Account Settings
D. Alert Manager

3. Where should fallback addresses be verified?
A. Account Settings
B. From Address Management
C. Parameter Manager
D. Data Management

4. What setting in Setup provides admins notifications for email send and triggered send errors?
A. Alert Manager
B. Subscription Details
C. BrandBuilder
D. Account Settings 

5. Where in Setup should an admin go to manage public SSH keys for Marketing Cloud SFTP users?
A. Alert Manager
B. KeyBuilder
C. Security Settings
D. Key Management

6. What should an admin use to resolve conflicts between Google Analytics and Web Analytics Connector (WAC)?
A. AMPscript
B. Alert Manager
C. Parameter Manager
D. Multi-factor authentication

7. Where in Setup should an admin request secure domains?
A. Data Management
B. Custom Domains
C. Feature Settings
D. Security Settings

Friday, January 29, 2021

Platform App Builder Certification Maintenance (Winter '21)





Platform Platform App Builder Certification Maintenance (Winter '21)




Learn what’s new for App Builders in Winter '21

1. Where should an app builder go to analyze performance on a Lightning record page?
A. Lightning App Manager
B. Lightning Object Manager
C. Lightning App Launcher
D. Lightning App Builder

2. What field is updated when deploying sharing settings simultaneously?
A. sharingCriteriaRules
B. sharingModel
C. criteriaItems
D. ownerRules

3. What should an app builder use to build a collection of records for three different custom objects?
A. Use a reusable screen component
B. Create a custom component
C. Clone a screen component
D. Use a loop component

4. An app builder received feedback that a custom page layout has too many fields on it, and some fields are only needed if other fields are entered. What should an app builder configure to help with this issue?
A. Dependent picklists
B. Lightning web components
C. Dynamic Forms
D. Separate page layouts and record types 

5. What type of flow is available for an app builder to debug as another user?
A. Invocable Process
B. Screen Flow
C. Platform Event
D. Record Change Process

→ Get Hands-on With Flow Before-Save Trigger When Certain Record Changes are Made


Prework: Before you begin, we strongly recommend creating a new Trailhead Playground. To do this, scroll to the bottom of this page, click the section next to Launch, and select Create Playground. It typically takes 3–4 minutes for Salesforce to create your Trailhead Playground.
Note: Yes, we really mean a brand-new Trailhead playground! If you use an existing org or playground, you can run into problems completing the challenge.
For completing this challenge, please follow below steps:
Step: 1
Create a new custom field on the 'Account' object.
  • Field Label: Onboarding Status
  • Type: Picklist
  • Values: Not Started, In Process, Complete

Step: 2 
Click 'Setup' button, search 'Flows' in Quick find/search box and select the 'Flows' option.

Step: 3
Click 'New Flow' button.

Step: 4
Select 'Record-Triggered Flow' option and click 'Next' button.


Step: 5
Select 'Freeform' option.


Step: 6
Click 'Edit' button in start section as mentioned in below screenshot.


Step: 7
Select 'A record is created or updated' & 'Before the record is saved' options and click 'Done' button.


Step: 8
Click 'Choose object' button.


Step: 9
Find 'Accounts' object name in 'search object' box and select the same.


Step: 10
As mentioned in challenge, enter the field, operator and it's value.
  • Field: Onboarding Status
  • Operator: Equals
  • Value: Complete
Select 'Only when a record is updated to meet the condition requirements' option.
And click 'Done' button.


Step: 11
Now, drag and drop the 'Assignment' element on blank canvas.


Step: 12
As mentioned in challenge, enter label, variable, operator and it's value.
  • Label: New Assignment
  • Variable: {!$Record.Active__c}
  • Operator: Equals
  • Value: Yes
And click 'Done' button.


Step: 13
Now, create the connection between start and assignment element.
And then click 'Save' button.


Step: 14
As mentioned in challenge, enter the flow label.
  • Flow Name: Onboarding
And click 'Save' button.


Step: 15
Last, click 'Activate' button.



Wednesday, December 30, 2020

Platform Developer I Certification Maintenance (Winter '21)





Platform Developer I Certification Maintenance (Winter '21)




→ Learn What’s New in Apex for Platform Developers

1. How can a suspended event be resumed where it left off, to avoid missing any events that were published during the suspension?
A. Refresh the event.
B. Resume the event.
C. Resume the event from New.
D. Resume the event from Tip.

2. Which statement is true regarding events configured with the Publish Immediately behavior?
A. Publish Immediately events count toward the Apex DML statement limit.
B. EventBus.publish() returns how many platform events are configured to Publish Immediately.
C. The events are published and do not depend on the successful completion of the transaction.
D. Events published immediately prevent Apex callouts from being performed after publishing.

3. What is the minimum code coverage requirement in order to promote and release an unlocked package?
A. 70%
B. 75%
C. 85%
D. 90%

4. When using WITH SECURITY_ENFORCED in a SELECT clause, what happens if a field referenced in the clause is inaccessible to the user?
A. The query succeeds, but no data is returned.
B. The query succeeds, and a null data set is returned.
C. The query fails with an error indicating no access allowed.
D. The query throws an exception indicating insufficient permissions and no data is returned.

5. A developer wants to send a custom notification when an important event occurs. What can the developer use?
A. Messaging.CustomNotification class
B. Messaging.PushNotification class
C. Messaging.NotificationAction class
D. Messaging.SendNotification class

→ Learn What’s New in Lightning Web Components and Visualforce

1. A developer wants to check whether a user has a standard permission. Where should the developer import Salesforce permissions from in order to check this?
A. @salesforce/hasPermission
B. @salesforce/customPermission
C. @salesforce/userPermission
D. @salesforce/customPermission/namespace

2. When does Salesforce plan to enforce the removal of instance names from all Visualforce URLs?
A. Spring ’18
B. Summer ’21
C. Spring ’22
D. Summer ’22

3. What is a current use case for incorporating the @track decorator in a field of a Lightning web component?
A. To make a field reactive
B. To display the updated field value if it changes
C. To observe changes when the field contains an array
D. To re-render a component when a field’s value changes

4. What is the default behavior of the Lightning message service scope parameter?
A. Active area only
B. Entire application
C. Publisher message channel
D. Active area and all hidden tabs

→ Get Hands-on With Field- and Object-Level Security and Safe Navigation Operator


Launch the org you’ll use for the hands-on challenge, then do the following.

• Create a new custom field on the Contact object to establish a field that contains sensitive and confidential data.
  ○ Field Label: Top Secret
  ○ Type: Text
  ○ Field Name: Top_Secret
  ○ Length: 255

• Uncheck the Visible box for the Standard User profile when defining field-level security.

That’s it for setup. You’ll use the code block below for an Apex class to complete the hands-on challenge.

ApexSecurityRest code block:
@RestResource(urlMapping='/apexSecurityRest')
global with sharing class ApexSecurityRest {
    @HttpGet
    global static Contact doGet(){
        Id recordId = RestContext.request.params.get('id');
        Contact result;
        if (recordId == null){
            throw new FunctionalException('Id parameter is required');
        }
        List<Contact> results = [SELECT id, Name, Title, Top_Secret__c, Account.Name FROM Contact WHERE Id = :recordId];
       SObjectAccessDecision securityDecision = Security.stripInaccessible(AccessType.READABLE ,results);             
       if (!results.isEmpty()) {
       result = results[0];
            if(Schema.sObjectType.Contact.fields.Description.isUpdateable()){
                 result.Description = result.Account?.Name;
            }
	}
    return result;
    }
    public class FunctionalException extends Exception{}
    public class SecurityException extends Exception{}
}