Posted on Leave a comment

#DF18 Developer Guide: If You’ve Built a Ton of Apps (But Not Many on Salesforce Yet)

Dreamforce has hundreds of sessions devoted to development. If you’re a developer who has worked with different frameworks and platforms but are new to building on the Salesforce Platform, we’ve got you covered. Here’s a list of developer sessions that might help you as you plan your sessions. Open up your Agenda Builder and bookmark away!


Identity 101: Design Patterns for Access Management
Tuesday September 25, 8:00 AM – 8:40 AM
Managing identities and access controls across many orgs, applications, and Identity Providers is a modern necessity, but also a daunting challenge. Join us as we dive into the use cases and demo how you can manage identities at scale, employing a mostly clicks-not-code approach. Learn how to build for multi-org architectures using SSO, Connected Apps, JIT Provisioning, and Login Discovery. You’ll come away with best practices and a sneak peak into upcoming features on the roadmap.

Route Your Triggers Like a Pro
Tuesday, September 25, 10:00 AM – 10:20 AM
Did you have a closer look at your trigger handlers recently? In many cases, platform events can encapsulate and orchestrate your business logic much cleaner than triggers and are easier to integrate with from outside of your org. Custom metadata types enable you to make your triggers and platform event handlers configurable for yourself and – caveat emptor – customizable and replaceable across namespaces. And what about this new Trigger Context Enum? Learn to route your business logic like a pro and to conduct the traffic in your org and/or packages in reliable, performant and – if you want to – configurable ways.

JavaScript Testing with the Lightning Testing Service
Tuesday, September 25, 12:30 PM – 12:50 PM
As the number and complexity of Lightning Components in your org grows, so does the risk of defects when you write them, and of breaking changes when you refactor them. Lightning Testing Service enables you to create JavaScript test suites to maintain a high standard of quality. Join us to learn how you can use Lightning Testing Service to evaluate the impact of code changes, improve the robustness of your JavaScript code, and gain confidence that your Lightning Components work as you expect.

Supercharge Lightning Apps with Base Components
Tuesday, September 25, 5:00 PM – 5:20 PM
Are you getting started with Lightning Component development? Join us to learn how to easily use base components to create apps that look great and work seamlessly within Lightning Experience. We’ll explore several examples that solve real-life use cases with a minimal amount of code. You will walk away ready to experiment and build on your own.


Build & Deploy Heroku Apps Using Docker
Wednesday, September 26, 10:00 AM – 10:20 AM
Are you wondering how to build and deploy Docker images to Heroku? This session gives you a brief introduction to Docker, followed by an interactive demo of deploying Docker images to Heroku. You’ll leave with a solid understanding of how to build and deploy Heroku applications using Docker.

Crafting Flexible APIs in Apex Using Custom Metadata
Wednesday, September 26, 12:30 PM – 12:50 PM
Integrations need to evolve as an application’s data needs grow. Don’t get stuck rewriting your code to handle new data. Instead, future proof your integration by using Custom Metadata. A properly architected and configurable API can greatly reduce maintenance costs and allow admins to own the configuration of a custom API integration. Join us to learn how to create a custom and configurable APEX REST API that accepts a JSON payload from a webhook, and uses Custom Metadata and Entity Definitions to dynamically map data to Salesforce Objects.

My Boss Told Me to Build a Lightning Component. Now What?
Wednesday, September 26, 3:15 PM – 3:35 PM
You’ve decided (or were voluntold) to build your first Lightning Component. Now what? Have a seat for a crash course in building Lightning Components. Using a live coding demonstration, you will see a Lightning Component come together from scratch. From markup to JavaScript to CSS, we’ll break down each step along the path to your first component. You’ll leave the session feeling empowered to take on new adventures in your own Lightning journey.

Quickstart Templates with the Salesforce CLI
Wednesday, September 26, 5:00 PM – 5:20 PM
When building a new offline application using Salesforce Mobile SDK, many developers have to copy and paste codes to set up the same base functionality. To solve this problem, we created a Salesforce Command Line Interface plugin to generate a simple offline application from a template, which saved us quite a bit of time and effort. In this session, you will learn how you can build your own CLI plugin to leverage templates to speed up your application development.


Salesforce for Developers Keynote: Build the Future of Apps
Thursday, September 27, 1:00 PM – 2:00 PM
People now expect apps of the future; continuously improving, integrated, and smarter. As developers, you are more empowered than ever to build these apps. Join this developer keynote and be the first to see how the Salesforce Platform can help you build apps faster, integrate apps easily, and make apps smarter.

Avoiding Common Security Mistakes
Thursday, September 27, 2:30 PM – 2:50 PM
Cross-site scripting, SOQL injection, open redirect; even if you’ve heard of these security vulnerabilities, you might not know how they work. Join us as Salesforce security engineers explain how these common web application vulnerabilities manifest in your code and how to banish these flaws from your code for good.

Salesforce API Fundamentals
Thursday, September 27, 4:00 PM – 4:40 PM
APIs are a critically important aspect of interacting with data. But with so many ways to programmatically customize Salesforce, where do you start? This session is your guidepost to the world of Salesforce APIs. Join us as we step back and look at the landscape of core Salesforce APIs, from REST to Bulk to Metadata, and more. We’ll break down what they really are, when you should use them, and Salesforce’s roadmap for building even more innovative API frameworks to transform your business.

Build a ChatBot with Einstein Bots (2)
Thursday, September 27, 5:15 PM – 5:35 PM
Are your service agents spending too much time on simple, repetitive or routine customer requests? Join us to gain an understanding of Einstein Bots, related components, and how to build your own smart Chatbot, powered by CRM data, in a few easy steps. You’ll be able to build your own Virtual Agent ChatBot so your agents have time to work on more meaningful customer issues where human interaction is required.


