Thursday 29 August 2019

OMNI Channel in Salesforce


What is Omni Channel in Salesforce?

Omni Channel is nothing but a functionality which distribute or assigning or routing the case to the respective agent(Who supports to the customer and solve their queries) having the matching skill set as per the setting we do in salesforce.

Types of Routing in Omni Channel:

Queue Based Routing:
Good for small Organization, having less number of products or having single skill.

Skill Based Routing:
Routing Based on skills, fit for large Organization having different product and agent should have corresponding skill set.

External Routing:
Routing will be done to third party system by integrating the application with salesforce.

Monday 5 August 2019

Interview Questions On Salesforce Lightning

 What is Aura Framework?
  • Aura is an open source framework developed by Salesforce. 
  • It is a component based framework to develop UI components.
  • Aura components to build modern web apps with reusable UI components. 
  • Aura Component are XML Markup.


What is Lightning Framework?
Lightning Framework is based on Aura Framework to design and develop Salesforce Aura components. Lightning framework is also developed by Salesforce, but unlike Aura Framework, it is not open source.
What are the different Lightning component bundles?

a. Component
b. Controller
c. Helper
d. Style
e. Document
f. Design
g. SVG
h. Rendrer

What are different ways to call a javascript controller method?
Javascript Controller method can be called via:
  • By browser events like onclick, onchange etc
  • By Aura handlers of lifecycle events init handler, render handler
  • By Aura handlers of component and application events
  • By Aura Method
How many parameters are there in a javascript controller method?
There are three parameters that a javascript controller method accept.
  • Component – Component or markup file reference
  • Event – It has all the properties of the event which fired this method
  • Helper – Helper file reference
These parameters are supplied by the framework itself and does not need to be passed explicitly.
 What are the type of events into Salesforce Lightning component Or What is Event driven architecture?
Event-driven architecture is used for better decoupling between components. Components can communicate with each other using events. Lightning Framework supports two type of custom events and one system event:
a. Application Event – Scope of this event is throughout the lightning App and any component which has registered for this event would get a notification.
b. Component Event– Scope of this event is within itself or the parent component of this event, all the components declared within the parent component would get notified of this event.
c. System Event- these are the events fired by Salesforce’s system during the lifecycle of the lightning app
.
What interface we are supposed to implement so that a lightning component can be used as a Tab?

We need to implement the following “force:appHostable” so that we can use the component as a Tab.

Which interface we are supposed to implement so that a lightning component can be used as quick action?
We need to implement the following “force: lightningQuickAction” so that we can use the component as a Quick Action
What are the tools included in lightning ?

Lightning Component Framework – Components and extensions that allow you to build reusable components, customize the Salesforce1 Mobile App, and build standalone apps.
Lightning App Builder – A new UI tool that lets you build apps lightning fast, using components provided by Salesforce and platform developers.
Lightning Connect – An integration tool that makes it easier for your Force.com app to consume data from any external source that conforms to the OData spec.
Lightning Process Builder – A UI tool for visualizing and creating automated business processes.
Lightning Schema Builder – A UI tool for viewing and creating objects, fields, and relationships.

Can we Include One Lightning component to another ?

Yes, we can include one Lightning component in another Lightning component.

Can we call one javascript controller method from other one?
No, javascript controller method can only be called by component markup.

How can we call child component controller method from the parent component controller method?

To call a child component’s controller method, we need to first create a aura:method which is publicly accessible, aura:method is used to communicate down the containment hierarchy 
i.e. parent to child.

What are the basic differences between Application Event and Component Event?
Component events are used to do communication between child and parent. They use bubbling and capture same as used in DOM events. A change in a child component can be communicated to the parent component via component event.
Application events are used to communicate any change in the component to a broader audience. Any component who has registered for this event will get a notified.
To use Component Event API we use the below syntax
What are component events?
Component events allow you to make a communication channel within same hierarchy. A component event is fired from an instance of a component. A component event can be handled by the component that fired the event or by a component in the containment hierarchy that receives the event.
A component event cannot be handled by any component which is below in the component hierarchy or out of the hierarchy.
  
Events fired from c:component2 cannot be handled by c:Component3 since it is out of component hierarchy. It cannot be handled by c:Component4 as well, since it is below c:Component2 in component hierarchy.


How can you handle the component event?
Component events can be handled either by aura:handler or directly from child component declaration tag. For example, if c:Component2 fires a component event named “onBack” than you can handle that directly from c:Component1 like below:
<c:Component2 onBack=“{!c.handleBack}” />

Friday 2 August 2019

Salesforce Event Monitoring Analytics

What Is Event Monitoring?

Event here means user activity, Tracking and providing information for the same is called Event Monitoring. It is one of the tools of salesforce to help and keep your data secure by monitoring.

In simple terms, once you get license of Event Monitoring by default salesforce provide you 16 dashboard, and these dashboard covered almost all the events. Just you need to provide access to the profiles. Any modification also we can do it.

 Salesforce provides 16 Dashboard broken into 3 key sector (Adoption, Performance and Security):
  • Logins
  • Logouts
  • URI (web clicks in Salesforce Classic)
  • Lightning (web clicks, performance, and errors in Lightning Experience and the Salesforce mobile app)
  • Visual force page loads
  • API calls
  • Apex executions
  • Report export

