Category: Salesforce

noimage

#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!

Tuesday

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.

Wednesday

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

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

noimage

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.

Sessions

Tuesday

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 Force.com 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.

Wednesday

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

noimage

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.

Sessions

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.

dev:our

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

noimage

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

noimage

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? 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. 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

noimage

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!

Resources

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)!

Sessions 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. Keynotes Developer Keynote: One of

Implement and Use Lightning Service Components

As the Lightning ecosystem evolves, I have noticed and adopted a valuable architecture pattern: Lightning service components. In this post, I will present this concept, illustrate how it is increasingly used in base components and provide tips and best practices on how developers can create their own service components.

Understanding Lightning service components

Before diving into the specifics of Lightning service components, let’s define what a service component is: A service component is a component that provides an API for a set of functionalities. Ideally, the service should be specialized, generic and reusable.

Another important thing that differentiates a service component from other components is the fact that it does not have a graphical representation. Unlike other components, it is not visible by default. However, it can display some graphics (like a modal dialog or a toast notification) upon request if it’s a UI service.

We will use the term “caller” throughout this post to designate a component calling a service.

An overview of base service components

Since the introduction of the Lightning Data Service (the first base service component) in Winter ’17, the number of base service components has steadily increased over releases. As of Summer ’18 there are 13 base service components and this number is likely to grow in the upcoming releases.

Summer ’18 base service components

Here is an overview of the Summer ’18 base service components. Notice that the terms “library,” “API” and “service” are used interchangeably but these are all service components.

Name Component Category Description Lightning Data Service force:recordData Data Provides the ability to create, read, update, and delete Salesforce records in Lightning without the use of an Apex controller. Notification Library lightning:notificationsLibrary UI Displays messages via notices and toasts. Overlay Library lightning:overlayLibrary UI Displays messages via modals and popovers. Workspace API lightning:workspaceAPI UI API for accessing/manipulating workspaces (Tabs and Subtabs). Utility Bar API lightning:utilityBarAPI UI API for the Utility Bar. Navigation Service lightning:navigation UI Allows to navigate to a given page or to generate a page URL. Navigation Item API lightning:navigationItemAPI UI Allows to control navigation items in Lightning console apps, where navigation items display in an item menu. Quick Action API lightning:quickActionAPI UI Allows to control actions in Lightning Experience on record pages. Conversation ToolkitAPI lightning:conversationToolkitAPI Service Cloud Console integration API for Live Agent. Omni-Channel Toolkit API lightning:omniToolkitAPI Service Cloud Provides access to the API for the Omni-channel toolkit. Minimized API lightningsnapin:minimizedAPI Service Cloud Enables customization of the user interface for the minimized snap-in in Snap-ins for web. Pre-chat API lightningsnapin:prechatAPI Service Cloud Enables customization of the user interface for the pre-chat page in Snap-ins Chat. Settings API lightningsnapin:settingsAPI Service Cloud Enables to fetch certain settings from within custom components for Snap-ins for web. Using a base service component

All of the base components are documented with examples. For the sake of brevity we won’t examine all of them in detail in this post but let’s have a look at an example: displaying a notification with the notifications library.

The first