3 Great Salesforce Open Source Projects You Need (2)
Friday, September 28, 9:30 AM – 9:50 AM
The Open Source Initiative (OSI) is celebrating its 20th anniversary in 2018. The open source core team at Salesforce will be providing high-level insight into open source at the company. Join us for an overview of the top three open source projects that are built on top of our Lightning Platform that you can leverage in your day-to-day life. Be part of the phenomenal transformation to adopt and contribute to these projects. This is a great opportunity to find out more about these cool projects and be able to interact directly with core committers.

Get on the Bus, The Platform Events Bus!
Friday, September 28, 10:30 AM – 11:10 AM
Learn how you can build event-driven integrations with platform events that are low/no-code friendly and incredibly extensible. In this session we will build a simple microservice to integrate our sample Salesforce app with a third-party system on Heroku utilizing Salesforce Platform Events. We will then extend this integration using declarative tools like Process Builder and Flows to perform additional business logic with no extra code required. You will leave with a clear pattern for how to create, configure, and consume Platform Events, and will understand the benefits of designing integrations to be extensible by both developers and administrators.

Manipulate and Integrate Salesforce Data with Heroku Connect & Postgres
Friday, September 28, 12:00 PM – 12:20 PM
Heroku Connect provides bi-directional data synchronization and virtualization between Salesforce and Heroku Postgres. Mulesoft’s AnyPoint platform provides the tools, connectors, and runtime to enable robust integration of data in cloud apps, such as Salesforce, with a line of business and custom applications. In this session, we’ll discuss common usage patterns for integrating customer data in Salesforce with Heroku apps, and explain which use cases are better suited for Heroku Connect, Mulesoft, or the two in concert.

Remember, even if you can’t make it to Dreamforce in person, we’re putting sessions online soon after the event so keep an eye out for the recordings!

Posted on Leave a comment

Discover What’s Next for IBM at Dreamforce 2018

Last year, Salesforce and IBM announced a strategic partnership with the goal of delivering joint solutions to leverage IBM Watson’s industry-leading enterprise Artificial Intelligence (AI) and machine learning on the Salesforce platform. As the partnership has accelerated, IBM Cloud Integration has supplied tools for Salesforce developers to quickly and effectively connect data and manage APIs in a multicloud environment, such as the IBM Watson Salesforce SDK we launched last year.

That’s not all—with a partnership like Salesforce and IBM, how could it be? Stay tuned for a big announcement at Dreamforce of a new product developed via the partnership. 

Join us for our sessions at Dreamforce 2018:


Posted on Leave a comment

#DF18 Developer Guide: Sessions for Diving Into Code from Click-Based App Building

If you’re used to building apps primarily through clicks on the Salesforce Platform and want to learn more about how to code, Dreamforce is chock full of resources for you. We’ve put together a quick guide of sessions you may want to bookmark if you’re visiting this year – and if you can’t make it in person this time around, keep an eye peeled for recorded sessions online on our Dreamforce page for Developers!


What I Wish I Knew When I Started with Lightning Components
Tuesday, September 25, 2:15 PM – 2:35 PM
Are you starting out with Lightning Components? Join us as we tell you about the most interesting lessons learned, useful tips and tricks that will help you in your learning path, handy tools, and the most common errors. Become a developer who understands the best practices required for Lightning Components, and apply it to component builds in your own organization.

Getting Started with the Salesforce CLI (Command Line Interface)
Tuesday, September 25, 11:15 AM – 11:35 AM
The CLI is the first step in learning to develop with modern tools on the Lightning Platform. Even better, it can also enhance your current workflow. The CLI is scriptable, enables version control, and allows you to use continuous delivery and deployment. In this session, we will demo the CLI while showcasing all of the best tricks and best practices. We will also share what’s new with commands like source:retrieve source:deploy .

Simple, Rapid Cloud Integration with MuleSoft Anypoint Platform
Tuesday, September 25, 12:30 PM – 1:10 PM
The connected customer experience requires that all systems, data and devices are integrated. Every business today needs connectivity that spans cloud apps, on-premise systems and data, and applications hosted in public clouds. In this session, we review how the MuleSoft Anypoint Platform makes it possible for business and IT to collaborate and engage customers wherever and whenever. Learn how Anypoint Platform makes it easy to rapidly build integration with a low-code, no-code approach that doesn’t require advanced programming skills. Additionally, we will showcase how developers can further extend these integrations with reusable APIs that will lead to enterprise-wide transformation.


Getting Started with Git on Salesforce
Wednesday, September 26, 11:00 AM – 11:20 AM
Using a version control system for the first time can be intimidating. Learning just a few Git commands can go a long way towards keeping track of code changes and restoring previous versions when bugs are introduced. Armed with just the basic commands, developers can take the first steps towards using Git with Salesforce. This session will walk through setting up a Git repository, creating a branch, committing changes, and pushing those changes to a remote repository.

Overcome Your Fear: Become a Salesforce Developer
Wednesday, September 26, 11:30 AM – 11:50 AM
If you’ve ever tried to decipher custom code to make a minor modification and ended up overwhelmed by the complexities, you’re not alone. Taking the leap from an #AwesomeAdmin to Developer can be intimidating. But don’t give up. In this session, we’ll give you the resources you need to create a concrete plan so that you too can overcome your fear and become a Salesforce Developer.

Lost in Translation: All About Integrations
Wednesday, September 26, 1:30 PM – 2:10 PM
During this session, you will learn all about integration basics. If you aren’t sure where to start, we’ve got you covered. You will return to the office with actionable knowledge of what is an API, WSDL, SOAP or REST and Bulk or Streaming, and when to incorporate or leave them behind. We will define and provide a cheat sheet to help identify the integration solutions that will address your business requirements.

My Boss Told Me to Build a Lightning Component. Now What?
Wednesday, September 26, 3:15 PM – 3:35 PM
You’ve decided (or were voluntold) to build your first Lightning Component. Now what? Have a seat for a crash course in building Lightning Components. Using a live coding demonstration, you will see a Lightning Component come together from scratch. From markup to JavaScript to CSS, we’ll break down each step along the path to your first component. You’ll leave the session feeling empowered to take on new adventures in your own Lightning journey.