All these events are stored in event log files. An event log file is generated when an event occurs in your organization and is available to view and download after 24 hours. The event types you can access and how long the files remain available depends on your edition.


Developer Edition (DE) organizations have free access to all log types with one-day data retention.
Enterprise, Unlimited, and Performance Edition organizations have free access to the insecure external assets, login, and logout event log files with one-day data retention. For an extra cost, you can access all log file types with 30-day data retention.

Step By Step Process to implement Event Monitoring Analytics


Prerequisite :


The Fist Step which has to do by your organization admin manager or the respective person has to buy the license for Analytic Studio(For Event Monitoring Analytics) from Salesforce.

Steps under Salesforce Org (in your Sandbox):

Enable Analytics
In Setup, enter Analytics in the Quick Find box, then select Getting Started.
Click on Enable Analytics Button*.***
Enable Analytics Settings
In Setup, enter Analytics in the Quick Find box, then select Settings.
Check all the check boxes except Enable Data Sync and Connections and Inherit sharing from Salesforce
Enable View Event Log Data in Analytics Apps
In Setup, enter Event in the Quick Find box, then select Event Monitoring Settings.
Select View Event Log Data in Analytics Apps
Assign a standard permission set to the respective user.

Standard Permission SetFor
Event Monitoring Analytics AdminUsers who create and customize Event Monitoring Analytics apps and data flows
Event Monitoring Analytics UserUsers who view Event Monitoring Analytics apps
  1. Setup, enter Permission Sets in the Quick Find box, then select Permission Sets.
  2. Click the Event Monitoring Analytics User permission set.
  3. Click Manage Assignments.
  4. Click Add Assignments.
  5. Select Julie Chavez and click Assign.
  6. Click Done.

Steps to create App in Analytic Studio.

  1. From the App Launcher, select Analytics Studio.
  2. Click Create and select App.
  3. Click Create App from Template.
  4. Select Event Monitoring Analytics App, and then click Continue.
  5. In the Event Monitoring Analytics App - Personalize wizard, otherwise known as the configuration wizard, select the amount of data you want to include in your app. Each dataset corresponds to one or more prebuilt dashboards.
    Since we’re going to focus on reports, we want the maximum amount of data possible for datasets: 30 days. So we choose 30 days for the Report and URI datasets, and accept the default values for all other datasets.
        1.On the Step 1 of 5 page, click Looks good, next without making any changes.
        2.On the Step 2 of 5 page, change the number of days of Report data to 30, then click Looks good, next.
       3. On the Step 3 of 5 page, change the number of days of URI data to 30.
        Click Looks good, next without making any other changes until you reach the area to name your app.
      4. Name your app Analytics for CIO and click Create.
       
This takes a few minutes,  Soon, you’ll receive an email stating that the dataflow ran successfully, and you can move on to the next section.


Key terms of Einstein Analytics:


Dataset : Dataset are the tables of the data that are being pulled over from salesforce into Einstein Analytics.

Lens : A Saved Exploration of Data.

Dashboard : A set of charts, metrics, and tables that gives an interactive view of your data.

Apps: A Dynamic folder that contains a group of dataset, lenses and Dashboards that you can share with your colleagues.

        Friday 17 May 2019

        Guidelines for Deployment to Production


        Any time you deploy changes to a production environment, your users are directly affected. It’s a good idea to have guidelines for rolling out new functionality.

        1. Don’t break anything.
          1. Release your production functionality in a test environment first. If you successfully deploy and test in a full-copy sandbox, you can be fairly confident that your deployment to production will succeed.
          2. Back up all your metadata.
          3. Have a backup plan: One method is to create another sandbox as a backup. The backup sandbox contains change sets and scripts to revert as many changes as possible, plus the manual steps required.
        2. Schedule the release.
          1. Create and announce a maintenance window during which your organization is unavailable to most users. Try to make this time during off hours or in periods of low activity.
          2. Use profiles to control maintenance updates.
        3. Inform users of every change.
          1. Create detailed release notes that document the new functionality and behavior changes.
          2. Send an email announcing the main features with a link to the release notes.
          3. Create webinars and training sessions to educate users.

        Use Profiles to Limit User Access
        During a deployment window, you can use profiles to limit end-user access to the production organization.

        1. Alert all active users about the maintenance window using the email wizard. From Setup, enter Mass Email Users in the Quick Find box, then select Mass Email Users.
        2. Create a profile to lock users out during the maintenance window by editing the login hours. Be sure that system administrators or integration users have access if they need it.
        3. Roll out objects, tabs, and apps to different user profiles if you want to allow some users access for acceptance testing.
        If your organization includes many profiles, use the following strategy for setting up a maintenance window.
        1. Create a profile named Maintenance with all login hours locked out.
        2. Use the Data Loader to extract and save a mapping of users and their user profiles.
        3. At the beginning of the maintenance window, use the Data Loader to change all user profiles, except the administrator’s, to the Maintenance profile. It is important to leave login access with the administrator. Otherwise, all users could be locked out of the system indefinitely. If integrations are going to run during the maintenance window, also don’t lock out the integration user.
        4. At the end of the maintenance window, use the Data Loader to reload the users with their original profiles.