Salesforce partners often have to dodge complexities that relate to the multi-tenancy nature of the Salesforce platform. Many of these complexities can be handled by dynamic handling of SOQL and object; however, sometimes more drastic measures need to be taken. Join us as we cover the required steps to writing a completely generic interface architecture that can call any external class, as well as other tips and tricks that make AppExchange package development a snap! You will learn how to use an extension architecture that implements an interface to generically call external packages or even methods in a target org that are unknown during base package build.
When you have lots of tangles in your code, it results in a mess - it becomes unstructured. This simple presentation shows code examples and the visualization of the corresponding code in Structure101 Workspace to show how the code refactoring or package restructuring can be performed to fix the tangles. Limiting to three strategies to keep the examples simple and crisp.
Microsoft Dynamics CRM - Outlook Integration for Law PracticesC5 Insight
Microsoft Dynamics CRM (customer relationship management) offers outstanding tools for law practices. This presentation outlines the Outlook integration features. In one click you can track Outlook email, contacts and appointments.
Do you want to learn how to build a completely generic interface architecture that can call any external class from within a managed package? Join us as we review an extension architecture that implements an interface to generically call external packages, plus methods in a target org that are unknown during base package build. You'll learn how to build dynamic and robust managed packages that can handle many unknowns, like different editions, custom objects or unknown sharing models.
How We Built the Private AppExchange App (Apex, Visualforce, RWD)Salesforce Developers
The AppExchange and Success Community team built a brand new app this year: the Private AppExchange. Join us and learn how the team built this managed package, the choices we made and why. We will talk about the AppExchange Search Framework that all three of these products are built upon and we will talk about how we made a responsive UI that works on whatever device you choose.
Have you ever had a functionality that was the same across multiple objects or fields, but needed to have it slightly different across each implementation? Join us as we show you how to build Visualforce pages in a more reusable manner. Using practical code examples, we'll be taking a code example from a page that is strongly typed to an object to using (1) a Visualforce Component and Dynamic Visualforce Field Bindings to make the page flexible, (2) Apex Describe methods to detect what type of object is being used, and (3) Custom Settings objects to maintain flexibility across objects. Always keep an eye out for opportunities to reuse old code without having to have multiple copies of code to update each time something changes!
TDX19 - Untangle Your Org with Salesforce Developer ToolsDoug Ayers
You're ready to start using your favorite tools with Salesforce DX to develop for your orgs, but you're not sure where to get started, or what a successful migration to open tooling even look likes. If that sounds familiar, this session is for you! We'll explore some of the common places where your metadata gets tangled and what tools are available to get it all straightened out.
https://success.salesforce.com/sessions?eventId=a1Q3A000026slov#/session/a2q3A000002BGcEQAW
When you have lots of tangles in your code, it results in a mess - it becomes unstructured. This simple presentation shows code examples and the visualization of the corresponding code in Structure101 Workspace to show how the code refactoring or package restructuring can be performed to fix the tangles. Limiting to three strategies to keep the examples simple and crisp.
Microsoft Dynamics CRM - Outlook Integration for Law PracticesC5 Insight
Microsoft Dynamics CRM (customer relationship management) offers outstanding tools for law practices. This presentation outlines the Outlook integration features. In one click you can track Outlook email, contacts and appointments.
Do you want to learn how to build a completely generic interface architecture that can call any external class from within a managed package? Join us as we review an extension architecture that implements an interface to generically call external packages, plus methods in a target org that are unknown during base package build. You'll learn how to build dynamic and robust managed packages that can handle many unknowns, like different editions, custom objects or unknown sharing models.
How We Built the Private AppExchange App (Apex, Visualforce, RWD)Salesforce Developers
The AppExchange and Success Community team built a brand new app this year: the Private AppExchange. Join us and learn how the team built this managed package, the choices we made and why. We will talk about the AppExchange Search Framework that all three of these products are built upon and we will talk about how we made a responsive UI that works on whatever device you choose.
Have you ever had a functionality that was the same across multiple objects or fields, but needed to have it slightly different across each implementation? Join us as we show you how to build Visualforce pages in a more reusable manner. Using practical code examples, we'll be taking a code example from a page that is strongly typed to an object to using (1) a Visualforce Component and Dynamic Visualforce Field Bindings to make the page flexible, (2) Apex Describe methods to detect what type of object is being used, and (3) Custom Settings objects to maintain flexibility across objects. Always keep an eye out for opportunities to reuse old code without having to have multiple copies of code to update each time something changes!
TDX19 - Untangle Your Org with Salesforce Developer ToolsDoug Ayers
You're ready to start using your favorite tools with Salesforce DX to develop for your orgs, but you're not sure where to get started, or what a successful migration to open tooling even look likes. If that sounds familiar, this session is for you! We'll explore some of the common places where your metadata gets tangled and what tools are available to get it all straightened out.
https://success.salesforce.com/sessions?eventId=a1Q3A000026slov#/session/a2q3A000002BGcEQAW
Quit Jesting and Test your Lightning Web Components, Phillipe OzilCzechDreamin
This developer session introduces Lightning Web Component testing. It starts with an overview of the testing environment built around the Jest framework. We learn how the environment operates in complete isolation from the Salesforce Platform and lets you run tests locally. We then cover the basics of writing tests with a "Given, When, Then" pattern. We leave you with common patterns and tips for writing efficient tests.
Understanding the Salesforce Architecture: How We Do the Magic We DoSalesforce Developers
Join us for a deep dive into the architecture of the Salesforce1 Platform. We'll explain how multitenancy actually works and how it affects you as a Salesforce customer. By understanding the technology we use and the design principles we adhere to, you'll see how our platform teams manage three major upgrades a year without causing any issues to existing development. We'll cover the performance and security implications around the platform to give you an understanding of how limits have evolved. By the end of the session, you'll have a better grasp of the architecture underpinning Force.com and understand how to get the most out of it.
Orchestrate all of your salesforce automation with the trigger actions frameworkSudipta Deb ☁
Kitchener Developer Group’s virtual event where Mitchell Spano, Application Engineer at Google will talk about “Orchestrate ALL of your Salesforce Automation with the Trigger Action Framework”
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreTom Gersic
At some point, all mobile app users lose their data signal. Join us to learn best-practices for coding for offline requirements with the Salesforce Mobile SDK. We'll develop a simple app using SmartStore offline storage, highlighting the SmartSQL and SmartSync features. With these tools, you can take your mobile apps to the next level, developing native and hybrid applications on iOS and Android that have offline access to your data.
Join us to learn how to create a mini framework for event handling on the OpportunityContactRole (OCR) and AccountContactRole (ACR) objects. Using a custom Visualforce page driven by a controller extension, you can replace the standard related lists, provide additional validation logic, and allow triggering of other actions, such as notifications to the sales team.
With sharing or without sharing... is that the question? Join us as we help you 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 will cover sharing, FLS, CRUD, and all the most common mistakes and misconceptions about how these features work in Apex and Visualforce.
Bug Hunting with the Salesforce Developer ConsoleMatthew Poe
Join Jess Lopez, Salesforce.org's NGO Technical Architect in Customer Centric Engineering (aka NPSP Surgeon and Detective) as she shares tips and tricks she uses every day when troubleshooting both managed packages and unmanaged customizations in some of the most complex and largest customer orgs. Managed Package examples will be focused on the Nonprofit Success Pack, but concepts can be broadly applied to any package.
You receive a cryptic error. Where do you even start to troubleshoot? In this session, Jess will walk you through capturing a debug log and viewing all sorts of useful information from within the Dev Console. She'll also walk you through some of the more common errors and strategies for troubleshooting
Talk given by Marat Vyshegorodtsev and Sergey Gorbaty. Enterprise Security team at Salesforce, in January 2017.
Discusses a set of open source tools that analyze the Apex/VisualForce code and advise on its quality.
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
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.
Dreamforce 2017: Salesforce DX - an Admin's PerspectiveMike White
The Salesforce DX tool-set dramatically improves the development process for programmatic creation on the Salesforce platform but admins can use these same tools to streamline the declarative creation process as well.
These slides were part of the Dreamforce 2017 admin track presentation titled "Salesforce DX - an Admin's Perspective" given on November 7, 2017.
Developers use the Elastic API, CLI, and SDK to automate deployment provisioning, operations, and programmatic scaling. If you're looking to embed these functions into your CI/CD pipelines, applications, shell scripts, infrastructure as code (IaC) tools such as Terraform, or even configuration management tools like Ansible, Chef, and Puppet — this session is for you.
Next-level integration with Spring Data ElasticsearchElasticsearch
In the past, Spring Data Elasticsearch used old versions of Elasticsearch, did not support current client technologies, required manual query and response customizations, and had incomplete features and bugs. See how after major internal rewritings, version 4.0 now makes data access in Spring Data Elasticsearch as easy as it is in other Spring Data modules without needing to know the details of communicating with Elasticsearch.
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.
Understanding Multitenancy and the Architecture of the Salesforce PlatformSalesforce Developers
Join us as we take a deep dive into the architecture of the Salesforce platform, explain how multitenancy actually works, and how it affects you as a developer. Showing the technology we use and the design principles we adhere to, you'll see how our platform teams manage three major upgrades a year without causing any issues to existing development. We'll cover the performance and security implications around the platform to give you an understanding of how limits have evolved. By the end of the session you'll have a better grasp of the architecture underpinning Force.com and understand how to get the most out of it.
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.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
More Related Content
Similar to CRM Science - Dreamforce '14: Generic Package Extension Architecture for AppExchange Partners
Quit Jesting and Test your Lightning Web Components, Phillipe OzilCzechDreamin
This developer session introduces Lightning Web Component testing. It starts with an overview of the testing environment built around the Jest framework. We learn how the environment operates in complete isolation from the Salesforce Platform and lets you run tests locally. We then cover the basics of writing tests with a "Given, When, Then" pattern. We leave you with common patterns and tips for writing efficient tests.
Understanding the Salesforce Architecture: How We Do the Magic We DoSalesforce Developers
Join us for a deep dive into the architecture of the Salesforce1 Platform. We'll explain how multitenancy actually works and how it affects you as a Salesforce customer. By understanding the technology we use and the design principles we adhere to, you'll see how our platform teams manage three major upgrades a year without causing any issues to existing development. We'll cover the performance and security implications around the platform to give you an understanding of how limits have evolved. By the end of the session, you'll have a better grasp of the architecture underpinning Force.com and understand how to get the most out of it.
Orchestrate all of your salesforce automation with the trigger actions frameworkSudipta Deb ☁
Kitchener Developer Group’s virtual event where Mitchell Spano, Application Engineer at Google will talk about “Orchestrate ALL of your Salesforce Automation with the Trigger Action Framework”
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreTom Gersic
At some point, all mobile app users lose their data signal. Join us to learn best-practices for coding for offline requirements with the Salesforce Mobile SDK. We'll develop a simple app using SmartStore offline storage, highlighting the SmartSQL and SmartSync features. With these tools, you can take your mobile apps to the next level, developing native and hybrid applications on iOS and Android that have offline access to your data.
Join us to learn how to create a mini framework for event handling on the OpportunityContactRole (OCR) and AccountContactRole (ACR) objects. Using a custom Visualforce page driven by a controller extension, you can replace the standard related lists, provide additional validation logic, and allow triggering of other actions, such as notifications to the sales team.
With sharing or without sharing... is that the question? Join us as we help you 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 will cover sharing, FLS, CRUD, and all the most common mistakes and misconceptions about how these features work in Apex and Visualforce.
Bug Hunting with the Salesforce Developer ConsoleMatthew Poe
Join Jess Lopez, Salesforce.org's NGO Technical Architect in Customer Centric Engineering (aka NPSP Surgeon and Detective) as she shares tips and tricks she uses every day when troubleshooting both managed packages and unmanaged customizations in some of the most complex and largest customer orgs. Managed Package examples will be focused on the Nonprofit Success Pack, but concepts can be broadly applied to any package.
You receive a cryptic error. Where do you even start to troubleshoot? In this session, Jess will walk you through capturing a debug log and viewing all sorts of useful information from within the Dev Console. She'll also walk you through some of the more common errors and strategies for troubleshooting
Talk given by Marat Vyshegorodtsev and Sergey Gorbaty. Enterprise Security team at Salesforce, in January 2017.
Discusses a set of open source tools that analyze the Apex/VisualForce code and advise on its quality.
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
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.
Dreamforce 2017: Salesforce DX - an Admin's PerspectiveMike White
The Salesforce DX tool-set dramatically improves the development process for programmatic creation on the Salesforce platform but admins can use these same tools to streamline the declarative creation process as well.
These slides were part of the Dreamforce 2017 admin track presentation titled "Salesforce DX - an Admin's Perspective" given on November 7, 2017.
Developers use the Elastic API, CLI, and SDK to automate deployment provisioning, operations, and programmatic scaling. If you're looking to embed these functions into your CI/CD pipelines, applications, shell scripts, infrastructure as code (IaC) tools such as Terraform, or even configuration management tools like Ansible, Chef, and Puppet — this session is for you.
Next-level integration with Spring Data ElasticsearchElasticsearch
In the past, Spring Data Elasticsearch used old versions of Elasticsearch, did not support current client technologies, required manual query and response customizations, and had incomplete features and bugs. See how after major internal rewritings, version 4.0 now makes data access in Spring Data Elasticsearch as easy as it is in other Spring Data modules without needing to know the details of communicating with Elasticsearch.
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.
Understanding Multitenancy and the Architecture of the Salesforce PlatformSalesforce Developers
Join us as we take a deep dive into the architecture of the Salesforce platform, explain how multitenancy actually works, and how it affects you as a developer. Showing the technology we use and the design principles we adhere to, you'll see how our platform teams manage three major upgrades a year without causing any issues to existing development. We'll cover the performance and security implications around the platform to give you an understanding of how limits have evolved. By the end of the session you'll have a better grasp of the architecture underpinning Force.com and understand how to get the most out of it.
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.
Similar to CRM Science - Dreamforce '14: Generic Package Extension Architecture for AppExchange Partners (20)
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
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.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
2. Safe Harbor
Safe harbor 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.
5. Managed Package Challenges
Flexibility of platform creates (un)expected variability
Edition specific features
• Access and permissions issues
Optional standard features
• Person accounts, record types, etc.
Unknown sharing models
• Org specific user access
Varying target org business logic
• Pre-existing or a-typical business logic
6. Customer Wants… Customer Gets…
“...in our org, we do
<process x> this
way.”
“…your package
does <x>, can it
do <y>?”
“…we use <custom object> instead
of <standard object>“
7. Extension Package Flow
Salesforce Org
Optional Native Base Package Extension Package
Trigger Trigger
Trigger Handler
Business logic Business logic Business logic
Callout Handler
External Application
8. Generic Extension Package Architecture Advantages
Completely
generic
Can handle any
org-specific
complexity
Flexible and
reusable
Extends to
separate packages
or target orgs
10. Custom Settings
• Very similar to Custom Objects
Familiar
• Can be exposed to or hidden from end-users
Visibility
• Won’t count against SOQL limits
Efficient
Readily Available
• Apex
• Visualforce
• Formula Fields
• Web Services API
11. Interfaces
// A new global class w/in the Base Package
global with sharing class <className> {
}
// Define an interface with method blueprints
global interface <interfaceName>{
}
// Define a generic class with generic params
<returnType> <methodName(<parameters>);
12. Dynamic Instantiation of Classes
// get the type of the class outside the package that impl. the generic interface
Type t = Type.forName(<namespace>, <className>);
// use a concrete type of the intf. To create a new inst. of the ext. impl.
Extension ExtensionClass = (Extension)t.newInstance();
13. Code Examples - Outbound
3 Steps to Implement this Design Pattern
14. Step 1: Create Interface in the Base Package
// A new global class w/in the Base Package
global with sharing class BasePackage {
}
// Define an interface with method blueprints
global interface Extension {
}
// Define a generic class with generic params
object GenericMethod(list<object> params);
15. Step 2: Create External Class
public with sharing class MyExtension implements BasePackageNameSpace.BasePackage.Extension {
// define a the generic class that is present in the interface
public static object GenericMethod(list<object> params) {
// replace input params with variables that have concrete types.
set<id> RecordIds = (set<id>)params[0];
string somestring = (string)params[1];
// use the concrete type variables to call the class that does all the work
ProcessFutureCallout(RecordIds, somestring);
// in this example the business logic needs to make a callout to a different API
@future(callout = true)
public static void ProcessFutureCallout(set<id> RecordIds, string somestring) {
// anything inside this class can be custom
}
// in this case there is no need to return anything so return null;
return null;
}
}
16. Step 3: Call External Class from Within the Base Package
// Get the external class name from a custom setting
PackageExtension__c ext = PackageExtension__c.getInstance('extensionName');
if (ext == null) {
else {
// Get the type of the class outside the package that implements the generic interface
Type t = Type.forName(ext.Namespace__c, ext.ClassName__c);
// Using a concrete type of the int., create a new instance of the ext. implementation
BasePackage.Extension ExtensionClass = (BasePackage.Extension)t.newInstance();
// Use ExtensionClass to call the generic method with any relevant variable
list<object> retList = ExtensionClass.GenericMethod(
new list<object>{someRecordIds, someString}
);
}
// Process normal business logic
}
17. Code Examples - Inbound
Re-using Common Code from the Base Package
18. Utilize Base Package Code from the Extension
// Define a global entry point to the package that can be called from outside the package
global object CallMethod(string classDotMethod, list<object> params) {
// Instantiate a generic object to return
object retValue;
// Using a Base Package Class' internal public static method with parameters
else if (classDotMethod == 'BasePackageClass2.Method1')
BasePackageClass2.Method1(
(set<Id>)params[0],
(string)params[1],
(string)params[2]
);
// Return methods results to caller as an object
return retValue;
}
// Using a Base Package Class' internal public static method
if (classDotMethod == 'BasePackageClass1.Method1')
retValue = BasePackageClass1.Method1();