Salesforce for Developers Keynote: Build the Future of Apps
Thursday, September 27, 1:00 PM – 2:00 PM
People now expect apps of the future; continuously improving, integrated, and smarter. As developers, you are more empowered than ever to build these apps. Join this developer keynote and be the first to see how the Salesforce Platform can help you build apps faster, integrate apps easily, and make apps smarter.

Discover and Use Prototyping Tools for Lightning Experience
Thursday, September 27, 3:15 PM – 3:35 PM
Prototypes are a very effective technique for testing new ideas and iterating on them: the closer to reality and the more interactive a prototype is, the better…and the more effort it needs. In this session, you’ll learn to use Lightning Experience prototyping tools to experiment and refine concepts, in record time, to achieve a better user experience for your customers.


Build a ChatBot with Einstein Bots
Friday, September 28 12:00 PM – 12:20 PM
Are your Service Agents spending too much time on simple, repetitive or routine customer requests? Join us to gain an understanding of Einstein Bots, related components, and how to build your own smart ChatBot, powered by CRM data, in a few easy steps. You’ll be able to build your own Virtual Agent ChatBot so your Agents have time to work on more meaningful customer issues where human interaction is required.

Trailhead Zone

In addition to sessions, check out all our offerings in the Trailhead Zone. You especially won’t want to miss out on the Developer Forest. There you can see demos and connect directly with product experts!

Posted on Leave a comment

Keep Your Org in Tip-Top Shape with Deployment Best Practices

Your production org is your live Salesforce instance, and keeping it running like a champ is critical to your business and customers. How do you keep your users happy? By following common best practices for governance and application lifecycle management. We could write several Trailhead modules about those topics (and we’re working on that). However, here in this blog post, we focus on some specific recommendations about how your choices in these areas can lead to successful deployments. Like any application, when you make changes to a production environment, you need to consider how your users will be affected.

Administering versus developing

Before we dive in, let’s clarify the difference between two types of tasks you perform in your org, which we’ll call administration and development. Administrative tasks include things like:

  • Developing email templates.
  • Creating or editing users.
  • Creating or editing permission sets and profiles.

All of these things are often done in a production org, and that’s fine. You aren’t changing or building applications when you do these things.

On the other hand, when you add a field to an object or a tab to an app or move a field around, you are changing an app (or potentially creating a new one). These are all development tasks, and that’s what we are focusing on here, whether these changes are declarative or programmatic. Best practices dictate to perform development tasks outside of your production org.

Pitfalls of developing in production

What can happen if you don’t test your changes in a development environment first?

  • A workflow rule accidentally creates an infinite processing loop.
  • A change in a field’s type modifies data in ways you can’t undo.
  • A logic error in a validation rule prevents you from saving a record.
  • Page layout changes confuse people instead of improving their experience.

Sometimes a minor edit to one thing can have an unexpected cascading effect on many other things in your production org. For example, each of these tasks has a ripple effect.

  • Editing any aspect of custom objects or fields.
  • Activating critical updates.
  • Creating a new tab via the Setup UI.

Why? Because even a simple change to your data model may have far reaching consequences.
For example, let’s say you change a field’s type. This change can modify the data in ways you can’t undo, and it’ll likely cause a lot of Apex code to recompile.

The types of changes you make to develop an app could invalidate Apex bytecode, the pre-compiled, ready to execute representation of your Apex. The invalidated code needs to be recompiled. When your end users initiate an action, such as saving a record, the response from Salesforce will be delayed while the Apex code is being recompiled.

Let best practices guide you to success

You want a change management process that reinforces that development should occur outside of your production org. A change management process determines what kinds of modifications you allow on your production org, when they can occur, and who is responsible for making the changes.

As a guardian of your production org, you can follow these guidelines to avoid common pitfalls that can derail your deployment.

Change management best practices for successful deployments

We’ll say it again: When you’re developing or modifying an app, the safest place to make and test changes is in a dedicated development environment, such as a sandbox or scratch org. In fact, you must make some changes in a development environment to safeguard your production org, such as writing Apex code. Here are some suggested governance rules to encourage good development practices.

  • Minimize who can develop in production. Limit ‘customize application’ access for admins.
  • Restrict permissions to perform programmatic deployments to a small number of admins.
  • Be judicious about the changes you make via the Setup menu in production and stick to administrative tasks.

You’ll also want your change management plan to include guidelines for deployment. A general rule of thumb: avoid high impact changes during critical hours. For example, deploy when most users will be off the system. Release on a consistent schedule. Aim to release at regular intervals and on a given day of the week. For example, maybe minor releases occur at 8 PM Eastern time on the first Tuesday of every month. Try not to release near holidays or other major events.

Scheduling consistency helps with company-wide planning and sets expectations with your business users.

Good governance

Good governance practices ensure that your teams work together to support your business goals. A key element of good governance is a comprehensive release management process. If you design and document a complete release management process, everyone who works in your production org knows and understands their role in this process. A governance and change management framework directs the development process.

As your org grows, consider a development lifecycle that includes at least 3 orgs.

  • A development org. Here you create your app or apply modifications to existing apps. This is usually a sandbox or scratch org.
  • A staging org. This org is usually a sandbox where you run end-to-end tests. You might also do user acceptance testing, although often a fourth org is used for this purpose.
  • Your production org. This is where your users interact with your applications.

This multi-org approach has multiple benefits for helping to ensure a smooth deployment to production.

  • Practice the deployment to identify any issues.
  • Make sure you include everything you need in your deployment artifact. If you missed something, it will be obvious when you test it.
  • Have multiple users test out your changes (user acceptance testing).

However, before you deploy to production, you want to evaluate the impact on your user base. In general, it’s always best to avoid peak times, especially if your deployment will a cause Apex recompilation.

