Description
Part of what truly makes a platform is an ability to integrate with third party devices, servers and software. Join Ami Assayag and Kirk Steffke from CRM Science and Developer Evangelist Josh Birk as they breakdown examples of using Apex for integration solutions. Apex has robust methods for handling both inbound requests into Salesforce and outbound calls into third party systems. This webinar will break down how Apex can be used in these cases as well as how to test the code once it is up and running.
Key Takeaways
- How Apex fits into an integration solution
- Using Apex to create custom endpoints
- Handling outbound calls with Apex
- How to achieve test coverage with mock interfaces
Intended Audience
Developers with Apex experience looking to integrate with either existing API’s or expanding the functionality of Salesforce API’s.
The new queueable Apex feature is not only a great way to make asynchronous calls, it also enables new design patterns that let you dramatically increase the reliability of those calls. In addition, you can detect and recover from a wide variety of errors and exceptions with clarity. Join us to learn how to use queueable Apex to build robust asynchronous code.
Apex Triggers can be your best friend or your worst enemy. When a trigger is firing properly your data is under control and remains sane, but when a trigger doesn't fire properly, your users can be faced with the frustration of exceptions when saving a record, or worse: incorrect data. Join us to learn tips and tricks on how to debug and solve the most complex issues, including: Ambiguous Field Validation, After Insert Activity Errors, and SOQL and Governor Limit Errors. You'll learn the origins of these kinds of advanced trigger issues and gain solutions for avoiding them.
If you're looking to interact with your Salesforce data from other systems, but need something more complex than what's offered by the native Rest API, look no further than REST Apex. Join us as we take a look at the basics of defining your own custom APIs using Apex REST. The session will be packed with tips and tricks, and we'll cover everything involved in defining your first Apex REST service.
Platform Events enables a new event-driven architecture for Salesforce focused on events and record changes, rather than full record processing. Join us to learn about Platform Events and what this will mean to the future of integration with Salesforce.
In this exclusive webinar, you'll learn about
- How Platform Events enable real-time integration
- Defining, publishing and subscribing to Platform Events in Salesforce
- How Platform Events work through live demonstrations
Have you ever wanted to write a trigger? This workshop is designed for people who would like begin learning the basics of implementing business logic using Apex, the primary programming language of the Salesforce platform. This workshop will begin exploring the building blocks of Apex, and provide you with the best practices for implementing complex business logic.
The new queueable Apex feature is not only a great way to make asynchronous calls, it also enables new design patterns that let you dramatically increase the reliability of those calls. In addition, you can detect and recover from a wide variety of errors and exceptions with clarity. Join us to learn how to use queueable Apex to build robust asynchronous code.
Apex Triggers can be your best friend or your worst enemy. When a trigger is firing properly your data is under control and remains sane, but when a trigger doesn't fire properly, your users can be faced with the frustration of exceptions when saving a record, or worse: incorrect data. Join us to learn tips and tricks on how to debug and solve the most complex issues, including: Ambiguous Field Validation, After Insert Activity Errors, and SOQL and Governor Limit Errors. You'll learn the origins of these kinds of advanced trigger issues and gain solutions for avoiding them.
If you're looking to interact with your Salesforce data from other systems, but need something more complex than what's offered by the native Rest API, look no further than REST Apex. Join us as we take a look at the basics of defining your own custom APIs using Apex REST. The session will be packed with tips and tricks, and we'll cover everything involved in defining your first Apex REST service.
Platform Events enables a new event-driven architecture for Salesforce focused on events and record changes, rather than full record processing. Join us to learn about Platform Events and what this will mean to the future of integration with Salesforce.
In this exclusive webinar, you'll learn about
- How Platform Events enable real-time integration
- Defining, publishing and subscribing to Platform Events in Salesforce
- How Platform Events work through live demonstrations
Have you ever wanted to write a trigger? This workshop is designed for people who would like begin learning the basics of implementing business logic using Apex, the primary programming language of the Salesforce platform. This workshop will begin exploring the building blocks of Apex, and provide you with the best practices for implementing complex business logic.
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
Exploring the code within sample applications is a great way to learn new languages, frameworks, and platforms. That’s why we built the Sample Gallery (https://trailhead.salesforce.com/sample-gallery), a collection of Salesforce Customer 360 Platform reference applications that demonstrate examples of what you can create and how to build it. In this interactive webinar, we introduce you to a few Sample Apps and show you how to make the best use of them in your day-to-day development projects.
How to Use Salesforce Platform Events to Help With Salesforce LimitsRoy Gilad
Presented at Israel User Group December 2019: Mixed DMLS Operations, Too Many SOQL Queries, Too Many DML Statements, CPU Timeout: Salesforce's Governor limits are there for a reason but even when you employ best practices you may still exceed them. A good developer will look at all tools available on the platform and find the best approach to solving the problem they are facing. Join us to add the newest tool to your developer toolbelt. Use Platform Events to change the rules of the game, process more, and faster within governor limits.
Link to GitHub repository:
https://github.com/RoyGilad/Dreamforce-2019-Do-more-within-Salesforce-Governor-Limits-using-Platform-Events
While there are many ways to build integrations with salesforce, one of the fastest growing ways is through the Salesforce REST API. Join us as we explore the current REST-ful mechanisms available to the AppCloud, and see what the next year has to offer. In this session we will discuss the Salesforce REST API structure, Authenticating to the REST API, sObject Manipulation, and Composition through the REST API.
Salesforce integration best practices columbus meetupMuleSoft Meetup
onnectivity Overview
Connectivity to Salesforce Clouds
Connectors and Salesforce APIs
Connector interacting with Salesforce core
Composite Connector
Triggers
Establishing a connected app for MuleSoft Connectors
Salesforce Integration Best Practices
When to move data into SFDC
Appropriate use of APEX
Salesforce integration technologies and considerations
Data Virtualization/Live Read
Data Manipulation and Migration
Real-time changes, events and Streaming
Resources
Salesforce Accelerators for Service Cloud and Commerce Cloud
When building an enterprise solution or creating an app, data often comes from multiple systems, and business processes frequently cross application boundaries.
Salesforce offers a rich library of programmatic and point-and-click integration tools to customize business processes that span multiple application systems. In this webinar, we will survey the many integration options and technologies available in Salesforce, including newer API and integration features.
This webinar is the first in a series that will explore several ways to integrate systems and services with Salesforce.
Apex allows you to build just about any custom solution on the Force.com platform. But what are the common design patterns and associated best practices for Apex development, and how can you leverage these patterns and best practices to avoid reinventing the wheel? Join us to learn some common Force.com design patterns and walk through sample code for best implementing them.
Did you inherit a cluttered org with no documentation? Are you trying to figure out why you have 500 fields on an object? Join this session and collaboratively learn from other customers about the most common traits of a messy implementation, and how you can untangle yours.
With sharing or without sharing... is that the question? Join us to better understand how to leverage the best Salesforce security features in code. Learn all the best practices for hardening your application and keeping your data secure. We'll cover sharing, FLS, CRUD, and all the most common mistakes and misconceptions about how these features work in Apex and Visualforce.
You have lots of customer data and you need to ensure that it’s readily available to all of those who need it to drive business results across sales, service and customer engagement.
This presentation discusses how easy it is to migrate your critical data into Salesforce and how it will immediately benefit the different areas of your business. Our speakers will demonstrate how simple and seamless it is for you to transfer your customer data into Salesforce from different external sources such as; text files, another CRM, or homegrown systems.
What you will learn:
-How to migrate data to salesforce from a variety of endpoints to create a complete customer view
-How a single integration solution can bring together multiple data sources to provide rapid time to value
Flow is a powerful business automation tool that can manipulate data in Salesforce in a variety of ways. Such application can be created right from the org’s setup with just drag-drop/point-click. The ease of creating flows makes it the number one go-to tool when it comes to complex business requirements.
Have you ever wanted to schedule an Apex operation to repeat every 10 minutes? To have one future call start another one? Is the 10 future call per context limit getting you down? Recent additions to the Apex language have opened the door to entirely new asynchronous design patterns. Join us to learn about the recent language changes, how they are used, and the kinds of design patterns they enable.
Part of what truly makes a platform is an ability to integrate with third party devices, servers and software. Join Ami Assayag and Kirk Steffke from CRM Science and Developer Evangelist Josh Birk as they breakdown examples of using Apex for integration solutions. Apex has robust methods for handling both inbound requests into Salesforce and outbound calls into third party systems. This webinar will break down how Apex can be used in these cases as well as how to test the code once it is up and running.
Key Takeaways
- How Apex fits into an integration solution
- Using Apex to create custom endpoints
- Handling outbound calls with Apex
- How to achieve test coverage with mock interfaces
Intended Audience
Developers with Apex experience looking to integrate with either existing API’s or expanding the functionality of Salesforce API’s.
The Apex Flex Queue brings an eagerly awaited update to batch Apex processing, allowing more jobs to be submitted at once and bringing greater control over queued jobs. Join us for an early look at this exciting new pilot feature.
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
Exploring the code within sample applications is a great way to learn new languages, frameworks, and platforms. That’s why we built the Sample Gallery (https://trailhead.salesforce.com/sample-gallery), a collection of Salesforce Customer 360 Platform reference applications that demonstrate examples of what you can create and how to build it. In this interactive webinar, we introduce you to a few Sample Apps and show you how to make the best use of them in your day-to-day development projects.
How to Use Salesforce Platform Events to Help With Salesforce LimitsRoy Gilad
Presented at Israel User Group December 2019: Mixed DMLS Operations, Too Many SOQL Queries, Too Many DML Statements, CPU Timeout: Salesforce's Governor limits are there for a reason but even when you employ best practices you may still exceed them. A good developer will look at all tools available on the platform and find the best approach to solving the problem they are facing. Join us to add the newest tool to your developer toolbelt. Use Platform Events to change the rules of the game, process more, and faster within governor limits.
Link to GitHub repository:
https://github.com/RoyGilad/Dreamforce-2019-Do-more-within-Salesforce-Governor-Limits-using-Platform-Events
While there are many ways to build integrations with salesforce, one of the fastest growing ways is through the Salesforce REST API. Join us as we explore the current REST-ful mechanisms available to the AppCloud, and see what the next year has to offer. In this session we will discuss the Salesforce REST API structure, Authenticating to the REST API, sObject Manipulation, and Composition through the REST API.
Salesforce integration best practices columbus meetupMuleSoft Meetup
onnectivity Overview
Connectivity to Salesforce Clouds
Connectors and Salesforce APIs
Connector interacting with Salesforce core
Composite Connector
Triggers
Establishing a connected app for MuleSoft Connectors
Salesforce Integration Best Practices
When to move data into SFDC
Appropriate use of APEX
Salesforce integration technologies and considerations
Data Virtualization/Live Read
Data Manipulation and Migration
Real-time changes, events and Streaming
Resources
Salesforce Accelerators for Service Cloud and Commerce Cloud
When building an enterprise solution or creating an app, data often comes from multiple systems, and business processes frequently cross application boundaries.
Salesforce offers a rich library of programmatic and point-and-click integration tools to customize business processes that span multiple application systems. In this webinar, we will survey the many integration options and technologies available in Salesforce, including newer API and integration features.
This webinar is the first in a series that will explore several ways to integrate systems and services with Salesforce.
Apex allows you to build just about any custom solution on the Force.com platform. But what are the common design patterns and associated best practices for Apex development, and how can you leverage these patterns and best practices to avoid reinventing the wheel? Join us to learn some common Force.com design patterns and walk through sample code for best implementing them.
Did you inherit a cluttered org with no documentation? Are you trying to figure out why you have 500 fields on an object? Join this session and collaboratively learn from other customers about the most common traits of a messy implementation, and how you can untangle yours.
With sharing or without sharing... is that the question? Join us to better understand how to leverage the best Salesforce security features in code. Learn all the best practices for hardening your application and keeping your data secure. We'll cover sharing, FLS, CRUD, and all the most common mistakes and misconceptions about how these features work in Apex and Visualforce.
You have lots of customer data and you need to ensure that it’s readily available to all of those who need it to drive business results across sales, service and customer engagement.
This presentation discusses how easy it is to migrate your critical data into Salesforce and how it will immediately benefit the different areas of your business. Our speakers will demonstrate how simple and seamless it is for you to transfer your customer data into Salesforce from different external sources such as; text files, another CRM, or homegrown systems.
What you will learn:
-How to migrate data to salesforce from a variety of endpoints to create a complete customer view
-How a single integration solution can bring together multiple data sources to provide rapid time to value
Flow is a powerful business automation tool that can manipulate data in Salesforce in a variety of ways. Such application can be created right from the org’s setup with just drag-drop/point-click. The ease of creating flows makes it the number one go-to tool when it comes to complex business requirements.
Have you ever wanted to schedule an Apex operation to repeat every 10 minutes? To have one future call start another one? Is the 10 future call per context limit getting you down? Recent additions to the Apex language have opened the door to entirely new asynchronous design patterns. Join us to learn about the recent language changes, how they are used, and the kinds of design patterns they enable.
Part of what truly makes a platform is an ability to integrate with third party devices, servers and software. Join Ami Assayag and Kirk Steffke from CRM Science and Developer Evangelist Josh Birk as they breakdown examples of using Apex for integration solutions. Apex has robust methods for handling both inbound requests into Salesforce and outbound calls into third party systems. This webinar will break down how Apex can be used in these cases as well as how to test the code once it is up and running.
Key Takeaways
- How Apex fits into an integration solution
- Using Apex to create custom endpoints
- Handling outbound calls with Apex
- How to achieve test coverage with mock interfaces
Intended Audience
Developers with Apex experience looking to integrate with either existing API’s or expanding the functionality of Salesforce API’s.
The Apex Flex Queue brings an eagerly awaited update to batch Apex processing, allowing more jobs to be submitted at once and bringing greater control over queued jobs. Join us for an early look at this exciting new pilot feature.
Description:
Whether you are an experienced developer coming to Apex from another language, or an intermediate level Apex developer, this webinar will take you to the next level in programming on the Salesforce and Force.com platform. We will dive deeper into Apex, and guide you through examples of advanced design patterns and techniques, and much more related to Apex on the Salesforce1 platform!
Key Takeaways:
::Programmers familiar with object-oriented languages will be able to learn Apex easily
::Apex can perform a wide range of functions from serving as a controller for Visualforce pages to scheduled tasks in the background.
::Get a deep dive into testing and code coverage on Force.com, and learn some solid best practices and recipes for writing better tests.
Intended Audience:
::Programmers familiar with object-oriented languages, and looking for an deeper dive into Apex
Description
Slack is a team collaboration application that has recently gained a significant amount of momentum. Slack provides a simple and powerful way to integrate with external applications.
In this webinar you’ll learn what’s new in Slack and ways to integrate Salesforce and Slack. You’ll learn how Salesforce can automatically post messages to Slack channels when specific events happen (opportunity status changed, case created, etc.). You’ll learn how to query or update information in Salesforce without leaving the Slack user interface. And finally, you’ll learn how to create bots that monitor Slack conversations and automatically respond by pulling information from Salesforce or by creating records in Salesforce.
Key Takeaways
Creating bots that automatically monitor and respond to Slack conversations
Querying or updating information without leaving Slack
Automatically posting messages when specific events occur
Intended Audience
This session is for seasoned Salesforce Developers and Advanced Salesforce Administrators who are familiar with Salesforce App Cloud and Slack Programming.
Learn the benefits of using social authentication to log into your Salesforce org or community. During this session, you’ll become familiar with authentication nomenclature and understand the differences between being an identity provider vs. service provider. We’ll also show the mechanics to allow social sign-on for registration and user creation using Apex.
In this first installment of our Secure Salesforce Development webinar series members of the Salesforce Trust team will introduce the core concepts behind developing secure applications on the Salesforce platform using Apex and Visualforce. We’ll walk through creation and development of a simple, on-platform app and examine common security vulnerabilities that developers unintentionally introduce to their applications. After discussing the danger of these vulnerabilities and demonstrating their impact we’ll go in depth into how to avoid introducing them in your code, how to review existing code and find them, and how to fix them.
Lightning allows developers to rapidly develop highly interactive applications with Lightning Components. In this webinar, we will show you the best practices to build a single page application by using features from the Lightning Component framework.
Force.com lets developers rapidly create and deploy trusted cloud apps that are secure and scalable. Part 1 of this webinar series gave you the platform overview, in Part 2 you learn how to customize your app using the foundational features of Force.com.
- Key Takeaways
- Part 1 recap with demo
- Get an understanding of Visualforce Pages and Standard Controllers
- See basic uses of Controller Extensions and Custom Controllers
- Writing test classes for unit testing to improve code coverage
Intended Audience
This session is geared towards Developers (any programming background) who wish to learn about Force.com basics and to create apps faster with code on Force.com platform
Heroku recently announced a new part of Heroku Enterprise called Private Spaces that allows you to run your own Heroku in a separate but still managed cloud. This webinar will cover the basics of Heroku and Private Spaces. Private Spaces provides an isolated network for your apps and data, enhancing security and privacy. You will learn how to securely integrate your Heroku apps with Salesforce using IP restrictions.
In addition you will learn how you can use Private Spaces to pick specific geographic locations for your Private Spaces, aiding in privacy and performance requirements.
Key Takeaways
- Learn the basics of Heroku Private Spaces
- See how Private Spaces will help improve security for your cloud apps
- Explore the benefits of using Private Spaces with Salesforce
- Watch live demos from Salesforce & Heroku Evangelists
Lightning allows developers to customize their apps to a degree not previously possible - especially when using the Lightning App Builder and the new Lightning Utility Bar. In this webinar, we will introduce you to best practices for designing component-based architecture when building advanced apps that make the most out of new Lightning Experience features.
1.2+ billion users around the world choose Microsoft Office as their primary tool for productivity. Integrating Salesforce and Office can drive unparalleled experiences for information workers. This webinar will explore Salesforce integration with Microsoft Office using Office Add-ins. Learn about what's new with Office Add-ins, the Office add-ins Salesforce offers, and how to build your own Office Add-ins that integrate with Salesforce.
You might be surprised to learn that Office Add-ins can be developed with ANY web technology and be hosted anywhere in the world. So bring your web developer hat and learn how you can maximize your Salesforce and Office investments with Office Add-ins.
Key Takeaways
- Discover how the Office Add-in architecture has changed to benefit web developers
- Learn about Salesforce Office Add-ins available through the Office marketplace and how they can deliver a great user experience in Office
- Explore key aspects of building custom Office Add-ins that run any device Office runs
- Uncover important resources for extending and integrating Force.com and the Office platform
Intended Audience
This session is geared towards existing Salesforce and Microsoft developers that want to learn how to apply their web development skills to integrate Salesforce into Office through add-ins.
Secure Development on the Salesforce Platform - Part 3Mark Adcock
This webinar covers key topics and best practices on how to securely connect your applications with Salesforce. We will demonstrate Salesforce recommended solutions to securely handle secrets within your application and help you prevent data leaks
You will also learn how to set up a Salesforce Connected App to handle authentication and access control when integrating with Salesforce.
In this session, security experts from Salesforce will show you how to avoid common security pitfalls while developing applications using Apex and Visualforce.
This second installment of our secure development series continues development of the simple on-platform app created in part one by examining how vulnerabilities present themselves. After discussing these vulnerabilities and demonstrating their impact, we’ll show how to avoid introducing them in your code, how to review existing code to locate issues, and how to fix them to provide more secure apps.
In this exclusive webinar you’ll learn about:
- Common VisualForce vulnerabilities
- XSS (Cross-site Scripting)
- Open Redirect
- CSRF (Cross-Site Request Forgery)
Table of Contents:
01:19 - Forward Looking Statement
02:24 - Agenda
03:00 - FourZip App Part 2
05:05 - Cross Site Scripting
27:15 - Open Redirect
37:22 - CSRF - Cross-Site Request Forgery
44:06 - Session Summary
45:50 - Live Q&A
Presentation given at BIWUG. We dive into the world of Office Add-in development. I'll give an overview of the possibilities of Office Add-ins, cover what is new in Office 2016 and discuss the recent enhancements that have been made to the Office.js APIs. I’ll share some experiences from real-life implementations… or how theory and practice do not always match.
The Force.com Platform offers a powerful, scalable, and secure Web Service API to support integration use cases common to large enterprises. In this session, we will revise some of these patterns then focus on a specific pattern used to solve asynchronous integrations. We will delve in to the specific techniques related to this pattern and put them to use by forming real world end-to-end integration use case illustrating maintainability, scalability, extensibility, and security.
Microsoft is switching gears by focusing on developers and web technologies. Office Add-ins enable you to extend Office clients such as Word, Excel, PowerPoint, and Outlook using web technologies like HTML, CSS and JavaScript.This presentation will cover Add-in architecture as well as development tools and process.
Analyze billions of records on Salesforce App Cloud with BigObjectSalesforce Developers
Salesforce hosts billions of customer records on Salesforce App Cloud. Making timely decisions on this invaluable data demands a new set of capabilities. From interacting with data in real-time to leveraging a fluid integration with Salesforce Analytics, these capabilities are just around the corner. Join us in this roadmap session to see what the near-future of Big Data on Salesforce App Cloud looks like and how you can benefit from it.
Key Takeaways
- Learn what 100 billion+ records on the Salesforce App Cloud could actually mean to you.
- Understand new services such as AsyncSOQL that can can deliver reliable, resilient query capabilities over your sObjects and BigObjects.
-Gain insights for large scale federated data filtering and aggregation.
-Transform data movement so all your customer records are available across their life cycle.
Intended Audience
This session is for Salesforce Administrators, Developers, Architects and just about anyone who wants to learn more about BigObjects!
TrailheaDX 2019 : Truly Asynchronous Apex Triggers using Change Data CaptureJohn Brock
For the first time ever, the Salesforce Platform has the capability to execute truly asynchronous Apex Triggers. To deliver this feature, we have enabled Apex Triggers for Change Data Capture events. During this session we will enable Change Data Capture in our org, refactor a piece of existing code to execute asynchronously, and discuss other use-cases where this pattern could be used. Come learn how to speed up transactions for end users and decrease your frustration with limits by moving trigger logic into asynchronous triggers.
Lightning Web Components give any JavaScript developer a modern, web standards-based path to building apps and experiences on the Lightning Platform.
In the second episode of our five part webinar series on Lightning Web Components, we will show you how to access data from the Salesforce org, get record data, create records and handle errors using Lightning Web Components. In this webinar you’ll learn all about Lightning Data Service, reactive wire service and Lightning App Builder.
New to Force.com and needing a quick orientation to bring you up to speed? Join us for this series of brief introductory sessions on Force.com, the world’s leading cloud platform that lets you build apps rapidly using configuration-driven development and powerful programmatic logic.
Each Friday one of our experts will walk you through one of the core elements of the Force.com platform and cover the basics you need to build your first app in the cloud. Each session is 30 minutes long.
Using Dataset Builder or middleware to push Salesforce data to the Analytics Cloud can be time-consuming. Join us as we talk about the inefficiencies and go over a simple tool that allows you to create data sets in just a few clicks.
Join us to learn how Salesforce IT is using the App Cloud to build our IT Knowledge Search and IT Ticket Management tool, Concierge. We will walk through the technologies used to create this app and how they all fit together. From Salesforce1 and Canvas to Heroku, and Hapi to AngularJs, we will also show how we easily took the mobile application, and with very few modifications, turned it into a responsive app for desktop leveraging the same technology stack.
At Dreamforce '14 this session discussed six new technologies in development for Lightning Components, five of which have been delivered as of the Winter '16 release. We have been hard at work on improvements in a number of areas, many of which were driven by the needs of our partners and customers. Join this panel session to hear directly from the architects and developers where Salesforce is going in coming releases, and to have the chance to influence our direction.
Optimization is important when working with large amounts of data. Optimization is especially important when building an app in a multi-tenant platform where you have governor limits. Join us for lessons learned while developing a finance system on Force.com. We'll cover topics like executing aggregate queries with limits and offsets, handing updates to arbitrary numbers of records, and sorting complex objects.
"We'll need an Apex trigger to do that." Sound familiar? Take your advanced Admin skills to the next level by developing Apex triggers to solve complex business requirements that can't be implemented using just the configuration-driven features of Force.com. Join us to learn when and how to write your first Apex trigger, and some best practices for making them effective.
All Aboard the Lightning Components Action ServicePeter Chittum
Recording of Session:
http://salesforce.vidyard.com/watch/gz2QhCfxJ9-3kXx6QOGsrA
Getting the most out of any new technology requires in depth knowledge of how key components behave and how to use them. Join us for an in-depth examination of the Lightning Components transport layer: the Action Service.
Apex, the server side language for running code in the cloud, is a powerful tool when used to it's fullest. Join us to learn the core concepts and nuances in Apex that you need to become an effective Force.com developer. This session is for new developers and for developers with experience coding in other technologies like .Net or Java. We'll focus on details around database triggers, execution context, data manipulation, and asynchronous techniques in the context of a multi-tenant platform. You will leave with an understanding of how to write code that both handles governor limits and accomplishes the task.
Get ready for your platform developer i certification webinarJackGuo20
Whether you’re just starting out with developing on Salesforce, or been working with the platform for a while, you should consider getting Platform Developer I (PDI) certified. With a PDI certification, you can show your level of expertise against industry standards, discover product features you’ve never heard of before, and even connect with other professional developers building with Salesforce. Join this webinar to learn what content the PDI exam covers, how exams are designed, and pick up tips and tricks from Developer Evangelists who have taken the exam.
Migrate legacy Salesforce CPQ to Advanced Calculator with the help of JSQCP. With Advanced Calculator, you can boost the runtime of quote creation. Join this webinar to learn what is required for migration - we’ll also walk through JSQCP.
A mini framework for event handling on the OpportunityContactRole (OCR) and AccountContactRole (ACR) objects. Using a custom (dynamic) Visualforce page driven by a controller extension, you can replace the standard related lists
New to Force.com and need an orientation to bring you up to speed? This monthly series of introductory sessions on Force.com, the world’s leading cloud platform that lets you build apps rapidly using configuration-driven development and powerful programmatic logic.
Want to improve the performance of your Lightning components and applications? This webinar is for you! Whether you are an experienced Lightning component developer or just starting, you’ll learn a series of best practices you can immediately implement to make your components load faster, run faster, and access data more efficiently.
Description
Visualforce is a powerful web-based framework that lets you quickly develop sophisticated, custom UIs for Force.com desktop and mobile apps. Using native Visualforce markup and standard Web development technologies like HTML5, CSS, JavaScript, and jQuery, you can rapidly build rich UIs for any app.
In this webinar, we will go beyond the basics of Visualforce, and show you how to make your pages lean and fast, to provide you users with an awesome experience, resulting in high adoption rates. We will also focus on best practices and tips to help you improve page efficiency.
In addition to the above, we will also show you how to build custom components, ones that can be reused across several Visualforce pages and applications.
Key Takeaways
::Get thorough knowledge about Viewstate, JavaScript Remoting, Asynchronous Apex and Streaming API.
::Get up to speed with Visualforce components, and see examples of advanced custom Visualforce components in action.
::Discover how to use strongly typed attributes to parameterize component.
::Learn how to incorporate presentation, data and logic.
Intended Audience
This session is tailored for experienced developers who are already familiar with the Visualforce framework.
Recommended Resources
https://developer.salesforce.com/events/webinars/advanced_visualforce_salesforce1
If you are familiar with object-oriented languages like Java or C#, Apex may be the language you already almost know. Apex is the cloud-based programming language used on the Salesforce1 Platform to take your enterprise applications to the next level. In this webinar, get an introduction to how Apex is similar to other languages, how you can start coding in Apex with just a web browser, and an overview of the many functions Apex can perform for your applications and users.
Key Takeaways
Programmers familiar with object-oriented languages will be able to learn Apex easily
Apex can perform a wide range of functions from serving as a controller for Visualforce pages to scheduled tasks in the background.
Similar to Advanced Apex Development - Asynchronous Processes (20)
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
We all want the Salesforce Lightning Experience to be fast- but how do we define fast, and how do we make it even faster? When you’re building a UI, everything you add to the page affects performance, and to make load times faster and perform the way users expect, we need to treat speed as an essential design feature. In this presentation, you’ll learn how to measure performance, learn a few tips on how to maximize performance, and take responsibility for your feature’s performance from design to production.
Last year was eventful for Salesforce Developers - we started with the launch of Lightning Web Components (LWC), open-sourced it, enabled local development, and ended the year by open-sourcing Base Lightning Components. In this webinar, we will explore exciting new developments within Base Components and we will show you how to use open-source Base Components to build engaging applications faster with local development.
In this session we will,
- Spin up a local development environment to build Lightning web components
- Use and customize the base components and recipes to build pages and apps quickly
- Explore the latest features of VS Code developer tooling while coding for a use case
Over the past two months, we’ve announced many new resources for developers at Dreamforce and TrailheaDX India. To learn all about them, watch this video, where we'll explore live demos showcasing the latest updates for Lightning Web Components (LWC), Einstein, Heroku, and a lot more on the Customer 360 Platform.
In this session we,
- Explore key highlights from TrailheaDX India
- Show live demos of generally available features
- Explain how you can benefit from these features
TrailheaDX (TDX) is coming to ‘namma’ Bengaluru in India on Dec 19th and 20th! TrailheaDX India is the conference for everyone who builds on and customises Salesforce — including admins, developers, architects, and partners. This event will have sessions, demos and fun for those just getting started with the platform, as well as for advanced admins, architects and developers.
You might have questions about the event - and to answer your questions Kavindra Patel, known as the father of the Indian Salesforce Community, joins Shashank Srivatsavaya, Head of APAC Developer Relations. Register for our exclusive webinar to:
- Get a sneak peek into exclusive sessions and activities
- Find out who you shouldn’t miss at TrailheaDX India
- Understand what comes with your #TDX19 registration
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
GitHub repo: https://github.com/satyasekharcvb/lwc-local-dev.git
With the release of a new beta version of Local Development, you can now build Lightning web components faster than ever before! You can now render changes, iterate rapidly, troubleshoot errors, and even connect with data from your org by spinning up a local development server on your machine.
In this session, we build Lightning web components in real time. The exciting new capabilities we showcase will enable you to be an even more productive developer.
In this CodeLive session we:
- Spin up a local development server from the CLI to rapidly edit and view components
- Observe how a rich error handling experience simplifies testing and debugging
- Learn how to proxy data from an org for more context and fine-tuned development
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
GitHub repo: https://github.com/adityanaag3/aura2lwc
Lightning Web Components (LWC) give any JavaScript developer a modern, web standards-based path to building apps and experiences on the Salesforce Platform.
In this live coding session, you’ll learn how to first evaluate if an existing Aura Component needs to be converted, then convert it to LWC using the latest features of Salesforce Extensions for VS Code. We demonstrate conversion to LWC by walking through various components of a real world Aura Component - including input and output, Tables, Forms, and more.
In this live coding session we:
- Convert Aura Components to LWC
- Leverage the latest IDE features
- Share implementation best practices
Earlier this year, we released Lightning Web Components (LWC), a new UI framework based on web standards and optimized for performance and developer productivity. We have now open sourced the Lightning Web Components framework so that anyone can build applications on any platform.
Join our webinar where we'll explore how this framework, based on standard HTML, modern JavaScript (ES6+), and the best of native Web Components, helps you create web components and apps using the stack and tools you prefer.
We recently announced over 300 new features and enhancements at TrailheaDX '19 and for the Summer '19 release. In our Developer Highlights webinar we explore the top features with in-depth demos, including the latest updates for Lightning Web Components (LWC), LWC Open Source, CLI updates, Change Data Capture for external objects, Asynchronous Apex Triggers, Notification Builder and more.
Watch the recording here: https://youtu.be/kmOkk74QiCo
You can watch a recording of the live coding session at https://sforce.co/2IbU3yJ
In the fifth and final webinar of our five part series, we learn how to build Lightning web components for different use cases. We explore how to leverage all of the concepts you’ve learned in this webinar series to create modern apps with Lightning Web Components. We also demonstrate various ways to migrate Aura components to Lightning web components for a seamless transition.
In the fourth episode of our five part series on Lightning Web Components, we show you how static resources and custom JavaScript are used with Lightning Web Components. You’ll learn how to use external APIs in conjunction with Lightning Locker to secure your JavaScript code. And finally, we’ll demonstrate how you can test your Lightning Web Components using Jest.
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
Lightning Web Components gives JavaScript developers a web standards-based path to building apps on the Salesforce Lightning Platform.
In the third episode of our five part series on Lightning Web Components, we cover design considerations and compositions of Lightning Web Components.
Lightning Web Components are a JavaScript programming model for building web applications and interfaces that is built on the best of web standards.
Any front-end web developer can get started with LWC and leverage custom elements, and JavaScript APIs to create modern apps and experiences that are fully aware of Salesforce data and processes.
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
Migrate your batch processing, scheduled ETL, and nightly workloads to event-driven, real-time integrations using Change Data Capture. CDC means data change events are published to an event stream, allowing businesses to have up-to-date information across systems and applications. Join us to learn how to configure Change Data Capture and subscribe to the stream of change events, streamlining your architectures and processes.
Using Salesforce DX and its suite of offerings can significantly increase your development productivity.
Join this webinar to learn more about source control, scratch orgs, CLI, Metadata Coverage, VS Code, and Unlocked Packages. We will even do a live demo on continuous delivery using Salesforce DX.
Lightning Flow makes it easier for developers to build dynamic process-driven apps with Process Builder and the new Flow Builder. Join us and learn more about how you can get in the Flow!
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
In this webinar we will show you how to display content from external Content Management Systems into Lightning Communities. This lets you take advantage of the Communities framework and help you centralize content in whatever CMS system you have chosen.
With the MuleSoft Anypoint Platform, you can build scalable data integrations and flows across any application, data source, and device - whether in the cloud or on-premise. The platform provides a suite of out-of-the-box connectors that work across any system, and you can customize them to whatever you need with minimal code. This means you can integrate and deploy innovative, robust customer apps even faster. Join this webinar, learn the basics of the Anypoint Platform, and see how it works with Salesforce and any of your third party systems.
This webinar focuses on what’s available for app delivery and development lifecycles on the Salesforce platform. We’ll walk through a real-life scenario that spans VS Code, the Salesforce CLI, sandboxes, scratch orgs, and packaging. Join us and learn patterns and considerations that you can immediately use to modernize your development using Salesforce DX.
At Dreamforce 2018, we brought you new and exciting ways to build apps faster, integrate apps easier, and make apps smarter. Join us to learn more about how the Salesforce platform helps developers build apps of the future.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
2. #forcewebina
r
Statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of
the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking
statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service
availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future
operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of
our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service,
new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions
or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and
acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and
manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization
and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our
annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and
others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be
delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Forward-Looking Statement
4. #forcewebina
r
Go Social!
@salesforcedevs / #forcewebinar
Salesforce Developers
Salesforce Developers
Salesforce Developers
This webinar is being recorded! The video will be posted to YouTube and the
webinar recap page (same URL as registration).
5. #forcewebina
r
Agenda
• What is Asynchronous Process?
• Why we need it?
• Types of Asynchronous Processes in Salesforce
• Usage and Examples
• Comparison of various Asynchronous Processes
• Appendix
• Recap
8. #forcewebina
r
Asynchronous Process - Definition
• In computer
programs,
asynchronous
operation means
that a process
operates
independently of
other processes
9. #forcewebina
r
Asynchronous vs Synchronous
Synchronous
• Quick and
Immediate Actions
• Transactions are
immediate and
serial
• Normal governor
limits
Asynchronous
• Actions that will not
block the
transaction pr
process
• Duration is not a
Priority
• Higher governor
limits
19. #forcewebina
r
Use Cases
• Send Data to an External System on a Insert or Update
• Complex Calculations or Analysis based on Data in Salesforce
• Report Runs
• Callouts to External Systems
21. #forcewebina
r
Use Case – Logic on Millions of Rows
• Supports complex logic on very
large datasets
• Scalable, robust, asynchronous
execution platform
• Scheduled or programmatically
executed
• Eliminate ‘data processing’
integrations
• Data cleansing, augmentation
• Automated batch process
24. #forcewebina
r
Scenario
• Goal: Populate Account’s Billing Longitude/Latitude based on
Billing Address
• Assume we have a method that calls out to a web service and
returns the lon/lat for a given Account, in the Geocoding Utils class
public static LonLat geocodeAccount(Account acct) { … }
LonLat is a class with 2 Double properties.
• Solution: Write a trigger that calls this method.
• Problem: You can’t call out to a web service from a trigger.
25. #forcewebina
r
@future
• A public static method, decorated with @future
• Arguments:
• Primitives (Integer, String, etc.)
• Collections of primitives (List, Map, Set)
• NOT Sobjects or Apex objects
• You can use JSON.serialize() and pass in a String
• Returns void
26. @future
public class GeocodingUtils {
@future (callout=true)
public static void geocodeAccountFuture(Id accountId) {
Account acct =
[select Id, BillingStreet, BillingCity, BillingState, BillingPostalCode, BillingCountry
from Account
where Id = :accountId];
LonLat coordinates = geocodeAccount(acct);
if (coordinates != null) {
acct.BillingLongitude = coordinates.lon;
acct.BillingLatitude = coordinates.lat;
update acct;
}
}
}
27. @future – Account trigger
trigger Account on Account (before insert, before update) {
if (Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) {
// For each new Account or each existing Account whose Address has changed, geocode it
for (Account acct : Trigger.new) {
if (Trigger.isInsert ||
(Trigger.isUpdate && GeocodingUtils.addressChanged(acct, Trigger.oldMap.get(acct.Id)))) {
// Geocode the Account's address
GeocodingUtils.geocodeAccountFuture(acct.Id);
}
}
}
}
28. #forcewebina
r
Queueable Class
• A public class that implements the Queueable interface
• Includes an execute method that accepts only a QueueableContext
parameter
• The execute method can access instance properties for the
class
• Returns void
• Launch by calling System.enqueueJob(cls) with an instance of the
class.
• Returns an AsyncApexJob Id
29. Queueable Apex
public class GeocodingQueueable implements Queueable, Database.AllowsCallouts {
public Account[] lstAccounts = new Account[]{};
public void execute(QueueableContext ctx) {
// Process as many Accounts as we can
Account[] lstProcessed = new Account[]{};
Integer numProcessed;
for (numProcessed=0;
numProcessed < Limits.getLimitCallouts() && numProcessed<lstAccounts.size();
numProcessed++) {
Account acctGeo = lstAccounts[numProcessed];
GeocodingUtils.LonLat coordinates = GeocodingUtils.geocodeAccount(acctGeo);
if (coordinates != null) {
acctGeo.BillingLongitude = coordinates.lon;
acctGeo.BillingLatitude = coordinates.lat;
lstProcessed.add(acctGeo);
}
}
30. Queueable Apex
…
update lstProcessed;
// Remove the ones we just processed from the list.
for (Integer i=0; i<numProcessed; i++) {
lstAccounts.remove(0);
}
// If there are any remaining Accounts, chain a new Async job to process them.
// NOTE: As of Spring 16, a chained Queueable job cannot do a callout, so the next
// run of this execute() method will fail!
if (!lstAccounts.isEmpty()) {
Id jobID = System.enqueueJob(this);
}
}
}
31. Queueable Apex– Account trigger
trigger Account on Account (before insert, before update) {
if (Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) {
Account[] lstAccounts = new Account[]{};
for (Account acct : Trigger.new) {
if (Trigger.isInsert ||
(Trigger.isUpdate && GeocodingUtils.addressChanged(acct, Trigger.oldMap.get(acct.Id)))) {
Account acctGeo = new Account(Id=acct.Id);
acctGeo.BillingStreet = acct.BillingStreet;
acctGeo.BillingCity = acct.BillingCity;
acctGeo.BillingState = acct.BillingState;
acctGeo.BillingPostalCode = acct.BillingPostalCode;
acctGeo.BillingCountry = acct.BillingCountry;
lstAccounts.add(acctGeo);
}
}
if (!lstAccounts.isEmpty()) {
// Geocode the Account's address
GeocodingQueueable cls = new GeocodingQueueable();
cls.lstAccounts = lstAccounts;
Id jobID = System.enqueueJob(cls);
}
}
}
32. #forcewebina
r
Batchable Class
• A global class that implements the Database.Batchable interface
• Includes:
• Start method – identifies the scope (list of data to be processed)
• Execute method – processes a subset of the scoped records
• Finish method – does any post-job wrap-up
• Additional interfaces:
• Database.Stateful
• Database.AllowCallouts
33. #forcewebina
r
Batchable Class
• Launch by callling Database.executeBatch(cls) with an instance of
the class and an optional scope size
• Default scope size is 200
• Returns an AsyncApexJobId
34. Batch Apex
global class GeocodingBatch implements Database.Batchable<SObject>,
Database.AllowsCallouts, Database.Stateful {
global Integer numberOfAccountsUpdated = 0;
// Start method gets all Accounts that need to be geocoded
global Database.QueryLocator start(Database.BatchableContext bc) {
String query = 'select id from Account where Need_to_Geocode__c = true';
return Database.getQueryLocator(query);
}
35. Batch Apex
global void execute(Database.BatchableContext bc, List<SObject> lstSObjects) {
// Get the Accounts
Account[] lstAccounts =
[select Id, BillingStreet, BillingCity, BillingState, BillingPostalCode, BillingCountry
from Account where Id in :lstSObjects];
for (Account acct : lstAccounts) {
// Geocode the Account and save the results
GeocodingUtils.LonLat coordinates = GeocodingUtils.geocodeAccount(acct);
if (coordinates != null) {
acct.BillingLongitude = coordinates.lon;
acct.BillingLatitude = coordinates.lat;
}
acct.Need_to_Geocode__c = false;
}
update lstAccounts;
numberOfAccountsUpdated += lstAccounts.size();
}
36. Batch Apex
global void finish(Database.BatchableContext bc) {
// Send an email to let someone know how many Accounts we updated
System.debug('Number of Accounts updated: ' + numberOfAccountsUpdated);
}
} // End of class
37. Batchble Apex– Account trigger
trigger Account on Account (before insert, before update) {
if (Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) {
// For each new Account or each existing Account whose Address has changed,
// flag it to be geocoded later
for (Account acct : Trigger.new) {
if (Trigger.isInsert ||
(Trigger.isUpdate && GeocodingUtils.addressChanged(acct, Trigger.oldMap.get(acct.Id)))) {
acct.Need_to_Geocode__c = true;
}
}
}
}
39. Schedulable Apex
global class GeocodingSchedulable {
global void execute(SchedulableContext ctx) {
GeocodingBatch cls = new GeocodingBatch();
Integer batchSize = (Limits.getLimitCallouts() < 200) ? Limits.getLimitCallouts() : 200;
Id jobId = Database.executeBatch(cls, batchSize);
}
}
40. #forcewebina
r
Schedulable Class
• Schedule by calling
System.Schedule(‘job name’, cron expression, cls)
• Job Name is found in AsyncApexJob object
• Cron expression can be complex
• Returns an AsyncApexJob Id
41. #forcewebina
r
Schedulable Class
• Cron expression string
seconds minutes hours day_of_month month day_of_week optional_year
• Run at 30 minutes past midnight on Jan 1 every year
GeocodingSchedulable cls = new GeocodingSchedulable();
System.Schedule('Geocode on Jan 1', '0 30 0 1 1 ? *', cls);
• Run every hour
GeocodingSchedulable cls = new GeocodingSchedulable();
System.Schedule('Geocode on Jan 1', '0 0 * * * ? *', cls);
• Check the Apex Language Reference for details
42. #forcewebina
r
Summary of Techniques
• @future – static method, simple arguments, no monitoring, no
chaining
• Queueable – class with instance variables, can monitor, can chain
(within limits)
• Batch Apex – class with instance variables, great for large numbers
of records, can monitor
• Schedulable – class with instance variables, runs one or at
43. #forcewebina
r
Monitoring Async Apex
• For Queueable and Batchable
• When you launch the job, you get an AsyncApexJob Id
• Setup | Monitoring | Apex Jobs
• See doc for description of Status values
• For Schedulable
• When you schedule the job, you get a CronTrigger Id
• When it runs, it’s added to AsyncApexJobs
• Setup | Monitoring | Scheduled Jobs
• Add a list view filter for Type = Scheduled Apex
44. #forcewebina
r
Testing Async Apex
• Before launching the job, do Test.startTest()
• After launching the job, do Test.stopTest()
• One instance of the job will run before Test.stopTest() returns