Tag: Apex Programming

  • How To Use Custom Labels In Apex Class In Salesforce in 2024?

    How To Use Custom Labels In Apex Class In Salesforce in 2024?

    Salesforce is a powerful platform for customer relationship management (CRM) and enterprise applications. Among its many features, Salesforce allows developers to create customized experiences using Apex, its proprietary programming language. One essential aspect of this customization is the use of custom labels. Custom labels enable developers to create multilingual applications by defining text values that can be translated into different languages. This blog will guide you through the process of using custom labels in Apex classes in Salesforce, from creation to implementation.

    What are Custom Labels?

    Custom labels in Salesforce are text values that can be accessed from Apex classes, Visualforce pages, or Lightning components. They are ideal for defining user-facing text that might need to be translated or updated without modifying the codebase. Examples include button labels, error messages, and help text.

    Benefits of Using Custom Labels

    1. Localization: Custom labels can be translated into multiple languages, making your application accessible to a global audience.
    2. Maintainability: Changes to text can be made in one place (the custom label) without needing to modify the code.
    3. Consistency: Ensures uniformity of text across different parts of your application.

    dont miss out iconDon’t forget to check out: Top New Features in Spring’24 Release: Sales Cloud in Lightning

    Step-by-Step Guide to Using Custom Labels in Apex

    1. Creating Custom Labels

    Before you can use a custom label in Apex, you need to create it. Here’s how:

    1. Navigate to Custom Labels

      • Go to Setup in Salesforce.
      • Enter Custom Labels in the Quick Find box and select it.
    2. Create a New Label

      • Click on the New Custom Label button.
      • Fill in the required fields:
        • Label: The name of the label.
        • Name: The unique name used in the code (auto-filled based on the Label).
        • Value: The text you want to display.
        • Language: The language of the label.
      • Click Save.

    2. Accessing Custom Labels in Apex

    Once you have created your custom labels, you can access them in your Apex classes using the System.Label class. Here’s the syntax:

    String labelValue = System.Label.LabelName;
    • LabelName is the API name of your custom label.

    3. Example Usage in an Apex Class

    Let’s say you created a custom label named Welcome_Message with the value “Welcome to our application!”. Here’s how you can use it in an Apex class:

    public class WelcomeController {
         public String getWelcomeMessage() {
              return System.Label.Welcome_Message;
         }
    }

    In this example, the getWelcomeMessage method returns the value of the Welcome_Message custom label. This can be called from Visualforce pages or Lightning components to display the welcome message.

    4. Using Custom Labels in SOQL Queries

    Custom labels can also be dynamically constructed and used in SOQL queries. This is particularly useful when building queries based on user input or other dynamic conditions.

    public class AccountController {
         public List<Account> getAccounts() {
              String query = 'SELECT Name FROM Account WHERE Industry = \'' + System.Label.Industry_Label + '\'';
              return Database.query(query);
         }
    }

    5. Best Practices

    • Naming Conventions: Use meaningful names for your labels to make them easily identifiable.
    • Avoid Hardcoding: Always use custom labels for text that is displayed to users to facilitate easy updates and localization.
    • Documentation: Document the purpose of each custom label within the label’s description field for future reference.
    • Bulk Retrieval: If you need to retrieve multiple labels, consider bulk retrieval methods to optimize performance.

    dont miss out iconCheck out another amazing blog here: 5 Features in Salesforce’s Winter ’24 Release for the Experience Cloud

    Conclusion

    Custom labels are a powerful feature in Salesforce that enhance the maintainability, localization, and consistency of your applications. By following the steps outlined above, you can easily create and use custom labels in your Apex classes, ensuring your Salesforce applications are both user-friendly and adaptable to different languages and regions. Embrace the power of custom labels to build scalable and global solutions on the Salesforce platform.

  • All You Need to Know About Apex Programming

    All You Need to Know About Apex Programming

    Apex Programming

    Apex is the object-oriented programming language used by the Salesforce platform. It enables developers to execute transactions and control statements on servers associated with Salesforce. Apex syntax is very similar to that of Java.

    Features of Apex Programming

    • Case insensitive  
    • Perform DML operations 
    • Use can use SOQL (salesforce object query language) and SOSL (salesforce object search language)  
    • Easy To Use  
    • Easy To Test  
    • Integrated  
    • Strongly Typed  

    dont miss out iconDon’t forget to check out: Send Survey Email On Case Closure on Case without using Trigger and Apex Class

    Application of Apex

    • Apex makes it simple for developers to build integrated websites.
    • Applications created with Apex are simple to create and use.
    • Developers can easily create and use applications using Apex. They can also develop applications that require complex business logic and are not supported by workflows.
    • Email accounts can be added by developers to the web application.
    • Applications developed using Apex use transactional logic, where the entire transaction is recorded as a single unit of work, rather than individual entries being recorded separately. This ensures data integrity and consistency in the database and allows for easy rollbacks in case of errors or failures during the transaction.
    • Through the apex, developers can easily update records.

    Advantages of Apex

    • Salesforce offers all the facilities, so there’s no need to buy the infrastructure or engage an IT person
    • Efficient in terms of cost because purchasing a monthly subscription to Salesforce is far less expensive than the cost of application maintenance and software license.
    • Salesforce offers comprehensive Authentication and Authorization to end users to access the application securely.
    • The Salesforce.com platform makes it simple for developers to create new apps because they may leverage already-existing ones or modify them to suit their needs.
    • Offers a multi-tenant, on-demand platform. Additionally, with the permission of Apex’s developers, third-party SaaS applications may access the Salesforce.com backend database.

    Check out another amazing blog by Arpit here: Salesforce Relationships in 2023

    Disadvantages of Apex

    • Unlike some other programming languages, developers are not able to create threads in Apex.   
    • The default functionality cannot be changed by a developer. It can only stop functionality from being added to the code or from replacing existing functionality.  
    • Temporary file creation is not possible in Apex 
    • Because all apex queries return many records from the database, developers should keep in mind that the application they are building should be able to handle numerous records (update, insert).   
    • Apex cannot display elements on the user interface by itself. 
  • Salesforce Apex to Flow – For Starters with a Very Simple Example

    Salesforce Apex to Flow – For Starters with a Very Simple Example

    APEX Code Into Flow

    We have many times heard, implemented and worked with Flows. There are many sites and videos available which would give you an explanation of what flow is and how we can use it. Every site and video is worth your time if you have the zeal to learn, understand and excel.

    So, you might now have a question, Why I am mentioning flows when there are many sites available!? Fair enough to have the question. I am here to just give my input on flows and how I tried to learn it in the first place before reaching any websites and videos.

    I hope you would find this informative!

    First and foremost, this content best suits those who have basic programming knowledge. I am not saying you must be a super coder or an experienced developer, What I mean is you can read and understand the APEX code. That’s all it would take to understand anything and everything further.

    Remember all of you I am also a beginner! So, let’s dive in!

    Flows:

    We have got many definitions for flows, isn’t it? Don’t worry I am not going to pull out all the definitions available all over the internet. So, how do I define flows?

    In layman’s language “Flow is one of the feature/Applications made available in Salesforce which allows us to automate certain simple or complex actions or operations without writing any sort of code”

    Simple isn’t it!? Exactly! You use your mouse or cursor, click/type in the labels / API / Resource names, select the fields /conditions/ etc.… as per your requirement, connect them as per logic and boom … you reach your solution. Remember we are just beginners with flows – so here we would want to learn slowly and go forward towards complexity. How are we going to do this: we would deconstruct Apex and construct Flow.

    But then the question arises why are APEX, LWC and Aura when flows are there? Again, fair enough! But we will come to it later, maybe in this content or maybe later…First let’s understand why we would prefer Flows instead of APEX via a simple example, which would give you the confidence to create and play with the flows at your own pace. All you need is to analyse your requirement accurately.

    Before we see the example, just remember we need to understand the types of flows and the elements available:

    Salesforce provides 2 Types of Flows

    1. Screen Flows
    2. Auto-Launched Flows

    Auto-Launched flows are further categorized into 4 types:

    1. Record Triggered Flows
    2. Auto-Launched Flow (No Trigger)
    3. Scheduled Triggered Flow
    4. Platform Event Message Triggered Flows

    Let’s quickly see what these types of flows mean.

    1. Screen Flows:

    provides User Interface, that supplies the input to the flow at runtime.

    i.e., It requires the User Input.

    Based on the Input provided by the user, it performs the operations.

    1. Auto-Launched Flows:

    Fire automatically based on the specified events.

    i.e., It doesn’t require any input from the end user.

    The operations are performed in the background.

    2.1. Record Triggered Flows:

    These Flows can fire Automatically based on the DML Operations on the Salesforce Object records.

    i.e., Insert, Update, and Delete operations will be fired and performed in the background.

    These Flows can fire on “Before / After ” operations.

    2.2. Auto-Launched Flow (No Trigger):

    These flows can’t be fired automatically.

    We must invoke these flows manually by using “Apex Programming“.

    2.3. Scheduled Triggered Flow:

    These are used to implement the Scheduled Jobs, to get fired automatically based on periodic intervals.

    It will execute the Scheduled Jobs asynchronously by placing inside the “Apex Queue“.

    dont miss out iconDon’t forget to check out: Learn All About Salesforce Apex Programming Language

    2.4. Platform Event Message Triggered Flows:

    It will fire the Flow, once it has received the Platform Event Message from the Lightning Component.

    At this moment if you check the Flows they would not show Auto-launched flow, but your screen would display all the categories of auto-launched flow. I know, It’s much simplified for our convenience!

    Flows would have the following 3 elements: (seen in Free=Form Layout on the left side and in Auto-Layout on clicking)

    • Interaction elements: used to design User Interfaces to supply values to the flows at run-time

    example: screen, sub-flow, ….

    • Logic elements: used to perform intermediate operations on the input values given by the user at run-time

    example: Conditional elements, Loops, collections…

    • Data elements: used to interact with Salesforce objects and perform any DML operations on the object records.

    Since you all understand the types of flows, and the elements let’s go for the example.

    Let’s say my requirement is:

    Create an Account record and then create a related contact record only if the account meets the following conditions:

    1. Active = yes
    2. Annual Revenue > 500000
    3. Customer Priority = High

    First, let us see what the Apex code would look like:

    (Note:  here I am implying that there exists an account record that already has matching criteria. Else we would need to write a code for Account record creation(WHICH IS NOT RECOMMENDED) or simply create an Account record, or use Data Loader – whichever suits you )

    To Create a new Account record Via Apex code: This is just to show you the code but unless it is a must never code to create records of any objects as they would be considered HARDCODED which is never a best practice.

    To create a Related contact record when the Account record is passed as a parameter.

    Those who can read and understand code can easily understand the above code. Isn’t it? Perfect. Now let’s move to how we do the same operation via flows.

    Let’s analyse the requirement:

    Requirement:

    Create an Account record and then create a related contact record only if the account meets the following conditions:

    1. Active = yes
    2. Annual Revenue > 500000
    3. Customer Priority = High

    Analysis:

    Object Name on which flow is based: Account

    (You need to create an account first, Hence Object is Account)

    What type of event are you foreseeing: After Insert

    (After Insert because after the Account record is created/inserted proceed towards the creation of Contact record)

    What type of flow you would choose: Record Triggered flow

    (Record Trigger Flow because once an account is created and the criteria match then immediately you should trigger the Related Contact creation)

    What are the flow conditions for related record creation:

    1. Account Active = yes

    2. Account Annual Revenue > 500000

    3. Account Customer Priority = High

    What is the action that needs to be performed after conditions are met: Create a Record

    (Create Record because a Contact record needs to be created)

    Hey, doesn’t this now seem easy to build a flow, now that you analysed the requirements properly? Good if you feel so, never mind if you didn’t. We all are still trying to learn.

    Select Record Triggered Flow -> Create

    You configure a trigger when you create an Account record Via Apex Code or Via Standard functionality. Here I am just showing standard functionality initially.

    When to trigger create record -> when ALL CONDITIONS ARE MET. So, we just select the Field, the operator and the value. WE ARE DOING CLICK AND GO PROCESS, instead of typing the whole tedious code.

    Since we want to perform an action to create a related record, we just select Actions and Related Records and just click done. Isn’t it simple like done in hardly half a minute!

    Here I am using the Free – Form layout. You can use Auto-Layout also. Doesn’t matter.

    Our next step is to Create a Related record I.e., Contact Record so we just simply drag the Create Records data element onto the canvas and it opens the screen where you just click and input the rest of the details.

    dont miss out iconLooking for Top Salesforce Consultants? Choose the best from here!

    I have used the class name as Label Name and the API name would be auto-populated. If it doesn’t then just give underscore symbol after every word.

    Since we are inserting a single related record for an account object here, I chose option One instead of Multiple under the How many records to create option.

    Why are we using the “Use separate resources, and literal values” option: That’s because the fields in both objects vary. So we select this option. Go for another option if you want to simply copy all values of the Account record.

    We just input the field values from the Account object.

    To see the account object what we need to do is: in the value field just scroll to reach $Record Account and select the mapping fields. Remember the Record ID is always id. Never confuse it for Owner Id.

    After all the required fields are mapped we simply click Done and connect the elements on the canvas. Click Save and give a proper name to flow and activate.

    Whoa! How much time did it really take to build this flow? I will leave it up to you guys. Now it’s time to test it, isn’t it?

    OOPS! Related Contact is not created! Ohh No, Why? – Yeah you guessed it right! That’s because I haven’t entered the Active status as Yes while I created the Account Record.

    Now If I update would it create the related Contact record? – No, because we didn’t configure the record trigger flow with the option “When a record is created or Updated”

    dont miss out iconCheck out an amazing Salesforce video tutorial here: Apex Design Patterns: The Singleton Pattern in Salesforce

    I made this error deliberately so that you can track where and why you went wrong. Now let’s do it right!

    So that was a really simple example to demonstrate how flows take only a few minutes to work when compared to writing Apex code. Specifically, we use the CLICK AND GO Feature.

    That’s exactly why Salesforce is encouraging FLOWS over writing Code. It is not only easy but a very powerful tool to make the life of each one of us easy.

  • What is Constructor in Apex Programming? | Salesforce Apex Guide

    What is Constructor in Apex Programming? | Salesforce Apex Guide

    In Apex programming, a Constructor is a unique code used to set up a newly created object. It is called right after the memory for the object is set aside. It can be used to set the default or required values for an object when it is first created. The coder doesn’t have to write a constructor for the class, but they can if they want to. A default one is used if your Apex class doesn’t have a constructor. And it doesn’t take any arguments. The compiler sets the member variables to their default values if a class does not have a user-defined constructor. If a class doesn’t have a user-defined constructor, a default, no-argument, public constructor is used in this particular case. It is called constructor overloading” when a class has more than one constructor, each of which takes different arguments.

    For Example : 

    public class TestObject
     {
       \\The no argument constructor
    
        public TestObject()
         {
           \\code
          }
      }
    

    Rules to Create a Constructor

    • It should have the name of the class 
    • It should be used to instantiate the data members present in the class. 
    • It should return a value
    • Use of public access specifier 
    • The method can only be invoked at the time of object creation

    Syntax of Apex Constructor

    A constructor’s syntax is similar to that of a method, but it is not the same as a method in terms of definition because it doesn’t have an explicit return type and the object that is created from it doesn’t get to use it.   

    public class TestClass{
    public TestClass(){ // non-parameterized constructor
    //code
    }
    }
    //object creation
    TestClass tc = new TestClass(); 
    

    dont miss out iconDon’t forget to check out: How to Expose Apex Class as a SOAP Service in Postman? | Salesforce Developer Guide

    Types of Constructors in Apex Programming

    1. Default Constructor

    In the example given above, the apex class has no constructor. So, when we create an object, like a class, the Apex compiler makes a default constructor. 

    For Example:

    Public class Example
     {
      
      }
     Example e = new Example();
    

    2. Non-parameterized Constructor

    Non-parameterized constructor is a special kind of constructor that doesn’t take any parameters. The parameters mentioned before are basically the values passing inside a constructor. 

    For Example:

    public class Example
    {
      Integer number;
       String Name;
    
       public Example() //Non-parametarized Constructor
       {
        number=10;
         name=Salesforcekid;
       }
    
    }
    

    3. Parameterized Constructor

    Now, let’s make a second class that uses our constructor and takes a string as an argument. It is a builder with parameters. That means that we’ll ask the user for information and then match it up with our variable.

    To Create a Constructor Following Points Should Be Taken Care Of:

    If the method name is different from the class name, it will cause an error when you try to save.

    Access specifier must be public; if it is private, the method can’t be seen. 

    A Constructor is called when a new object is made.

    There must not be a specified return type.

    For Example:

    public class Example
     {
       Integer number;
       String Name;
    public Example(Integer x, String myname) //Parametarized Constructor
     {
       number = x;
       Name = myname;
     }

    Benefits of Apex Constructors in Salesforce

    • There is no requirement for us to invoke the constructor directly.
    • In Apex, we are able to invoke one constructor from another constructor. This technique is referred to as “Constructor Chaining.” 
    • Overloading a constructor’s default behaviour is possible in Apex.
    • When we make an instance of the class, the non-parametrized constructor is created for us automatically, and we do not need to do any additional steps to make it. 

    dont miss out iconCheck out another amazing blog by Emizen here: Top 20 Factors To Consider When Choosing CRM For Small Business | Salesforce

    Constructor in Apex Programming with Example

    In Apex programming, we must first write an Apex class before we can write an Apex Constructor. To write an Apex class, you need to sign in to Salesforce, go to the developer console, and click on the file button. 

    Select the new Apex class and name the class.

    Apex Class

    public class Employee {
        string Employeename;
        Integer EmployeeNo;
        Public Employee() {
            EmployeeName = 'Prasant kumar';
            EmployeeNo = 1015;
        }
        public void Show() {
            System.debug('Emplyeename is' +EmployeeName);
            System.debug('EmplyeeNo is' +EmployeeNo);
        }
    }
    

    Now open the anonymous block.

    How Can Emizentech Help You? 

    The use of Salesforce in modern enterprises has been revolutionary. Salesforce platforms revolutionize organizations by uniting their staff, suppliers, and consumers under one roof. We are the premier Salesforce development firm functioning in the global market. Our services span the full spectrum of the Salesforce platform, from Salesforce1 mobile apps and API creation to bespoke Salesforce implementations and connections with other platforms. Our Salesforce IoT developers assist businesses in establishing long-lasting bonds with their clientele by utilizing several different technological modalities and the top Salesforce standards in the industry.  

  • Best Salesforce Training Program In 2022

    Best Salesforce Training Program In 2022

    If you’re seeking the best Salesforce training program to become a Salesforce developer in 2022, you’ve come to the correct place. Salesforce is a vast platform that creators can use to create apps, develop them, customize them, and deploy them on a server. It is a customer relationship management system that companies use to organize their work and maintain workflow. It is also a huge platform where developers can create apps, develop them, customize them, and deploy them on a server.

    Salesforce features several certification programs that can help you learn how to use the platform. Such as the Salesforce Platform App Builder and Salesforce Administrator, the Salesforce Development Training, which is essential to become a Salesforce developer.

    This means that any business requirement that cannot be met with basic built-in capabilities must be coded by the developer. The average yearly income for this talent is $95,423, making it one of the highest-paid occupations in IT or software development in general.

    There are numerous Salesforce online training courses available to teach you this Salesforce development skill. But all of them are worthwhile of your time and money, and being stuck on the wrong program might hinder your progress, which is where this article can help.

    dont miss out iconDon’t forget to check out: Salesforce Training Resources: Where to Start?

    What Is Salesforce?

    Salesforce is a popular Customer Relationship Management (CRM) software that many businesses use to manage customer relationships. It is the ultimate solution that allows organizations to bring their customers to a single platform and have a common view of their consumers across all departments. Salesforce is Marketing Cloud, Service Cloud, Sales Cloud, Analytics Cloud, App Cloud, Financial Services Cloud, Chatter, Force.com, and Commerce Cloud. Salesforce is based in San Francisco. This software enables organizations to better engage with their customers by helping them to discover problems and respond to them more quickly. And leverage customer-focused apps within Salesforce.

    Stunning Instructor-led Salesforce Training Program

    Instructor-led classes are typically more expensive than self-paced or unstructured training, and they necessitate more planning and coordination on your team’s side. They do, however, provide some distinct advantages.

    1. Salesforce Trailhead Academy– The organization itself has some of the finest Salesforce training resources. Salesforce’s Trailhead Academy offers more than 60 in-person and virtual courses. Each one focuses on a unique side of the platform. Some are particular at specific occupations or responsibilities. For example, BroadcastingStrategies for Business Analysts is aimed towards business analysts and sales managers.
    2. Beth Saunders Associates– Beth Saunders Associates specializes in Salesforce training for NGOs and corporations. Nonprofits may have unique CRM requirements. Without a traditional product to upgrade or add on to, they are working with contributors and focusing on creating connections and promoting ongoing donations. The Associate instructors will collaborate with you to establish an in-person training program or an ongoing coaching plan.

    Impressive Online Salesforce Training Program

    • Salesforce 101: Introduction to Salesforce– This is an excellent beginner course for learning Salesforce forms from the ground up. If you have no concept of what Salesforce is? By the end of the course, you will have a better understanding of Salesforce cloud services, and the salaries you may earn working in Salesforce. And also the certifications that are available to you, and which ones you should begin with based on your history.
    • Salesforce Development Training for Beginners– This fourteen-hour video course will teach you how to design the back-end of the Salesforce software using the Apex programming language, as well as more advanced techniques like triggers and inheritance.

    dont miss out iconCheck out another amazing blog by Taran Veer here: Salesforce Interview Questions: Crack Any Salesforce Interview

    The course is designed for students who are new to programming and have no prior expertise. It is divided into two sections: one on apex programming and the other on advanced programming techniques such as DML statements.

    • Salesforce Developer Training with the real-time project– This course will take a deep dive into the realm of Salesforce development training by constructing real-world projects. They utilize the Apex programming language and others to create a complete Salesforce application.

    It will show you how to develop an apex web service and a conference management application from scratch. The pages are created using JavaScript and VisualForce, so the training is more than theoretical.

    • Apex Academy: Fundamental Salesforce Coding Techniques– This Pluralsight Salesforce training program is mainly aimed toward persons who are familiar with programming or have a basic understanding of technical concepts. It will teach you how to use the Apex programming language to create Salesforce apps.

    After learning the fundamentals of the Apex programming language, such as variables and different statements like the statement and loops, you will go to advanced techniques such as DML and SOQL, among other things. You can also test their 10-day free trial to get free access to this online training course.

    • Salesforce Development training– With over nineteen hours of video content on how to construct salesforce applications using the apex programming language, this is the most comprehensive training for Salesforce developers.

    This course is meant for those serious about obtaining a Salesforce development certification and will take you from beginner to advanced level.

    You’ll start with the basics of the Apex language, such as how to utilize static in Apex, how to interact with data, batch, debugging, calling, and trigger. Recently, there has been a lot of real-time scenario development to have a better understanding by exercising.

    Conclusion – Salesforce Training Program

    That’s all there is to know about the top training courses for passing the Salesforce Development training certification and becoming a Salesforce developer. After reading this article, you have access to programs provided by JanBask Training to advance your career as a Salesforce developer. You can learn new skills like incorporating artificial intelligence into your applications and improving your workflow.

    Reference: encodingcompiler

  • Basics of Salesforce Admin and App Builder Certifications

    Basics of Salesforce Admin and App Builder Certifications

    A Salesforce Admin Certification is the most elevated type of acknowledgement a Salesforce Administrator can accomplish; it shows aptitude in the field just as a promise to the platform for Salesforce class.

    Certification is turning out to be progressively well known among Salesforce experts. It can assist with upgrading an expert’s information on the platform, yet research shows it can likewise further develop employability and free administrators up to greater pay.

    For what reason would it be a good idea for me to get Salesforce Admin affirmed?

    As indicated by the most recent Salesforce Salary Survey, 77% of Salesforce experts hold something like one Salesforce certification, with 39% of respondents expressing that their compensation expanded in the wake of becoming Salesforce affirmed. With this degree of seriousness and reasonable compensation for placing the work in, becoming confirmed can immensely work on your profession.

    Which Salesforce Admin Certification is ideal for me?

    Your first move ought to be to discover how to get a Salesforce Admin Certification and conclude which one is ideal for you. Salesforce is continually reconsidering the kind of certifications it offers, to guarantee it is versatile to the steadily advancing Salesforce environment.

    Salesforce Certified Administrator

    Intended for the individuals who have some experience as an administrator yet would not view themselves as a specialist, the Salesforce Certified Administrator accreditation comprises 60 different decision inquiries in an hour and a half exam. This shouldn’t imply that it’s simple; the exam conveys a 65% pass mark and permits no reference to instructive assets all through the test — it’s very much like being once again at school.

    Salesforce Certified Advanced Administrator

    Similar to the previously mentioned standard certification, the Salesforce Advanced Administrator Certification conveys a 60-question various decision exam with a pass sign of 65%. The qualification is that this exam is undeniably more troublesome, and just the individuals who as of now convey a Salesforce Administrator Certification can step through the examination. Given the degree of information needed to meet the finish mark in this exam, this certification is saved for the genuinely gifted Salesforce Administrators out there for the Salesforce class.

    dont miss out iconDon’t forget to check out: A Guide To Writing Your Salesforce Administrator Resume

    Where do I sit my Salesforce Admin Certification exam?

    Enrollment for your Salesforce Administrator Certification exam is accessible on the web, and you have the decision of where you step through the examination.

    On location administered exam

    You might take your certification exam at a neighbourhood testing focus, at a date and season of your decision. Salesforce has joined forces with Kryterion, which has testing that revolves from one side of the planet to the other, to make the examination cycle more helpful for those hoping to get affirmed. We suggest that you register for your exam somewhere around a multi-week ahead of time to get your favoured date and time.

    Online administered exam

    You may likewise take your certification exam from a distance, which means you don’t need to pass on your home to become a Salesforce Admin guaranteed. The test will be checked by a delegate via a webcam, and you will likewise need to download programming to permit the examiner to see your screen as you work through the exam. You can enrol for the exam and take it around the same time; the stature of comfort.

    Salesforce Administrator Certification Concentrate on Guide

    To guarantee you’re completely ready for your certification exam, ensure you counsel the accessible assets in general. Salesforce suggests a combination of training, concentrating on materials, and involved insight to get ready for the exam, and keeping in mind that we can’t muchly affect your functional experience, we can positively suggest probably the best training and direction out there, just as offer some knowledge from industry specialists for Salesforce class.

    Trailhead: Salesforce training

    Trailhead is one of the most modern learning entries on the planet and has various on the web and teacher-driven training courses that are fundamental when reading up for the Admin Certification.

    There’s an enormous 35 hours of training materials accessible at this Salesforce Admin Trailmix, which are all accessible to get online through the Trailhead entry. In any case, contingent upon your singular conditions and your spending plan, you might observe that you benefit from more customary courses.

    Educator drove courses

    Administration Essentials for New Admins (ADM 201): This five-day course is suggested for new administrators who are liable for setting up, designing, and keeping up with their association’s Salesforce applications. It covers everything from the fundamental route of the administrator applications to overseeing information, confining admittance to specific highlights, and computerizing capacities. It’s an incredible course to be taken related to other learning.

    Administration Essentials for New Admins and Certification (ADM 201C): This is the same as the past course in that it covers all the fundamental administrator capacities. The differentiation is that this Trailhead program incorporates the choice to sit the Salesforce Admin Certification exam on the last day of the course free of charge (remembered for your course expense).

    JanBask Training’s Salesforce Certification Course: For Administrators and Developers: JanBask Training, a worldwide web-based training supplier that assists you with associating anyplace from the world. The educator drove live meetings and genuine contextual investigations help you accomplish the certification objectives as well as make your work prepared. The courses offered to cover the ideas of Salesforce Admin and Developer while zeroing in on Sales and Service Cloud, Apex Programming, Salesforce Lightning, Visualforce, and substantially more.

    dont miss out iconCheck out an amazing Salesforce video tutorial here: Can I Get a Job by Just Learning Salesforce Admin?

    Virtual courses

    Certification Preparation for Administrator (CRT-101): This virtual course keeps going only a day, yet can go far in setting you up for your administrator certification exam. You will be confronted with genuine business situations, with the onus on you to propose common sense answers for these issues in the Salesforce entryway. These critical thinking practices likewise compare with the points canvassed in the Certified Administrator exam. Extremely convenient.

    Salesforce Proficiency Pack for Administrators: While this course keeps going 30 days, it just requires a couple of long periods of work a day, making it ideal. Furthermore, the course likewise incorporates free vouchers for a certification practice exam, and the Salesforce Certified Administrator exam (remembered for your course expense). For this training program, the accentuation is on adaptability and learning at your speed — great in case you work all day and need to embrace some extra learning.

    Reference: Salary survey: https://www.salesforceben.com/average-salesforce-salaries-infographic/

  • Salesforce Security – An Encryption Guide For The Paranoid

    Salesforce Security – An Encryption Guide For The Paranoid

    If you are using Salesforce, you would be having a lot of data stored in Salesforce objects. Some of it would be sensitive data, and some of it would even be sensitive enough that you don’t want anyone to look at it, like revenue-related data. So the question is, is the data on your Salesforce implementation secure enough? How fastidious are you about your customer’s or company’s sensitive data and how to make sure that the data remains secure and be accessible to particular eyes necessarily?

    This post is for those paranoid-at-heart people who are not satisfied with Salesforce’s high-level default data security standards and protocols.

    Encrypting Data in Salesforce

    Salesforce, in general, has very strict security protocols and standards so usually there is no need to additionally secure any data. But for some data, there is nothing paranoid about taking extra precaution. More and more companies nowadays are taking the security of their user and financial data very seriously and to satisfy them Salesforce and third party Salesforce developers have provided users a number of ways to encrypt their data.

    Salesforce Custom Field Encryption (Both Classic and Platform)

    For those using Salesforce Developer, Enterprise, Performance, Unlimited, and Database editions, there is a way that they can encrypt data values. This is applicable to custom fields only. All you have to do is to select the text (encrypted) field when created new custom field, and it will open a page something like this.

    custom field

    Salesforce Security

    Select all appropriate options and save.

    This option is mostly used when you have multiple Salesforce users entering or reviewing information and don’t want them to view the data after entering. It’s also useful for storing passwords for visualforce based portals. You can tweak with the mask type to partially show values, like the last 4 digits of a credit card.

    As you may notice this method is useful for encrypting data at rest.

    dont miss out iconDon’t forget to check out: How To Pass Salesforce AppExchange Security Review

    Using Apex Crypto Class

    Now if you are slightly more paranoid and you think that custom field encryption is not enough, you can leverage the APEX class’s properties for encrypting data at rest and in-transit. Apex classes are the more granular level of encryption and require significant know-how about Salesforce, Apex programming, and Salesforce customization. Therefore we recommend you consult a Salesforce expert before using this method.

    Apex Crypto classes, as the name suggests, provide Salesforce developers with a number of functions that allow them to create data digests, signatures, and message authentication codes. They are useful in encrypting and thus protecting the confidentiality of the data as well as provide a way to allow authentication of data by an external system, a very useful trick when you are transmitting data from one service to another through a solution of Salesforce and integrated third-party web services.

    How does it work?

    Apex Crypto classes depend mainly on four methods:

    decrypt(algorithmName, privateKey, initializationVector, cipherText)
    decryptWithManagedIV(algorithmName, privateKey, IVAndCipherText)
    encrypt(algorithmName, privateKey, initializationVector, clearText)
    encryptWithManagedIV(algorithmName, privateKey, clearText)

    The encrypt() method is used when you have your own initialization vector (IV) and want to use this IV to encrypt your data. This method is mainly used when your encrypted data may have to access by a third party system and you want this system to authenticate the data using the IV. The decrypt() methods, as you may have guessed it encrypt() method’s counterpart that is used to decrypt data. These methods can be used both in Salesforce or other third-party services that support AES level encryptions. Currently, Crypto classes only have symmetric key encryption only.

    The private key values mentioned in the above methods are generated via another crypto class method named generateAesKey(size). The size here defines the length of your AES encryption protocol and thus is depended on your algorithm. Name that you again defined in encryption methods. As such the Crypto classes support 3 different AEStypes:

    • AES128
    • AES192
    • AES256

    and therefore the corresponding values for generateAesKey() function becomes 128, 192, and 256 respectively. The following lines of code will make these functions a lot more clear.

    Blob presetIV = Blob.valueOf('Example of IV123');
    Blob key = Crypto.generateAesKey(128);
    // Generate the data to be encrypted.
    Blob data = Blob.valueOf('Data to be encrypted');
    Blob encrypted = Crypto.encrypt('AES128', key, presetIV, data);
    Blob decrypted = Crypto.decrypt('AES128', key, presetIV, encrypted);
    String decryptedString = decrypted.toString();
    //check the authenticity of data( useful for integrations)
    System.assertEquals('Data to be encrypted', decryptedString);
    

    The encryptWithManagedIV() methods on the other hand are used to encrypt data using Salesforce generated initiation vector. It’s counter par decryptWithManagedIV() method therefore also does not require any IV parameters. If you are going to use your data for Salesforce-based systems only then we recommend using this method.

    Blob cryptoKey = Crypto.generateAesKey(256);
    // Generate the data to be encrypted.
    Blob data = Blob.valueOf('clear text waiting for encryption');
    // Encrypt the data using <a class="vglnk" href="http://Salesforce.com" rel="nofollow"><span>Salesforce</span><span>.</span><span>com</span></a> generate the initialization vector
    Blob encryptedData = Crypto.encryptWithManagedIV('AES256', cryptoKey, data);
    // Decrypt the data - the first 16 bytes contain the initialization vector
    Blob decryptedData = Crypto.decryptWithManagedIV('AES256', cryptoKey, encryptedData);
    // Decode the decrypted data for subsequent use
    String decryptedDataString = decryptedData.toString();
    //check the authenticity of data( useful for integrations)
    System.assertEquals('clear text waiting for encryption', decryptedString);
    

    Third-Party Encryption Services

    The third method to encrypt your data is using third party encryption services. Google ‘Salesforce Encryption Services’ and you will find a hundred of such third-party solutions. These services are, in almost every case, paid and requires a subscription licensed based fees. These services are mainly deployed as an added layer between data entry points and Salesforce and can be used to both encrypt and authenticate data. Theoretically, they should create some latency in data addition and retrieval, but in most practical cases the latency is negligible, provided the service is flawless of course.

    dont miss out iconCheck out another amazing blog by Algoworks here: How To Integrate Salesforce And SharePoint Online Through Files Connect?

    This method is mainly used by those who do not want to spend time and effort in getting a custom encryption solution. On the other hand, these solutions allow administrators to encrypt data at the DataCenter level and then send it to Salesforce. i.e. data in your Salesforce itself is encrypted and whenever a user requests data it is retrieved through Salesforce, then routed through DataCenter and decryption program, and then displayed to the user. In addition, this also means that you don’t have to worry about keys in Salesforce as they are handled by a third-party solution.

    However encrypted data in Salesforce means that it would be impossible to integrate Salesforce with any other third-party solution without involving encryption solution’s adapter in between. Therefore if the encryption solution does not have any integration adapter to your choice of service, you may have to look into something custom.