You can see which Apex classes will be impacted by your deployment.

  1. Before you perform your test deployment in the staging org, turn on Compile on Deploy from Apex Settings in Setup. This setting enables your staging org to mirror the behavior of your production org during deployment.
  2. Perform your deployment from development to staging.
  3. Once your deployment is complete, in your staging org, go to Apex Classes via the Setup menu. Customize the view so that you can see the Apex class name and the Is Valid column.

Any Apex class that doesn’t have the Is Valid box checked would need to be recompiled after running the same steps in production.

But there’s good news! Starting in Summer ’18, each org’s Apex code is now automatically recompiled in production when completing a metadata deploy, package install, or package upgrade. This change in behavior improves performance following metadata deploys and package updates. Previously, a deploy, install, or upgrade could leave an org with invalidated code, causing reduced performance while Apex was recompiled. This feature causes deployments to the org to invoke the Apex compiler and save the resulting bytecode as part of the deployment. A minimal increase in deployment times can occur, but Apex doesn’t need to be recompiled on first run. So the slight increase in deployment time can prevent performance issues on first run.

However, if you see a lot of classes that need to be recompiled, you definitely want to make sure that deployment happens in off-hours!

Note: Avoid using “Compile all classes” if there is a lot of transaction activity in the org until this known issue is fixed.

Deployment options

Customizations and feature settings, such as custom objects or account settings, Apex code, and Visualforce pages, are represented as metadata components. You have several options for moving metadata from one org to your production org.

Change sets

A change set is a release artifact that is a set of metadata changes relative to what’s in the production org. You can deploy workflows, rules, Apex classes and triggers, and other customizations from a sandbox to another sandbox, or to a production org. What gets released is only metadata that has been added or changed. You can create change sets using the Salesforce UI.

Metadata API

You can use the Metadata API to move metadata from a local file system to a Salesforce org. A popular way to deploy metadata is using the Metadata API. Similar to change sets, what gets released is only metadata that has been added or changed, and we provide some tools you can use that leverage the power of the Metadata API. The Salesforce CLI a powerful command line interface that simplifies development and build automation when working with your Salesforce org. Or if you like Java, you can use the Ant Migration Tool, a Java/Ant-based command-line utility. You can use the Ant Migration Tool to perform repetitive deployments that can be scripted and that use the same components (the same package.xml file).


By following some simple governance and change management best practices, you just saved yourself and your users a lot of headaches.


Posted on Leave a comment

Dreamforce ’18 Developer Guide: The Newest of the New for the Lightning Platform

We’re counting the days until Dreamforce and hope you are too. If you’ve been building apps with Salesforce for a while and have a ticket to Dreamforce, you’re probably looking for the newest and best ways to build apps of the future with the Lightning Platform. Here’s a quick guide we’ve put together for you to help you if you’re looking for things to add to your #DF18 agenda.



Be An Efficient Salesforce Developer with VS Code
Tuesday, September 25, 8:00 AM – 8:40 AM
VS Code is the new standard IDE for Salesforce developers. Join us to learn the basics of VS Code, what the Salesforce extensions for VS Code are, and how you can squeeze ultimate productivity out of the IDE and its capabilities. Whether you’re moving from the IDE to VS Code or are brand new to developing on the Salesforce Platform, you’ll walk away with a ton of tips to become even more efficient in your day-to-day Salesforce development.

Advanced Lightning Components
Tuesday, September 25, 8:30 AM – 9:10 AM
If you know how to build basic Lightning Components and are ready to go to the next level, this session is for you. Join us to learn how to reuse code between components, use popular third-party libraries, cache data efficiently, and other things you didn’t know you could do with Lightning Components.

Super Session Salesforce DX
Tuesday, September 25, 10:30 AM – 11:10 AM
Calling all developers for a deep dive into how everyone, whether you click or code, can build on the Lightning Platform. Join us for an “all demos” session to learn how new and improved tools, metadata coverage and usability, and change management will increase productivity and make your lives as Salesforce developers even better. This session will be packed with live demos, real-world insights, and an in-depth look at our roadmap.


Everything That’s Awesome with Apex
Wednesday, September 26, 1:30 PM – 2:10 PM
Get a sneak peak into Apex plans, the roadmap, and how we are making secure development easier. We’ll share some of our newest concepts (async Apex anyone?) and get your feedback on hot IdeaExchange features.

Develop Apps at Big Data Scale with Big Objects & Async SOQL
Wednesday, September 26, 2:15 PM – 2:35 PM
Big Objects represents an entirely new paradigm for storage on the Salesforce Platform. Join us to learn what Big Objects means for app development, and how you can use new query techniques like Async SOQL to manipulate data at scale. Meet the Big Objects engineering team, learn about the architecture, and hear how businesses and partners are utilizing Big Objects today.

Meet the Developers
Wednesday, September 26, 4:00 PM – 4:40 PM
If you have ever wanted to just sit down with the technical leadership team at Salesforce and ask any question you want about Salesforce Platform technology, this is your chance. This annual and venerable panel session is an open Q&A with the product owners and engineers that are building all aspects of the Salesforce Platform. Bring your questions and hear what other developers are burning to know as well.

Tips for Organizing Metadata to Adopt Unlocked Packages
Wednesday, September 26, 5:00 PM – 5:20 PM
In this session, you’ll learn how to begin thinking about decomposing your org’s metadata into discrete packages, the benefits of adopting permission sets, and how design patterns like dependency injection enable you to decouple your packages. We’ll do a live demo using the new Dependency API to quickly and easily identify metadata and their dependencies as a starting point for creating a package. You’ll walk away understanding which packaging strategy best suits your needs, and the features and tools most effective in adopting unlocked packages.


