23 comments on “Salesforce Lightning Experience Reports & Dashboard Specialist – Trailhead Superbadge”

Salesforce Lightning Experience Reports & Dashboard Specialist – Trailhead Superbadge

Lightning Experience


We at Techforce Services love Trailhead and take the challenge to complete most of the trails, modules, projects & superbadges as its released. Last week we started with the newest of the superbadges “Lightning Experience Reports and Dashboards Specialist” and this post is a summary of some key tips to help you solve the superbadge. These are not direct answers or solutions that you can replicate, but they will help you clear the hurdles in each of the steps.

Prework and Notes to Earn this Superbadge

  • Set Up a new Trailhead Playground for this superbadge, It will help you reduce a lot of configuration issues
  • Don’t forget to add a Value (SolarBot) into Opportunity type (Picklist Value), It is the one of the key filter value in Reports
  • Make sure all Public Groups created properly (better copy/paste the names from the superbadge details to avoid silly mistakes).
  • The Most Important thing is Some of the terminologies used not match the name as it appears in the UI (For Example Solution=Report Type, Categories=Bucket Field and etc)

Step 1:

  • SolarBot report folders use the naming convention SolarBot [team/group] Reports.([team/group replaced by Executive, Sales, Support, R&D]
  • Report Location and Report Type are very Important. Tip: Collect all SolarBot information, whether or not they have related SolarBot Status records
  • Pay attention when Moving reports from existing folder to New Folders
  • Get some practice for Editing Report type page layout to remove particular fields Tip: Create a dummy report type page layout and move unwanted field into that, Finally delete the page layout

Step 2:

  • Accounts Without SolarBot Opportunities
    Create a Cross Filter as below
    Account without Opportunity
    Opportunity type = Solarbot
  • SolarBot High-Case Candidates
    Use Summary field(Number of SolarBots on Account Object) which already created for you(Number of SolarBots=0)
  • SolarBot Warranty Call Sheet
    Pick only Warranty Expired Accounts(Under Warranty?=False)

Step 3:

Top Case Drivers by SolarBot Ownership

  • Report Type is Case(Standard)
    Row Summary field is: SOLARBOT OWNERSHIP
    Column Summary Field is: CASE REASON
  • SolarBot Status Averages
    Report Type is SolarBot and Status Date(Custom which you have created)

Step 4:

  • Temperature to kWh Research
    Make sure the Bucket field value ranges are correct
    Group by Temperature Range (Bucket field)
    Remove Details, Subtotal, Grand Total

Step 5:

  • SolarBot Loyalty Revenue
    The formula is very Important
    Tip: IF the Sum of Number_of_SolarBots__c < 1 the Adjusted Expected Revenue is Just Sum of Expected Amount only otherwise The Adjusted Expected Revenue is Expected Amount + Expected Amount *10%
    The main conditions is The opportunity having Solarbot or not
    Chart is: Vertical Bar type

Step 6:

  • Sales Report Modifications
    Add Billing state field and group it
    Use Relative Date Filter for “Next 45 days”
  • Support Report Modifications
    Add Phone field and pick the Chart type as Horizontal Stack bar(tick the 100%) for the first report
    Change data by week instead of by day and Pick the Chart as Line type for the second report
  • R&D Report Modifications
    compare average kWh and average panel temperature by SolarBot model on another axis
    Place categories on the X-axis, with count on the Y axis
    Pick the Chart as Vertical bar type

Step 7:

  • SolarBot Pipeline by Stage
    Report: SolarBot Loyalty Revenue
    Component Type: Vertical Bar
    Tip:Max Groups Displayed = 9
  • Case Drivers and SolarBot Ownership
    Report: Top Case Drivers by SolarBot Ownership
    Component Type: Vertical Sack Bar
    Tip: Stack to 100%
  • Temperature and Kilowatt Hour Relationship
    Report: Temperature to kWh Research
    Component Type: Line Type
    Tip:X Axis=Temperature Range and SolarBot Model
    Y Axis=Average KiloWatt Hours
  • SolarBot Evangelism Countdown
    Report: Accounts without SolarBot Opportunities
    Component Type: Gauge Type
    Tip: Careful the Segment Range Setting
  • Opportunity Overview
    Report: SolarBot Loyalty Revenue
    Component Type: Lightning Table
    Tip: Set Prospecting first on the list stage opportunities

Step 8:

  • Color Scheme
    Set the Dashboard Theme as Dark Except Opportunity Overview component
    Pick “Sunrise” as Dashboard Palette
  • Marquis Accounts
    Create a Dashboard Filter and name it as Marquis Accounts
    Add 2 mentioned Account
    Pick account name in 1st and 5th component in instead of primary partner
  • SolarBot App Page
    Add this dashboard into SolarBot App Page
  • Schedule the Report
    Schedule this report to you for every Tuesday 9 a.m

Lightning Superbadge

Hope this will help you Trailblazers to solve this superbadge. Thanks for visiting our blog. Checkout our other blogs on Trailhead superbadges 

Salesforce Advanced Apex Specialist – Trailhead Superbadge

Salesforce Lightning Component Framework Specialist – Trailhead Superbadge



0 comments on “Salesforce Lightning Migration Considerations”

Salesforce Lightning Migration Considerations

Salesforce Lightning Migration Considerations

Salesforce Lightning Migration:

The big step for every organisation who had Salesforce for a while on Classic mode is to look into Salesforce Lightning Migration.. with every Salesforce Release, the Salesforce Lightning framework is becoming more awesome and supporting most of the features from classic and all the new features are directly in lightning version.

Recently, I had an opportunity to attend ‘Lightning Now Tour’ and as a Business Analyst, I chose the admin specific training. Throughout the training, my focus was to learn and understand the new features of the Lightning framework.

Next time, I meet my clients I am going to analyze their businesses with respect to how the Lightning features can drive them and recommend the Lightning components, analyze and plan the stages of the work. During the training, my key focus areas were Business and Functional dimensions for the Lightning components. I am also sharing some of the key slides from the training presentation.

This training helped us to gain the insight and hands-on experience for the migration. The exercises focused on the new features and gave us a brief idea on customization and User app/profiles permissions.

Based on our company experience on Salesforce Classic to Lightning migration, we have categorized the migration process into different stages for a project as below:

Stakeholder Management:

1. When do I propose the new Lightning feature and the Drivers to start Lightning transition?

  • Internal Business Event
    • Merging of orgs
    • Start of a new process/project – take advantage of Lightning
  • External Business Event
    ○   Merging & Acquisitions – use the opportunity to transition on Lightning
  • Process standardization/ globalization
    ○   Use Lightning for standardization (path, flow, Kanban)
  • Sales Kickoff/All hands

2. How should I convince my client to migrate to Lightning?
Salesforce is slowly transitioning to its biggest innovation which is currently optional but a mandatory in future, the sooner the better. It has now reached a stable version.

  •   Better collaboration
  •   Faster and varied customization features
  •   Anywhere access like Salesforce1
  •   Lightning Builder: I can build an app with minimal development experience
  •   Better Reporting, Dashboards, and Analytics
  •   Easy and better integration support like Lightning Snap-Ins
  •   Help within reach – Lightning Customer Community

Here is a proven survey that highlights the Lightning features and its statistics:


3. Understanding the users by creating a Persona User story

  • Know your Salesforce users and roles
  • Discuss stakeholder goals and role-specific usage of Salesforce system
  • Establish primary and secondary personas like Managers, team members
  • Prioritise page functionality/layouts for each persona

4. How do we do that?
We do that by taking the proven and standardized approach below:

Capture 2

Schedule Management

Rollout options: Based on the Business, Users and their usage requirements, there are different rollout options.

Capture 3

Risk Management

1. Lightning readiness: Salesforce offers a systematic approach for the transitioning to Lightning with just one click.
● The readiness report identifies the gaps and risk areas for improvements
● Identify which users are ready
● 360-degree view on how the Lightning experience will improve the productivity

2. Create POCs app/components as per the business case and determine the right approach and iterate the same until a solution is achieved

Integration Management

  •  Switch to Lightning using the Transition Toolkit
    ○  Lightning Experience Readiness Check
  • Lightning Experience Visualforce check
  • Magic Mover for Notes & Attachments
  • Lightning Configuration Converter e. Salesforce Optimizer
  • Lightning Usage App
  • Lightning Transition Technical Considerations for any limitations

Capture 4

3. Visualforce Pages and Lightning Experience:

Capture 5

Change Management

It is very important to analyze and plan the change in a controlled environment for the transition into Lightning, considering the real-time analytics for Business Continuity. It is achieved as below:

  • Build a Strategy for change
    ○  Develop a Vision
    ○  Communicate the Vision
    ○   Empower Middle Managers to participate in the Change
    ○   Identify and use Short-term wins to stimulate adoption+
    ○  Persist in advancing the Vision
  •  Identify a Core team

Capture 6

  • Accelerate user Adoption through Change Management and Enablement

Capture 7

  • Avoid future Technical Debt: If the users are still using Classic, it is best to avoid unsupported Lightning components/apps for the future component developments or app installations. Here are the others:
    ○  Enable MyDomain
    ○  Don’t create JavaScript buttons
    ○  Don’t add Notes and Attachments and Documents, use Enhances Notes and Files instead
    ○  In Visualforce: Avoid iFrames, window.onlocation

The Upshot

This training gave us the knowledge required to enter the Salesforce Lightning world and make recommendations for businesses. We also had an opportunity to meet and interact with the Salesforce team for any queries and met some great people and shared knowledge and expertise. It is important to keep revisiting the concepts in detail depending on the business needs.

"We @ Techforce Services are specialized in Salesforce Development - Apex, Visualforce and Lightning, API Integrations. We also cover Salesforce Setup, Implementation & Customization".
1 comment on “Lightning Now Tour for Developers”

Lightning Now Tour for Developers

Lightning Now Tour for Developers



This post is a summary/key takeaways from the Salesforce Lightning Now Tour for Developers in Sydney organized by Salesforce in June 2018.

The workshop began with an introduction to the Lightning platform. The introduction talks about Lightning as next level User experience, Lightning as new UI framework and Lightning as an Ecosystem.

Key tools that help in the switch to Lightning

  • Lightning Experience Readiness Check – A report with an assessment of the Org which shows what areas to be addressed is Salesforce.
  • Lightning configuration converter – Available starting Summer 18 release, this tool scans the org for simple JavaScript buttons and converts them to Lightning alternatives such as Lightning components, quick actions and other solutions without changing the original buttons.


  • Lightning usage App – This new App can be very handy to monitor adoption and usage of Lightning experience. It includes key metrics such as Daily/Monthly Active Users, number of users switching to classic.

Using Visualforce in Lightning

Salesforce would continue to support Visualforce and it can be used in Lightning:

  • As a Visualforce Tab
  • Embed in a Standard page layout
  • Global quick actions
  • Lightning component

Use to style Visualforce pages to match the Lightning Experience UI when viewed in Lightning Experience

Use SLDS (Salesforce Lightning Design System) for custom markup to always look like Lightning experience.

Developing in Lightning

  • Component Library – Centralized reference guide of all components with code samples

  • Use Lightning inspector Google extension to inspect Lightning cache, view performance of page and component rendering step by step.
  • Lightning test service using Jasmine, MOCHA

Customizing UI with Lightning components

  • Classic pages vs Lightning pages

Classic pages are compiled on the server and sent to a client as an HTML markup. When a line item is changed, an entire page is sent to the server.

Lightning pages are assembled on the client from component definitions. When a line item is changed, just the message that is sent to the server is limited to the data required.

  • Lightning component structure


Salesforce Lightning Design System (SLDS) provides:

  • Design Guidelines
  • CSS Framework
  • Component Blueprints
  • Styling Utilities
  • Design Tokens
  • Icons

Block Element Modifier naming in SLDS

.house { block or component name }

.house__door { element or component part }

.house_red { modifier or component variation }

.house__door_white { variation of a component part }

Example: .slds-text-heading_large

Base components

  • These are the Building blocks that make up the Lightning experience user interface. 
  • These components talk to Salesforce via Apex.
  • ‘init’ event is used to ‘Bootstrap’ the component     

Lightning Data Service

  • Use Lightning Data service to Create, Edit or Delete in the lightning component without the need to write Apex.
  • Benefits of LDS include no Apex, no, built-in FLS and sharing, auto-notify on record changes, declarative CRUD operations.

2018-06-12 (3)

2018-06-12 (2)

Events and Actions

The lightning framework uses Events to communicate data between components. Events are triggered by User actions such as a click of a button.

The overall experience of the workshop

The exercises involved create a reusable lightning component that is plugged into a record page that dynamically refreshes when the data on the record page is changed.

This Use case is closer to the real-life scenario and developers can relate it to some of the examples they encounter in everyday work.

Although most of the content used in the workshop is available on multiple websites, this session stands out due to the effective way of explaining concepts behind Lightning features.

And since it was a hands-on session, participants had a chance to discuss and understand the functionality of each block of code.

Working with a group is always a joy and when you are stuck somewhere or missed a point, other participants were ready to help.

Due to the length of the workshop, it was possible to maintain slow pace while trying to complete the exercise giving enough time for everyone to complete.

I would encourage every developer to attend workshops like these because the instructors are the people behind these products and they know firsthand how it works and why it was designed that way.

"We @ Techforce Services are specialized in Salesforce Development - Apex, Visualforce and Lightning, API Integrations. We also cover Salesforce Setup, Implementation & Customization".
0 comments on “Salesforce World Tour Sydney 6 March 2018”

Salesforce World Tour Sydney 6 March 2018

salesforce world tour
What is Salesforce World Tour

Most Salesforce World Tour Sydney 2018 events focus on creating buzz around the high-level ideas that the technology company is working on and World Tours are no different. This year there was a lot of discussion around the new Lightning interface, artificial intelligence, and the customer journey.There were many options to learn how to better use Salesforce. There was even a smartphone app to help you plan your day. This was really helpful as sessions overlapped and you could find yourself bouncing around to different sessions all day.

0 comments on “Using Visualforce components inside Salesforce Service console”

Using Visualforce components inside Salesforce Service console

I was recently working on enhancing a service console and got to learn a lot of things. One of the things I struggled with is embedding Visualforce page as a component inside a console. In this post, I would like to share at a high level, the steps involved in customizing service console using Visualforce component. Please note this post refers Salesforce classic UI.

0 comments on “Salesforce Platform Developer II Certification”

Salesforce Platform Developer II Certification

Salesforce Platform Developer II

If you are taking up the Salesforce Platform Developer II certification, then you should be aware of the new system under which you will be getting this credential.

  1. You need to complete the below 4 Superbadges in Salesforce Trailhead
    1. Apex Specialist
    2. Data Integration Specialist
    3. Lightning Component Framework Specialist
    4. Advanced Apex Specialist
  2. You have to register for the Platform Developer II Multiple choices exams in Webassessor and pass the exam
  3. Once you have completed all the 4 super badges, you will receive an email from Salesforce Trailhead team with the instructions to link your Trailhead and Webassessor accounts (Note – it might take up to a week for you to get this email after you completed all the 4 super badges)
  4. Following the instructions, You have to Link your Trailhead and Webassessor profiles and verify your profiles.
  5. After you have completed
    1. all 4 super badges thru Trailhead,
    2. passed the exam thru Webassessor and
    3. linked your Trailhead and Webassessor profiles,
  6. Salesforce will then award you the Platform Developer II credential. Note again – this might take up to a week once you have completed both 1 and 2 and linked and verified both your Trailhead and Webassessor profiles
  7. Here’s the reference from Salesforce Certification Knowledge Base about the overall process and a quick screenshot of the instructions
6 comments on “Salesforce Advanced Apex Specialist – Trailhead Superbadge”

Salesforce Advanced Apex Specialist – Trailhead Superbadge

Salesforce Advanced Apex Specialist - Trailhead Superbadge

Continuing my quest with trailhead #SeizetheTrail , the last one in my list is the Advanced Apex Specialist Superbadge ..  I started working on this superbadge and this post is to document some of the findings / tips / gotchas as I progress thru this one..

Step 1

  • make sure you create the Custom metadata records with the exact same names given (that matches the product families)
  • in the constants apex class, declare all the properties as public static

Step 2

  • OrderTrigger needs to handle only after update event
  • OrderTrigger should use the Orderhelper internally for the rollup
  • Don’t forget to remove the “with sharing” from the orderHelper class

Step 3

  • Override the Add and New button under Product object to use the visualforce page
  • Product2New visualforce page
    • in the pageblock table columns, use the field labels as headers using $ObjectType
    • update the column values to use the productRecord fields inside the productwrapper
    • use apex:chart to display the horizantal bar chart in a separate pageblock above the table
    • reRender the required components from the Save and Add buttons
  • Product2Extension apex class
    • Make the Controller class “Without Sharing”
    • add the inner class ProductWrapper
    • replace the list of products with list of productwrapper
    • use Savepoint in the Save method
    • iterate thru the productWrapper and extract the products and pricebookentries and insert them separately
    • use try catch block and do a rollback if there are any errors
  • ChartHelper apex class
    • Make the ContChartHelperroller class “Without Sharing
    • move the chart data initialisation logic to Chart Helper class
    • make the GetInventory method @AuraEnabled

Step 4

This is probably the simplest of all the steps.. update theTestDataFactory class to handle the key requirements given..

  • Make sure all the methods in the TestDataFactory class are Public Static and the class is marked “with sharing”
  • all the construct methods should create the mentioned objects with the required fields and unique names and return the records without inserting them
  • use the Insert method to call all the construct methods and then insert the records returned from those methods.

Step 5

  • Update the VerifyQuantityOrdered method in TestDataFactory with a System.Assert to compare the Quantity Ordered between the Updated product and the original product plus the incoming quantity
  • run both OrderTests and Product2Extension_UnitTest and make sure both the test classes are passing  and the classes they are intended to cover has more than 75% coverage

Step 6

  • Don’t forget to create the chatter group “Inventory Announcements” .. mark it public and tick the disable auto archive checkbox and use the description text given
  • update the product trigger to handle only after update and use the product helper class to handle the after update logic
  • update the product helper class AfterUpdate method to use the postAlerts method which in turn will be using the AnnouncementQueueable class to process the chatter group notification
  • AnnouncementQueueable is a Queueable class and uses ConnectApi to post the announcement

Step 7

  • Override the New and Edit buttons under the Order object to use the OrderEdit visualforce page

Step 8


This was my last superbadge and by completing this Advanced Apex Specialist Superbadge , I’m now eligible for Platform Developer II certificate provided I clear the multiple choice exam.. 🙂

Good luck to you all if you are working on this superbadge or preparing for the Salesforce Platform Developer II certification.


3 comments on “Salesforce Lightning Component Framework Specialist – Trailhead Superbadge”

Salesforce Lightning Component Framework Specialist – Trailhead Superbadge

Salesforce Platform Developer II

I’ve successfully completed the Lightning Component Framework Specialist superbadge & this post documents some of the tips & tricks/gotchas that I noticed as I progressed thru this superbadge..
Overall it took me close to 7 hrs (split across 3 days) to complete this with the below breakdown of steps..

  • Day 1 – Step 1, Step 2, Step 3
  • Day 2 – Step 4, Step 5, Step 6
  • Day 3 – Step 7, Step 8, Step 9, Step 10

Note: This superbadge is both a direct part of the Salesforce Platform Developer II certification and also required to unlock the Advanced Apex specialist superbadge which is again part of the Salesforce Platform Developer II certification
below is the list of points I noted down (categorized by Steps).. hope this helps you if you are working on the superbadge.
Step 1
make sure you read the prerequisite steps and complete all of them.

  • use a New Trailhead Playground environment,
  • disable the component cache in the setup
  • install the unmanaged package, 
  • understand the naming conventions to be used in the javascript controller & helper methods
  • review the data model of the objects introduced by the unmanaged package and check if the data has been imported into those new objects.

Step 2
Read & Understand the use case and visualise the layout of the entire page and how the individual components are fitting in and communicating between them.

  • this step entirely focuses on the BoatSearchForm component so make sure the UI of this component is fully ready
  • make sure the “New” button visibility is controlled by checking the support for the createRecord event
  • create both the Lightning page and the Lightning app containing all the 3 components we created before.

Step 3

  • This step focuses on the BoatSearchResults component
  • you will be creating a component to handle the display of each boat tile

Step 4

  • This step focuses on the communication between the search form & the search results component and how the search results refresh based on the selected boat type
  • make sure the FormSubmit lightning event is of type Component and not Application

Step 5

  • The BoatSelectedEvent is of type Application

Step 6

  • make sure the BoatReviewAdded lightning event is of type Component and not Application
  • In the AddBoatReview component, create both the controller and helper methods and make sure from the helper method and set the response back to the boat review attribute or log the error back to the browser console

Step 7
Step 8
Step 9
Step 10
Use the Salesforce Developer Forum and Stack Exchange discussions when you have exhausted all the options you can think of while solving a Step.. without trying your own attempts, referring these discussion threads will not help..
Good luck with the Super Badge and also with the Platform Developer II Certification.
“We @ Techforce Services are specialized in Salesforce Development – Apex, Visualforce and Lightning, API Integrations. We also cover Salesforce Setup, Implementation & Customization”.

Talk to us to know how we can Simplify your Salesforce journey.