Salesforce TrailheaDX Day 1 Material

Posted by

I had an amazing couple of days at TrailheaDX learning new material and speaking with fantastic developers who are passionate about what they do. I am going to list out the sessions I went to on Day 1 and transfer over the notes I took on the different presentations. Let me know if you have any questions!

Build Better Software Faster using Models

What is the hardest part about building software? Aligning with your partners

  • End user (Persona Model): Who is it for?
  • Project Manager (Value Model): Why is it useful?
  • Designer (Interaction Model): How do I use it?
  • Developer (Data Model): How is state managed?
  • Object (Object Model): How is everything defined and what are the relationships?
Persona Model:
  • User archetype to make decisions about what is important in your product
  • Find common threads defining motivations, goals, frustrations, personality, technology, brands
  • A persona model is about empathy for emotions, motivations, behaviors and priorities
Value Model:
  • Product is a category of experience that provides me with “these benefits” and is better than the alternative for “these reasons”
  • Answering questions like: Which values matter to me?
  • Value model is about value for the persona not value for the business
Interaction Model:
  • User interaction changes system state and creating feedback that the system has changed
  • User interaction story
  • Interaction engages the story to tell for the user and their process
  • Value model is about value for the persona not value for the business
Object Model:
  • imagine we are designing a game about traveling by bicycle
  • What is the origin and destination of our trip?
  • What is happening along the way on our trip?
  • What story does our code tell us?
  • Defines the names and relationships in the system
Data Model:
  • This model and object model are extremely tightly linked
  • Specifies the state of the system at any particular time
  • User interaction -> changes system state -> creating feedback that system state has changed

New things that you can do with Lightning Web Components

import { LightningElement, api } from 'lwc';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';

export default class ToastDemo extends LightningElement {
    @api myProperty
    makeToast() {
        this.dispatchEvent(new ShowToastEvent({
            title: 'Hi from TrailheaDX 19!',
            message: 'This conference is awesome!'

Keynote Discussion and Announcements!

Introducing Salesforce Blockchain! Salesforce Blockchain is a new way to build trusted networks. With Salesforce Blockchain, you can quickly create these networks using point-and-click tools. Network partners can be internal or external to your company, and you don’t have to know anything about the operating systems or technology a partner may use.

Lightning web components are now open sourced! This allows developers to contribute to the roadmap and to use the same framework whether they are building applications on Salesforce or on any other platform.

On the same note, Lightning web component local hosting was also announced coming available Summer ’19. This means that the days of deploying, refreshing once or twice to see your changes are over. A developer will be able to locally launch their component and get data from Salesforce to work with.

Salesforce Mini-Hacks!

I completed three mini hacks that I will be posting as a separate blog posts:

  • Building a word cloud Lightning web component with a 3rd party JavaScript library showing most recent accounts and clickable to access records from the canvas
  • Building a Lightning web component from an app using an unlocked package deployed to a scratch org that shows data related to a record, certain attributes about them, the image of the product and a button that navigates to the record
  • Creating a platform event and then writing a trigger to be invoked off an external web tool that creates a new record in your salesforce instance

A JavaScript Crash Course from an Apex Developer’s Point of View

Diving into JavaScript fundamentals such as first class functions and the differences between functional and global scope. If you want to learn more about that, please check out my blog post Global, Local and Block Scopes and what it means for variable declaration in JavaScript.

We also went over using map(), reduce() and filter() instead of a traditional for loop and scenarios when you would as well as how that correlates back to first class functions

Day 1 was awesome! I am looking forward to adding the material for Day 2. If you have any questions over the material covered, please let me know and Ill be happy to assist!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s