Connect Your APIs with MuleSoft and Salesforce Identity
Thursday, September 27, 4:30 PM – 5:10 PM
With MuleSoft, businesses have the ability to create, secure, and manage APIs for any system, process, or experience – but have you thought about how to connect MuleSoft APIs with Salesforce? Are you interested in making that experience easy? Join us for a conversation and tour as we demonstrate the fastest path to seamless API integration with MuleSoft and Salesforce Identity. We’ll share best practices for authorization and authentication of APIs in MuleSoft using Salesforce Identity, and show you how your business can take full advantage of MuleSoft’s API lifecycle capabilities with the Identity tools you already know.

Einstein Analytics: SAQL Deep-Dive
Thursday, September 27, 9:30 AM – 9:50 AM
A step-by-step guide to using SAQL to answer complicated business questions. Sometimes data is scattered across multiple datasets. This session focuses on how and when to use SAQL in Einstein Analytics to create steps that leverage varied sources.

Salesforce for Developers Keynote: Build the Future of Apps
Thursday, September 27, 1:00 PM – 2:00 PM
People now expect apps of the future; continuously improving, integrated, and smarter. As developers, you are more empowered than ever to build these apps. Join this developer keynote and be the first to see how the Salesforce Platform can help you build apps faster, integrate apps easily, and make apps smarter.

Moving to Visual Studio Code for IDE Developers
Thursday, September 27, 4:00 PM – 4:20 PM
See the exciting additions to the VS Code tools that allow developers to work directly with their Sandboxes and DE orgs. You’ll see how the Salesforce Extensions for VS Code enable you to use your current development workflows while upgrading to the latest and greatest tooling Salesforce has to offer. This session will show demostrations as well as cover best practices for managing and deploying metadata to your various orgs. Take your existing IDE skills and apply them to the shiny new Visual Studio Code tools.


Introducing Query for Bulk v2
Friday, September 28, 10:15 AM – 10:35 AM
With the introduction of Bulk v2 last year, Salesforce simplified the process of uploading and operating on large volumes of data. We now look to do the same with Query. In this session we review Bulk v2, how the new Bulk Query works, and what it means for you.

Advanced Apex Testing
Friday, September 28, 11:30 AM – 12:10 PM
Testing your code can feel laborious and hard. Dependencies can make tests hard to follow and understand. Thankfully, the Lightning Platform has tools to make testing faster, easier, and more exciting. Join us for a deep dive into advanced testing topics including mocking, stubbing, avoiding the database, and writing custom assertions. Never heard of those? That’s OK, we’ll introduce and demo exactly how they work, and why.

Trailhead Zone

And of course while you’re onsite and have time between sessions, don’t forget the explore the Developer Forest in the Trailhead Zone. There you can talk to product experts, ask them questions and give them feedback!

Posted on Leave a comment

DocuSign at Dreamforce 2018: What’s New for Developers

As a developer-first company, DocuSign is incredibly excited to once again be heading back to Dreamforce to share the newest ways to build business apps for the future.

We’ll be sharing more about DocuSign for Salesforce at Dreamforce. It’s configurable, including signing for any business process inside Salesforce, and enables you to track statuses in real time. We think it’s because of reasons like these that we think it’s the most popular eSignature app on AppExchange. If you’re interested, watch this video on how BNY Mellon designed, developed, tested, and rolled out their DocuSign for Salesforce integration in just a few months. Or check out how Retail Capital streamlined its agreement process with DocuSign for Salesforce and Custom Buttons.

When you stop by the DocuSign booth this year at Dreamforce, we look forward to discovering what you want to do with your specific use case(s), Salesforce code examples, getting your feedback, and hearing your ideas for how we can make development even easier for you. Here’s just some of how we at DocuSign hope to help you this year at Dreamforce.


Getting Started with DocuSign for Salesforce
Using the DocuSign for Salesforce managed package, users can send a document for signatures from within Salesforce and guide signers in the signing process. Come learn how to easily integrate DocuSign to automate your eSignature workflows.

DocuSign Labs: Getting Started with our APEX Toolkit
A deep dive into what’s possible with DocuSign’s APEX Toolkit. Join us for recipe discussions, code samples, and a sneak peek of what we’re building and working on!

eSignatures: Extending DocuSign for Salesforce Administrators
Looking to further empower your users with DocuSign? Come learn how our new features will further enable process automation and customization.

DocuSign Labs: How a Real Customer Successfully Enhanced its System of Agreement
Digital transformation gave rise to modern Systems of Record and Systems of Engagement for key business and communication processes. Let’s walk through how our customers have begun to optimize and automate their agreements using DocuSign for Salesforce.


We’ll be hosting dev:our again this year, which is a meet-and-greet at the W Hotel on Wednesday during Dreamforce. This is a great chance to learn about the ins and outs of DocuSign for Salesforce directly from the devs and engineers behind the code. It’s free of charge, and we’ll have lunch and knowledge to share with you. Sign-up here.

Demos and DocuSign University

Learn something new, or fine-tune your knowledge of all things DocuSign for Salesforce when you visit our booth in the Trailhead Zone. We’ll be showing you DocuSign Payments, DocuSign for Salesforce Lightning, how to utilize custom buttons, and a lot more. Through DocuSign University, we’ll also be providing full courses for both developers and Salesforce admins.

Side events

Just like last year, we plan on having a great happy hour event. A “hAPI” hour, if you will. We see free refreshments and plenty of opportunity to network or talk shop with DocuSign engineers and developers. Stay tuned here for details.

Mini Hack Challenge

We’re once again thrilled to be participating in this awesome component of Dreamforce. Details on the challenge are on their way but be sure you don’t miss out!

Can’t make it to Dreamforce? We got you covered!

If you’re unable to be with us in San Francisco, we have plenty of resources to get you started on the right foot with DocuSign for Salesforce. First step: visit the DocuSign for Salesforce page on our own site. This will give you a long list of details and info on how to get going.

Ready to start with the app from the AppExchange? Just head here.

How about if you’re ready to fine-tune and customize DocuSign for Salesforce? There are lots of code examples available here. And finally, if you’re an administrator, check out this guide for DocuSign for Salesforce administrators.

We can’t wait to see you in San Francisco at Dreamforce! Stop by our booth when you arrive, and in the meantime, reach out to us on Twitter with any questions or comments.

Posted on Leave a comment

Meet the Winter ’19 Developer Preview Live Panel

Dreamforce is only a few weeks away… and the Developer Preview Live is just a few DAYS away! In the upcoming preview this week, I’m really looking forward to sharing with everyone what these Salesforce product experts think is great about what’s in the Winter ’19 release. If you haven’t had time to dive into the release notes yet — or even if you have already — register for our Developer Preview Live this Friday at 9:30am Pacific time, see some great demos, and ask us questions live on camera!

Of course, the panelists for the Developer Preview Live are also super busy preparing some amazing, educational sessions to share the best ways to build apps on the Salesforce Platform. If you’re attending Dreamforce, add these sessions to Agenda Builder so you can check out their talks in-person, or if you’re watching online, mark them now so you can watch the recorded presentations online after the event.

Chris Castle – Heroku

Chris will be joining us at the Developer Preview Live to share some of the great ways developers can use Heroku. He’ll also be all over Dreamforce, staffing the Heroku booth at the Developer Forest and popping up at all sorts of other Heroku talks for developers. You’ll catch him leading this talk:

Beyond Buzzwords: Microservices, Evented Architecture and Apache Kafka on Heroku
Let’s set aside the marketing spin for a moment and focus on the real-world problems that microservices and event streams can solve for us. We’ll explore why you should consider these patterns, the exciting technologies that support them, such as Apache Kafka, and most importantly, how you can set aside your fears and be confident in what you’re building now and the future.

Rohit Mehta – Salesforce DX

Rohit’s been super busy working on Salesforce DX, but when he’s not figuring out features, he’s helping out with sessions and even speaking at a few sessions! Catch him for sure at these talks:

What’s New with Salesforce DX for ISVs
Are you an AppExchange (ISV) Partner that already understands Salesforce DX and what it has to offer? Or are you an ISV that has been waiting for Managed Packaging to jump into the Salesforce DX world? This session is meant to help you take advantage of what is available and works best for ISVs today, and how to start applying it to your build and release process. You’ll also learn about the various options available for ISVs and what the roadmap has in store.

Sandboxes and Scratch Orgs: Picking the Right Environment for Your Project
Major releases, minor releases. Developers, testers. Refreshes and previews. How do you manage all of these various demands in your Salesforce environments’ scratch orgs and sandboxes? Join Salesforce product experts for updated details on tackling these problems and how to pick the right environment for your project. We’ll also discuss features for optimizing your use of Salesforce Environments.

Gayathri Geeta – Community Cloud

Gayathri spoke on our Community Cloud: New in Summer ’18 webinar. She’s back again for this Developer Preview Live, and will be all over San Francisco at different presentations sharing new ways to build with Community Cloud!

Redefining Content: Beyond Media into CRM
Think you know everything about content? We’re about to change all that. When we think about traditional CMS, we think about images, videos and text. But today Salesforce Community Cloud is redefining content. Come and learn how to incorporate CRM, process and product catalogs into your content strategy for powerfully personalized experiences that win customer loyalty.

Create Rich Experiences Using Community Cloud’s Digital Experience Platform
Community Cloud’s Digital Experience Platform lets you create visually stunning communities and go to market faster than ever before. Learn how you can build beautiful, personalized, and intelligent CRM experiences using the Lightning Community Builder and our brand new native CMS. Join us to learn about exciting new developments and what’s next for Community Cloud’s Digital Experience Platform in 2019.

Greg Rewis – Lightning Platform

If you’re reading this blog post, you probably already know Greg! This rockstar has been all over the world talking about what’s great about Lightning Components for developers and we’re super happy to be having him at the Developer Preview Live panel. He’ll also be taking the stage for three talks at Dreamforce!

My Boss Told Me to Build a Lightning Component. Now What?
You’ve decided (or were voluntold) to build your first Lightning component. Now what? Have a seat for a crash course in building Lightning components. Using a live coding demonstration, you will see a Lightning component come together from scratch. From markup to JavaScript to CSS, we’ll break down each step along the path to your first component. You’ll leave the session feeling empowered to take on new adventures in your own Lightning journey.

Supercharge Your Lightning Components With Design Parameters
While the other seven files in a Lightning component bundle are all amazing to be sure, the single most important file is the Design file. Leveraging the Design file, developers can expose literally anything within their component for any App Builder user to modify, from the simple — like a title or color change — to parameters that can completely change the behavior of the component. This session will open your eyes to a whole different paradigm in building Lightning components, a paradigm in which your admins and fellow developers love you.

From Markup to Magic: The Evolution of Lightning Components
It’s been almost three years since developers began building Lightning components. During that time, a lot has changed. In this fast-paced session, we’ll take a look back at where we’ve come from and what we’ve learned, as we watch a component move from manually created markup and CSS from SLDS to Base Components, and finally to metadata-aware Base Components. Along the way, we’ll discuss best practices, share some tips and tricks, explore the magic of Lightning Data Service, and of course, we’ll do it all with Salesforce DX.

Arabella David – Hosting and hijinks

This Dreamforce, among other things I’m co-hosting an evening of fun and games in the Trailhead Zone in Moscone West, together with some great evangelists like Josh Birk, Kevin Poorman, Peter Chittum and others! Drop in and say hi if you’re around! I’m also for sure going to be at the Developer Keynote on Thursday — if you know what’s good for you(r totally awesome future development), you’ll bookmark this one for sure 🙂

Developer Game Night
We’re celebrating the first night of Dreamforce, developer style. Join us for laughter and fun with the Developer Relations team as we raise the roof of Moscone West with interactive games. There may even be game related prizes! (Note: This session won’t be recorded)

Register for the Developer Preview Live broadcast

If you’ve gotten to the end of this post and haven’t yet, don’t forget to register for the Developer Preview live broadcast! Learn about newest features for development, ask questions from product experts, and we’ll try our darndest to entertain and educate 🙂

Recommended resources

Posted on Leave a comment

Bad Data Prevention: Best Practices for Developers

Bad data quality creates trust issues. It can destroy the trust your sales team places in sales funnels, the trust your customers place in your company, and the trust executives place in data-driven decision-making. As a developer, you are in a unique position to stop bad data from entering your databases.

Sometimes good data goes bad

The first threat to your databases is natural decay, which occurs at an estimated rate of 31 percent per year. Without a proper data cleansing process in place, natural decay is going to take place due to everyday occurrences like job changes and promotions, contacts moving to different departments or regions, and companies merging or closing.

Sometimes bad data creeps in

The second threat to your databases is dirty data entering your systems due to things like human error at the input source and duplicate data that could have been prevented. This added bad data creates problems for everyone who touches that database or makes decisions based on it.

The problem of bad data is pervasive

No matter how much bad data exists in your database or enters it, it creates issues for developers. Some possible impacts:

  • You may be asked to customize solutions in a Salesforce instance that temporarily or partially deter bad data entry, but don’t really address the underlying problem
  • A lack of trust in the data creates indifference among users, thwarting your attempts to establish and maintain data quality controls
  • You create user interfaces, deploy new software applications, establish testing parameters, or generate analytics that are based on inaccurate or incomplete data
  • A workplace culture complacent with poor data impedes your ability to help Salesforce admins improve CRM data and streamline its maintenance

Recognizing the business need to address bad data

Some companies have a healthy respect for data quality, creating an internal culture that enforces data integrity and an external reputation for achieving it. For many others that don’t, the problem of bad CRM data eventually becomes impossible to ignore.

Company databases grow over time and the teams that rely on those databases to create operational efficiencies or generate important metrics often reach a tipping point concerning data quality. At this critical stage, the organization is forced to acknowledge that bad CRM data is exerting a significant and persistent drag on its operations and ability to meet strategic goals.

What can you do before bad data reaches crisis stage?

  1. Make a solid business case for good quality data. Help your organization and its key players understand that having a competitive advantage with data integrity has never been more important. Getting business executives to take notice and take action doesn’t always require a customer outcry about data breaches or a massive loss in expected revenue due to poor data quality.
  2. Move beyond the native tools of your CRM. Data-driven organizations need more than the standard toolsets. Adopt advanced solutions that integrate with your API and can identify, flag, and fix data issues ahead of time. Investigate third-party options on the Salesforce AppExchange and present recommendations that fit the data requirements and business goals of your organization.
  3. Create a system of prevention. Prevention is about guarding against the pollution of the CRM system. Often, it comes down to education. Work with managers and users on the little things that, together, can prevent bad data from entering the database in the first place.

Preventing bad data in your CRM

From a cultural point of view, prevention works best when policies and guidelines are shared and updated transparently. It is also most successful when developers and data admins foster a supportive atmosphere in which users are comfortable asking questions, discussing problems, and suggesting improvements.

Encourage and work with admins to create an effective system of prevention:

  • Develop clear usage protocols
  • Restrict access as appropriate
  • Train users to check for duplicate records before entering new information
  • Use a real-time deduplication tool to define how you want duplicates handled
  • Use a real-time email verification tool to support more effective digital marketing campaigns
  • Custom code to your business needs and use third-party apps that support your code
  • Rigorously enforce naming conventions and data field requirements

Data cleansing protocols are key

The second piece to this is remediation, which is about keeping the CRM system clean on an ongoing basis. As we have covered, data quality degrades very quickly and exponentially, so it’s vital to continually check it and correct anything erroneous or out-of-date.

Ideally, data health checks should be conducted on a set schedule – perhaps daily or weekly – alongside the use of a real-time duplicate prevention tool. Data cleansing scenarios can be created, customized, automated, and expanded upon as needed with third-party apps.

Be a catalyst for change

The data industry is becoming more complex, as are new technologies to handle databases of all sizes. To stay ahead of the curve, organizations will need to recognize and value the importance of data quality, including investing in the right tools to preserve and enhance the integrity of their information.

Resources for developers

We invite you to check out these additional resources from Validity.

  • Options for advanced developers with Apex Code and Visualforce experience
    • On Validity’s Apex Developer Options page, we provide details for how you can further customize DupeBlocker 3 to fit your specific business needs.
    • On this DupeBlocker settings page, we describe how to bypass records for round robin assignment and tracking (click on the quick link for Insert/Update Action Tracking Fields).
    • On this DupeBlocker scenario details page and in this article from our Knowledge Base, we describe a way to customize the redirect to (existing) Visualforce pages and a custom Apex option for the match on insert action.
    • On this DemandTools page, we describe how you can use regex in matching.
  • Dreamforce presentations: Meet the Validity team during Dreamforce at Booth #216 in the CloudExpo or visit us in the Trailhead Zone (look for your chance to win a Bose speaker). We encourage you to bookmark our presentations today and mark your calendar.
  • Validity Community: If you are not yet a member of the Validity Community, please check out this valuable resource hub filled with product solutions, tips and tricks, FAQs, recorded training webinars, and more.

About the author

Mark Briggs is the Chairman and CEO of Validity, Inc.

Posted on Leave a comment

Learn Essential JavaScript Skills with Trailhead

At Dreamforce 2014, we launched the Lightning Component framework; a new way to customize the Salesforce UI. With the launch of Lightning Experience and the framework going generally available, JavaScript has become a core skill of the Salesforce developer.

The Lightning component difference

Visualforce has been hugely successful. Like many server-side UI frameworks, it lowered the bar for front-end development. There was a good amount of customization available in markup alone. Plus, extending the logic of your page allowed you to fall back on the same Apex skills you would have used for a trigger or other custom logic.

With Lightning components being a client-side language, the role of Apex has lessened. Extending the functionality of your Lightning Component beyond the markup requires developers to attain a decent command of the JavaScript language.

Transitioning to JavaScript Skills

JavaScript is the language of the web and as programming languages go, it’s easy to pick up the basics. But mastery can be tricky — its peculiarities are well-documented. If you come from a classical server-side programming language background (like Apex), it can almost be more difficult for you to break out of what you know, into the world of JavaScript.

As a developer evangelist team, we’ve spoken and written a lot about JavaScript. But as an organization, we’ve never really tackled this persona of the experienced developer transitioning from a server-side language to JavaScript. Seeing a niche, and inspired by other training material like Dan Appleman’s pluralsight course, fellow developer evangelist Josh Birk and I presented the session JavaScript for the Salesforce Platform: A Beginners Guide at TrailheaDX 2018. We had a packed room, with a lot of positive feedback.

JavaScript on Trailhead

Building on the success of this session, I’ve built the Trailhead module JavaScript Skills for Salesforce Developers. This module is targeted toward an experienced Salesforce developer who is a relative newcomer to JavaScript.

After covering some general must know things about JavaScript (both the language and the runtime), this module walks you through basics of JavaScript in the browser and the DOM, Objects, Functions, Context and Scope, and finally some core asynchronous features of JavaScript. Each unit has code samples to support the discussion and also applies these concepts to how they are implemented in Lightning components.

More general purpose developer content?

We already have some ideas for more in-depth general JavaScript learning. But is there some general-purpose developer content you would like to see our Developer Evangelist team write or speak about? Post below with your ideas. We’d love to know what skill you think will be critical to your career development as a developer and if it might be a good fit for our blog or (of course) Trailhead!


Posted on Leave a comment

Where Are the Developer Evangelists at Dreamforce ’18?

Dreamforce is always packed to the brim with things to do and this year is no exception. Here’s where our Salesforce developer evangelists will be speaking and hanging out! They’re hoping to meet ALL of you!

What do Developer Evangelists do at Salesforce? Developer Evangelists are product experts whose mission is to help you best extend the Salesforce platform to build the best customer apps. They’re leading a bunch of fun and informative sessions, running around the Trailhead Zone in Moscone West, and all over the Developer Keynote to help you figure out how to use the latest and greatest from Salesforce!

Here’s just some of what we’ve got in store at Dreamforce for you this year. Be sure to bookmark these sessions now and add them to your schedule in Agenda Builder (Download it now in iOS or Android)!


Day 1 (Tuesday, September 25)

  • Be An Efficient Salesforce Developer with VS Code: With VS Code becoming the new standard IDE for Salesforce developers, maybe you’ve been meaning to find time to ramp up. Well, the time is now! René Winkelmeyer and Zayne Turner will show you (read: minimal-to-no-slides!) several techniques and tips you can easily add into your day-to-day development. And the topic is so hot that we already scheduled a repeat!
  • Advanced Lightning Components: Christophe Coenraets will show you how to get your Lightning components to the next level in this session. Learn how to reuse code between components, use popular third-party libraries, cache data efficiently, and other things you didn’t know you could do with Lightning components.
  • MuleSoft Anypoint Platform for Salesforce Developers and Administrators: Join René Winkelmeyer where he’ll show you live how to integrate third-party systems with Salesforce (and vice versa) using the MuleSoft Anypoint Platform. Whether you identify as an admin, developer, or admineveloper, this session is for everyone who wants to skill up their integration game. Can’t make it on this day and time? No problem, he’ll give it twice.
  • Behind the Rocks: The Making of Robotics Ridge: Heather Dykstra has been working on a super-secret project called Robotics Ridge with the amazing Reid Carlberg and Philippe Ozil. Join Heather to learn how the three of them brought five robots to life. She’ll cover everything from org administration to controlling robots. You won’t want to miss this session!

Day 2 (Wednesday, September 26)

Day 4 (Friday, September 28)

  • Modern Architectures: ALM Best Practices for Citizen Development: Join Zayne Turner, along with product management director Karen Fidelak and governance experts Anna Rodriguez and Andrew Smith, to find out how to empower everyone in your business to be app builders and keep your app delivery solid. You’ll learn best practices for architecting environments, governance processes, and policies.
  • Putting the You Into IoT: Josh Birk will be giving an introduction to IoT that anyone can follow along with. Join him to hear a story about how his nephew figured out IoT and what you can do to get started today.


  • Developer Keynote: One of our big highlights for developers at Dreamforce every year is the Developer Keynote. This year you’ll hear from Christophe Coenraets and Zayne Turner from the evangelism team as well as principal mobile architect Qingqing Liu and Heroku SVP Product and GM Margaret Francis. René Winkelmeyer will also be in attendance to drive the demo! Learn all about the future of Salesforce app development and how to build apps faster, integrate apps easily, and make apps smarter. Keep a slot in Agenda Builder open for Day 3 (Thursday, September 27) at 1PM to 2PM.
  • Admin Keynote: Kevin Poorman will be assistant demo driver for the Admin Keynote. You’ll hear about the new features of the Salesforce Platform for Admins and see some fun demos! Admin Keynote will take place on the first day of Dreamforce (Tuesday, September 25) at 11:00AM to 12:00PM.

In the Trailhead Zone

  • Kids Coding Camp: Josh Birk will be empowering the next generation of developers with demos and instruction at the Kids Coding Camp.
  • Robotics Ridge: Five robots and the Salesforce Platform are aiming to change the world as part of the Fourth Industrial Revolution. Come hang out with Heather Dykstra and Reid Carlberg to learn more and see the robots in person!

For those who can’t be at Dreamforce this year, we’ll keep you updated on the Salesforce Developers Twitter and Facebook pages on events that will be livestreamed. Stay tuned!

To get updates straight from our evangelists, follow them all on Twitter.

We’ll see you at Dreamforce 2018!