The standard Salesforce Approval process can be limiting in many ways, especially in complex scenarios.
What if there was a way to implement very flexible approvals where one can use Apex code to make data updates in unrelated records, dynamically generate next steps details, and compute assignees on the fly? And still use UI-based configurations to implement concrete approval processes.
In this session, we will share ideas behind such a solution and show a few lines of code to get you started.
This document discusses store procedures including:
1. What a store procedure is and how it improves performance over dynamic SQL.
2. The key differences between store procedures and functions.
3. How to create, call, and execute store procedures including examples of creating procedures to insert, update, delete records.
4. The processing that occurs when a store procedure is created including resolution, compilation, and execution.
5. How query plans are built and stored for procedures.
The document provides an overview of testing Apex code in Salesforce, including:
- Why unit testing is important for developing robust, error-free code that meets the minimum 75% test coverage requirement.
- How to write Apex test classes annotated with @isTest and define test methods using testMethod.
- Using Test.startTest() and Test.stopTest() to test governor limits.
- Examples of testing a trigger, visualforce controller, web services callouts, and external API callouts.
- Best practices for testing such as using System.assert(), achieving 100% coverage, and testing different user contexts with System.runAs().
The document discusses using Service Broker Activation to allow asynchronous and reliable procedure execution by having a client submit a message to a queue which triggers an activated procedure to execute the desired code. It provides an overview of how Service Broker Activation works and demonstrates passing parameters to asynchronously invoked procedures by encoding them in an XML message. Resources and considerations for using activation contexts are also covered.
The document provides an introduction to stored procedures in SQL. Key points include:
- Stored procedures allow code to be executed faster than batches by pre-compiling the code.
- They centralize business logic and error handling routines for consistent implementation across users.
- Parameters can be passed into stored procedures to make them more flexible. Output parameters allow returning values.
- Best practices include adding comments, error handling, and using transactions for consistency across nested stored procedures.
The document provides an introduction to stored procedures in SQL. Key points include:
- Stored procedures allow code to be executed as a batch after being compiled once, improving performance over executing individual SQL statements.
- Stored procedures can accept input parameters, return output parameters, and be used to enforce consistent implementation of business logic and error handling.
- Best practices for stored procedures include adding documentation, error handling, and using input/output parameters to make procedures more flexible and reusable.
Join us for an overview of REST, the Force.com REST API, and learn how to use that REST API with Swagger, a language-agnostic framework for describing, producing, consuming, and visualizing RESTful web services. You'll learn how Swagger can generate a Spring MVC Controller to consume the Force.com REST API, and keep client and documentation systems in sync with the server.
Advance Sql Server Store procedure PresentationAmin Uddin
This document discusses stored procedures in SQL, including:
1. What stored procedures are and how they improve performance over dynamic SQL.
2. How to create stored procedures with parameters and return values.
3. How to call/execute stored procedures and examples of inserting, updating, and deleting data using stored procedures.
4. The process of stored procedure compilation and recompilation, including when recompilation may be needed due to changes in data or indexes.
This document discusses store procedures including:
1. What a store procedure is and how it improves performance over dynamic SQL.
2. The key differences between store procedures and functions.
3. How to create, call, and execute store procedures including examples of creating procedures to insert, update, delete records.
4. The processing that occurs when a store procedure is created including resolution, compilation, and execution.
5. How query plans are built and stored for procedures.
The document provides an overview of testing Apex code in Salesforce, including:
- Why unit testing is important for developing robust, error-free code that meets the minimum 75% test coverage requirement.
- How to write Apex test classes annotated with @isTest and define test methods using testMethod.
- Using Test.startTest() and Test.stopTest() to test governor limits.
- Examples of testing a trigger, visualforce controller, web services callouts, and external API callouts.
- Best practices for testing such as using System.assert(), achieving 100% coverage, and testing different user contexts with System.runAs().
The document discusses using Service Broker Activation to allow asynchronous and reliable procedure execution by having a client submit a message to a queue which triggers an activated procedure to execute the desired code. It provides an overview of how Service Broker Activation works and demonstrates passing parameters to asynchronously invoked procedures by encoding them in an XML message. Resources and considerations for using activation contexts are also covered.
The document provides an introduction to stored procedures in SQL. Key points include:
- Stored procedures allow code to be executed faster than batches by pre-compiling the code.
- They centralize business logic and error handling routines for consistent implementation across users.
- Parameters can be passed into stored procedures to make them more flexible. Output parameters allow returning values.
- Best practices include adding comments, error handling, and using transactions for consistency across nested stored procedures.
The document provides an introduction to stored procedures in SQL. Key points include:
- Stored procedures allow code to be executed as a batch after being compiled once, improving performance over executing individual SQL statements.
- Stored procedures can accept input parameters, return output parameters, and be used to enforce consistent implementation of business logic and error handling.
- Best practices for stored procedures include adding documentation, error handling, and using input/output parameters to make procedures more flexible and reusable.
Join us for an overview of REST, the Force.com REST API, and learn how to use that REST API with Swagger, a language-agnostic framework for describing, producing, consuming, and visualizing RESTful web services. You'll learn how Swagger can generate a Spring MVC Controller to consume the Force.com REST API, and keep client and documentation systems in sync with the server.
Advance Sql Server Store procedure PresentationAmin Uddin
This document discusses stored procedures in SQL, including:
1. What stored procedures are and how they improve performance over dynamic SQL.
2. How to create stored procedures with parameters and return values.
3. How to call/execute stored procedures and examples of inserting, updating, and deleting data using stored procedures.
4. The process of stored procedure compilation and recompilation, including when recompilation may be needed due to changes in data or indexes.
This document summarizes a presentation on database optimization techniques for DBAs. It discusses using reports like AWR, ASH, and ADDM to analyze performance issues. It also covers using explain plans and trace files to diagnose problems. Specific troubleshooting steps are provided for examples involving parallel processing issues, performance degradation after an upgrade, and temporary space usage. The presentation emphasizes using data from tools like these to identify and address real performance problems, rather than superficial "tinsel" optimizations.
The document provides information on various SQL commands used for data manipulation and control, database objects like tables and schemas, users and privileges in SQL. It discusses commands like COMMIT, ROLLBACK, GRANT, REVOKE used for transactions and managing privileges. It also summarizes creation, alteration and deletion of database objects using commands like CREATE, ALTER, DROP and functions like SELECT, INSERT, UPDATE, DELETE for data manipulation. The document further discusses concepts like stored procedures in SQL and use of phpMyAdmin for administering MySQL databases.
Change tracking is a lightweight solution that provides an efficient change tracking mechanism for applications. Typically, to enable applications to query for changes to data in a database and access information that is related to the changes, application developers had to implement custom change tracking mechanisms. Creating these mechanisms usually involved a lot of work and frequently involved using a combination of triggers, timestamp columns, new tables to store tracking information, and custom cleanup processes.
The document introduces aspect-oriented programming (AOP) using the Spring framework. AOP enables separating cross-cutting concerns like logging, caching, and error handling into modular aspects. Spring AOP uses dynamic proxies to advise Spring beans by adding aspects without modifying code. It provides an example of adding performance tracing to a service method using an aspect configured as a Spring bean.
The document discusses connecting Java applications to MS Access and MySQL databases using JDBC. It provides code examples to demonstrate loading drivers, establishing connections, executing queries, retrieving results, and closing connections for basic CRUD (create, read, update, delete) operations. It also covers differences between Statement and PreparedStatement interfaces and using stored procedures with CallableStatement.
This document provides an introduction and overview of stored procedures and functions in SQL. It discusses transaction management using COMMIT and ROLLBACK statements. It defines stored procedures as precompiled collections of SQL statements that can accept parameters and return values. Stored procedures offer benefits like modular programming and faster execution. The document also introduces user-defined functions and provides examples of creating and executing stored procedures and functions.
The document discusses stored procedures and functions in Oracle databases. It describes how procedures are compiled code stored in the database that can be called from client environments. Procedures allow encapsulating common operations like inserting records or updating salaries. The document provides examples of creating procedures and functions, specifying arguments, debugging errors, and managing dependencies.
Refactoring @ Mindvalley: Smells, Techniques and PatternsTristan Gomez
Every week my team commits really good, clean code. I decided to get the best of the commits and showcase what makes them good, what smells they address, and what techniques they used.
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale
Speaker: Ryan Geyer, Cloud Solutions Engineer, RightScale
Want to implement a simple, yet powerful self-service interface on top of RightScale? This talk is for you. We will demo our work on the IT Vending Machine and cover how to customize it for your needs. You will leave with our code to begin using in your environment.
Developers' New features of Sql server express 2012Ziaur Rahman
This document presents information on SQL Server 2012 Express. It discusses hardware and software requirements, limitations of SQL Server Express compared to full versions, and new features in SQL Server 2012 like 14 new built-in functions and improved paging functionality. It also provides documentation on how to execute stored procedures, pass-through queries, and use sequence generators for auto-incrementing IDs.
The document discusses several SQL concepts:
[1] Subqueries, which can be noncorrelated (independent of the outer query) or correlated (contains references to the outer query). Correlated subqueries cannot be run independently.
[2] Views, which provide security, simplify queries, and insulate from changes, but can reduce performance and manageability. Views restrict access and update capabilities.
[3] Stored procedures, which increase performance but require specialized skills. Stored procedures accept parameters, contain multiple statements, and perform modifications, while views are limited to single SELECTs.
Views allow querying of data from other tables without storing a separate physical table. Stored procedures allow reusable sequences of SQL statements to be stored in database. Functions return a value and can be used in queries. Triggers allow automated actions such as updates in response to data changes.
Asynchronous Apex Salesforce World Tour Paris 2015Samuel De Rycke
The document discusses asynchronous Apex processing in Salesforce, including batch Apex, future methods, queueable Apex, scheduled Apex, and continuations. It describes when each would be used and how they allow processing to continue asynchronously rather than blocking the current transaction. It also provides examples of how to implement each type of asynchronous processing and notes some limitations, such as concurrent jobs limits and parameter passing restrictions.
This document discusses stored procedures in databases. It provides an overview of stored procedures, their advantages like reduced network traffic, and how they allow local variables, loops, and examination of data tuples. It describes how to write stored procedures using languages like SQL, including declaring parameters, and provides examples of stored procedures using conditional statements, loops, and cursors to process data.
The document discusses developing custom ASP.NET AJAX client components and server controls. It covers the key steps which are:
1) Developing the reusable client component code using the ASP.NET AJAX prototype model.
2) Creating an associated server control that emits the required JavaScript to register and initialize the client component.
3) Wiring up the server control to load and instantiate the client component code.
Quick Query is a basic component used to search fields in forms, while Advanced Query is a separate window that allows users to enter more complex criteria and filter results. Both components utilize common packages and stored procedures to dynamically build SQL statements based on the query parameters and validate user input before executing the queries and returning results. The document provides an overview of how Quick Query and Advanced Query work in the DMS system and how they can be implemented to retrieve and filter data programmatically.
This document discusses stored procedures in MySQL. Key points:
- Stored procedures are subroutines stored in a database that can take parameters and return values. They are written in MySQL and stored on the server.
- Benefits include reducing duplication, improving security, and reducing network traffic compared to sending multiple SQL statements.
- Disadvantages include difficulty debugging and increased memory usage with many procedures.
- Procedures can take IN, OUT, and INOUT parameters to pass values between the calling code and procedure. Variables and conditionals like IF statements can also be used inside procedures.
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
How to differentiate Sales Cloud and CPQ on first glance might be tricky if you do not know where to look and what to look at. You will know :-)
Managing the sales process within Salesforce is a common use case that can be managed with standart Sales Cloud. If you want to do entire quoting process you will find out Salesforce CPQ solution exists. What is then the difference if both can handle selling products?
You will see comparison of 10 different features, which Sales Cloud and Salesforce CPQ handle differently.
Simple question you will always remember if you should consider using Salesforce CPQ will be a cherry on top.
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
Already know how to write a basic SOQL query? Great! But what about an *aggregate* SOQL query? You know, the kind that uses aggregate functions like COUNT & MAX along with GROUP BY and HAVING clauses? No? Well, get ready to learn how to slice & dice your org’s data right inside your own dev console. From finding duplicate records to prototyping summary & matrix reports, learn the ins and outs of aggregate queries during this fast-paced but admin-friendly session on advanced SOQL concepts.
More Related Content
Similar to Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
This document summarizes a presentation on database optimization techniques for DBAs. It discusses using reports like AWR, ASH, and ADDM to analyze performance issues. It also covers using explain plans and trace files to diagnose problems. Specific troubleshooting steps are provided for examples involving parallel processing issues, performance degradation after an upgrade, and temporary space usage. The presentation emphasizes using data from tools like these to identify and address real performance problems, rather than superficial "tinsel" optimizations.
The document provides information on various SQL commands used for data manipulation and control, database objects like tables and schemas, users and privileges in SQL. It discusses commands like COMMIT, ROLLBACK, GRANT, REVOKE used for transactions and managing privileges. It also summarizes creation, alteration and deletion of database objects using commands like CREATE, ALTER, DROP and functions like SELECT, INSERT, UPDATE, DELETE for data manipulation. The document further discusses concepts like stored procedures in SQL and use of phpMyAdmin for administering MySQL databases.
Change tracking is a lightweight solution that provides an efficient change tracking mechanism for applications. Typically, to enable applications to query for changes to data in a database and access information that is related to the changes, application developers had to implement custom change tracking mechanisms. Creating these mechanisms usually involved a lot of work and frequently involved using a combination of triggers, timestamp columns, new tables to store tracking information, and custom cleanup processes.
The document introduces aspect-oriented programming (AOP) using the Spring framework. AOP enables separating cross-cutting concerns like logging, caching, and error handling into modular aspects. Spring AOP uses dynamic proxies to advise Spring beans by adding aspects without modifying code. It provides an example of adding performance tracing to a service method using an aspect configured as a Spring bean.
The document discusses connecting Java applications to MS Access and MySQL databases using JDBC. It provides code examples to demonstrate loading drivers, establishing connections, executing queries, retrieving results, and closing connections for basic CRUD (create, read, update, delete) operations. It also covers differences between Statement and PreparedStatement interfaces and using stored procedures with CallableStatement.
This document provides an introduction and overview of stored procedures and functions in SQL. It discusses transaction management using COMMIT and ROLLBACK statements. It defines stored procedures as precompiled collections of SQL statements that can accept parameters and return values. Stored procedures offer benefits like modular programming and faster execution. The document also introduces user-defined functions and provides examples of creating and executing stored procedures and functions.
The document discusses stored procedures and functions in Oracle databases. It describes how procedures are compiled code stored in the database that can be called from client environments. Procedures allow encapsulating common operations like inserting records or updating salaries. The document provides examples of creating procedures and functions, specifying arguments, debugging errors, and managing dependencies.
Refactoring @ Mindvalley: Smells, Techniques and PatternsTristan Gomez
Every week my team commits really good, clean code. I decided to get the best of the commits and showcase what makes them good, what smells they address, and what techniques they used.
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale
Speaker: Ryan Geyer, Cloud Solutions Engineer, RightScale
Want to implement a simple, yet powerful self-service interface on top of RightScale? This talk is for you. We will demo our work on the IT Vending Machine and cover how to customize it for your needs. You will leave with our code to begin using in your environment.
Developers' New features of Sql server express 2012Ziaur Rahman
This document presents information on SQL Server 2012 Express. It discusses hardware and software requirements, limitations of SQL Server Express compared to full versions, and new features in SQL Server 2012 like 14 new built-in functions and improved paging functionality. It also provides documentation on how to execute stored procedures, pass-through queries, and use sequence generators for auto-incrementing IDs.
The document discusses several SQL concepts:
[1] Subqueries, which can be noncorrelated (independent of the outer query) or correlated (contains references to the outer query). Correlated subqueries cannot be run independently.
[2] Views, which provide security, simplify queries, and insulate from changes, but can reduce performance and manageability. Views restrict access and update capabilities.
[3] Stored procedures, which increase performance but require specialized skills. Stored procedures accept parameters, contain multiple statements, and perform modifications, while views are limited to single SELECTs.
Views allow querying of data from other tables without storing a separate physical table. Stored procedures allow reusable sequences of SQL statements to be stored in database. Functions return a value and can be used in queries. Triggers allow automated actions such as updates in response to data changes.
Asynchronous Apex Salesforce World Tour Paris 2015Samuel De Rycke
The document discusses asynchronous Apex processing in Salesforce, including batch Apex, future methods, queueable Apex, scheduled Apex, and continuations. It describes when each would be used and how they allow processing to continue asynchronously rather than blocking the current transaction. It also provides examples of how to implement each type of asynchronous processing and notes some limitations, such as concurrent jobs limits and parameter passing restrictions.
This document discusses stored procedures in databases. It provides an overview of stored procedures, their advantages like reduced network traffic, and how they allow local variables, loops, and examination of data tuples. It describes how to write stored procedures using languages like SQL, including declaring parameters, and provides examples of stored procedures using conditional statements, loops, and cursors to process data.
The document discusses developing custom ASP.NET AJAX client components and server controls. It covers the key steps which are:
1) Developing the reusable client component code using the ASP.NET AJAX prototype model.
2) Creating an associated server control that emits the required JavaScript to register and initialize the client component.
3) Wiring up the server control to load and instantiate the client component code.
Quick Query is a basic component used to search fields in forms, while Advanced Query is a separate window that allows users to enter more complex criteria and filter results. Both components utilize common packages and stored procedures to dynamically build SQL statements based on the query parameters and validate user input before executing the queries and returning results. The document provides an overview of how Quick Query and Advanced Query work in the DMS system and how they can be implemented to retrieve and filter data programmatically.
This document discusses stored procedures in MySQL. Key points:
- Stored procedures are subroutines stored in a database that can take parameters and return values. They are written in MySQL and stored on the server.
- Benefits include reducing duplication, improving security, and reducing network traffic compared to sending multiple SQL statements.
- Disadvantages include difficulty debugging and increased memory usage with many procedures.
- Procedures can take IN, OUT, and INOUT parameters to pass values between the calling code and procedure. Variables and conditionals like IF statements can also be used inside procedures.
Similar to Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder (20)
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
How to differentiate Sales Cloud and CPQ on first glance might be tricky if you do not know where to look and what to look at. You will know :-)
Managing the sales process within Salesforce is a common use case that can be managed with standart Sales Cloud. If you want to do entire quoting process you will find out Salesforce CPQ solution exists. What is then the difference if both can handle selling products?
You will see comparison of 10 different features, which Sales Cloud and Salesforce CPQ handle differently.
Simple question you will always remember if you should consider using Salesforce CPQ will be a cherry on top.
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
Already know how to write a basic SOQL query? Great! But what about an *aggregate* SOQL query? You know, the kind that uses aggregate functions like COUNT & MAX along with GROUP BY and HAVING clauses? No? Well, get ready to learn how to slice & dice your org’s data right inside your own dev console. From finding duplicate records to prototyping summary & matrix reports, learn the ins and outs of aggregate queries during this fast-paced but admin-friendly session on advanced SOQL concepts.
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
Unlock the mysteries of successful Salesforce interviews in this insightful session hosted by Hugo Rosario (Salesforce Customer), a seasoned hiring manager that leads the Salesforce Department of multinational company with over 100 interviews under their belt. Step into the manager's chair and gain exclusive behind-the-scenes insights into what makes a Salesforce consultant stand out during the interview process.
From deciphering the unspoken cues to mastering key strategies, we'll explore the intricacies of the interview process and provide practical tips for consultants looking to not only pass interviews but also thrive in their roles. Whether you're a seasoned professional or just starting your Salesforce journey, this session is your backstage pass to the secrets that hiring managers wish you knew.
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
Explore the core of Salesforce success in 'Salesforce Adoption – Metrics, Methods, and Motivation.'
We will discuss essential metrics, effective methods to drive adoption, and the driving force behind user engagement and explore strategies for onboarding, training, and continuous support that empower users to navigate the platform seamlessly.
By leveraging these tools, you can effectively measure adoption against your company’s goals and create an environment where users not only adopt Salesforce but actively contribute to its ongoing success.
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
New customer? New industry? New cloud? New team? A lot to handle!
How to ensure the success of the project? Start it well! I've created the 3 areas of focus at the beginning of the project that helped me in multiple roles (BA, PO, and Consultant). Learn from real-world experiences and discover how these insights can empower you to deliver unparalleled value to your customers right from the project's start.
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
Screen flow is a powerful automation tool that is commonly designed for internal and external users. However, what about the guest users? We will dive into various methods of launching screen flows and understand how to make them publicly accessible, extending their usability to a broader audience.
The presentation will also cover the implementation of security layers and highlight best practices for a smooth and protected user experience. Discover the potential of screen flows beyond conventional use and learn how to leverage them effectively.
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
We're living the AI revolution and Salesforce is adapting and bring new value to their customers. Einstein products are evolving rapidly and navigating their limitations, language support, and use cases can be challenging.
Let's make review of what Einstein product are available currently, what are the capabilities and what can be used for in CEE region and how Rossie.ai can help to learn Salesforce speak Czech. We will explore the Einstein roadmap and I will make a short live demo (based on your vote) of some Einstein feature.
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
This talk focuses on the practical aspects of integrating various telephony systems with Salesforce, drawing on examples from implementations in the Czech scene. It aims to inform attendees about the spectrum of telephony solutions available, from small to large scale, and their compatibility with Salesforce.
The presentation will highlight key considerations for selecting a telephony provider that integrates smoothly with Salesforce, including important questions to support the decision-making process. It will also discuss methods for integrating existing telephony systems with Salesforce, aimed at companies contemplating or in the process of adopting this CRM platform.
The discussion is designed to provide a straightforward overview of the steps and considerations involved in telephony and Salesforce integration, with an emphasis on functionality, compatibility, and the practical experiences of Czech companies.
Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...CzechDreamin
Salesforce Forecasting is evolving for tomorrow, evolving for the future, and evolving for the next generation of sales leadership.
This often underutilized feature has undergone a transformation over the past few releases to reveal a slick, modern interface and a host of new functionality, propelling forecasting into the spotlight.
Join this session to discover the latest enhancements, considerations and implementation best practices.
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...CzechDreamin
It’s official: Salesforce Marketing Cloud is the #1 Marketing Platform!*
But being #1 is not being perfect…
And you are right by asking how you could increase the capabilities of Marketing Cloud?!
So let’s kick this out and see how to easily extend the power of Salesforce Marketing Cloud 🙂
In this session, you will discover a selection of solutions
AppExchange apps or external solutions
that integrate with Marketing Cloud to leverage the power of your platform.
* based on research publications from IDC, Gartner and Forrester
How we should include Devops Center to get happy developers?, David Fernandez...CzechDreamin
Including DevOps center in Salesforce development process can benefit both admins and developers by streamlining workflows, fostering collaboration, improving quality, and providing better visibility into the development process.
The whole DevOps process includes automated testing and deployment, which can reduce the time it takes to release new features and functionality, while also improving the quality of the final product.
By fostering a culture of collaboration and communication, DevOps can break down silos and encourage admins and developers to work more effectively together.
Automation and standardisation can also help to streamline workflows and reduce the amount of time spent on technical tasks, allowing admins and developers to focus on more important work.
By working more efficiently and effectively, admins and developers can deliver better results in less time, while also improving the overall quality and reliability of their work.
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...CzechDreamin
This document provides an overview of the Salesforce Composite API and its benefits for consultants. It discusses how mastering integrations through the Composite API can help consultants become more valuable team players and ensure project success. Examples are given of how the Composite API allows performing multiple operations in a single request, such as creating an account and contact together. Authentication using the Connected App or user credentials is also summarized. Overall, the document encourages consultants to learn the Composite API to improve their technical skills and better understand client needs for integrations.
Architecting for Analytics, Aaron CrearCzechDreamin
Data drives decisions.
Having reliable, clean data is a goal of most organizations. However, far too often the method for retrieving, presenting and consuming this data is an afterthought for many implementations.
This session will help you understand the architectural process required to provide your stakeholders with actionable analytics that can drive the business forward.
We will examine data models and sources, reporting tools and processes, resources, access policies and delivery methods.
Prepare yourself and your organization for the full analytics lifecycle. We will use a custom commission reporting solution as a live demo.
Filip has the following on his LinkedIn profile – Analytics, AI, mental models and paradigm shifts.
Expect something mind blowing which will change your perception of the world for upcoming years.
Push Upgrades, The last mile of Salesforce DevOps, Manuel MoyaCzechDreamin
Did you know that the traditional Salesforce DevOps cycle is missing one step?
In this session, we will cover the reason why Push Upgrades are a key factor to consider for most ISV vendors, how to make it part of the Application Lifecycle Management, and what are the best way to make use of the technology, from using the standard to the advantages of creating of a custom solution on top of it.
How do you know you’re solving the right problem? Design Thinking for Salesfo...CzechDreamin
The document discusses how to properly frame problems and scope challenges using design thinking methodology. It provides tips on writing How Might We statements, which are questions used to guide the design process by focusing on user needs rather than predefined solutions. The document includes an example of stakeholders providing context around issues with customer contracts and an agent then writing How Might We statements to help agents and customers better understand contractual processes so they can transact with confidence.
ChatGPT … How Does it Flow?, Mark JonesCzechDreamin
Can an AI tool build a Flow matching best practice standards?
If this sentence intrigues you, then this session will be worth checking out.
In it we will ask OpenAI’s ChatGPT tool to put together instructions for building a Flow based on a use case.
We’ll check out the results together and see how it compares to current Flow best practices. You might find the results a little surprising.
Real-time communication with Account Engagement (Pardot). Marketers meet deve...CzechDreamin
What are the Benefits and costs of real-time communication built with Marketing Cloud Account Engagement (ex Pardot)?
Is Account Engagement the tool of choice when it comes to real-time communication and interaction with your clients?
In this session, we will take a closer look at 1:1 personalized communication to build with the help of APEX, flows, and of course Account Engagement.
The session will cover a description of the solution, specific use cases, learnings from such implementations, and well as the obstacles and limitations you can face once using it from the point of marketing and development.
Do not worry we are not talking about a solution that requires lots of months to build and a big team effort.
The session is designed for both marketers and developers whereas the solution needs a deep understanding of both worlds. We will speak about marketing and demonstrate the code as well.
Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian...CzechDreamin
An Aura based Experience Cloud, if misconfigured, can be used to mass download all data that the Public Guest Site User can access.
If you know how to ask, the Experience Site will also tell you which Apex methods are available and what their properties are – even if the Apex method is not actually used on the site.
You can execute the Apex method, too, and get all its response data.
Put on your black hat for this session and learn how a few lines of code are enough to scan any Aura Experiences Site for weaknesses, extract all the data, and call Apex.
Sales methodology for Salesforce Opportunity, Georgy AvilovCzechDreamin
In short:
I’ll show what is a sales methodology, how does it work in an everyday life and how to reflect it correctly in Salesforce. We’ll see how to setup a sales process and revenue forecast. And let sales department benefit out of it.
And what’s more important – how to avoid common mistakes that will make system heavy and not usable.
Longer:
I’ll tell the audience how to connect sales and Salesforce. And thus design a working system.
Salesforce launch sponsors are often from operations (COO-s and etc). That’s why sales process is often more about operational processing steps rather than sales methodology. That makes Sales Departments consider Sales Cloud as purely administrative tool – damaging Salesforce reputation among Sales.
It makes Salesforce more a pain rather than a value in a longer term prospective. And to fix that afterwards you have to almost make a new launch.
That can be done correctly at the very beginning – I’ll tell how.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
QA or the Highway - Component Testing: Bridging the gap between frontend appl...zjhamm304
These are the slides for the presentation, "Component Testing: Bridging the gap between frontend applications" that was presented at QA or the Highway 2024 in Columbus, OH by Zachary Hamm.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
"What does it really mean for your system to be available, or how to define w...Fwdays
We will talk about system monitoring from a few different angles. We will start by covering the basics, then discuss SLOs, how to define them, and why understanding the business well is crucial for success in this exercise.
"NATO Hackathon Winner: AI-Powered Drug Search", Taras KlobaFwdays
This is a session that details how PostgreSQL's features and Azure AI Services can be effectively used to significantly enhance the search functionality in any application.
In this session, we'll share insights on how we used PostgreSQL to facilitate precise searches across multiple fields in our mobile application. The techniques include using LIKE and ILIKE operators and integrating a trigram-based search to handle potential misspellings, thereby increasing the search accuracy.
We'll also discuss how the azure_ai extension on PostgreSQL databases in Azure and Azure AI Services were utilized to create vectors from user input, a feature beneficial when users wish to find specific items based on text prompts. While our application's case study involves a drug search, the techniques and principles shared in this session can be adapted to improve search functionality in a wide range of applications. Join us to learn how PostgreSQL and Azure AI can be harnessed to enhance your application's search capability.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
3. Why are we here today?
Our client had very complex and not finite requirements for Approval processes
• Dynamic rules for approving e.g. 2 of 3 approvals needed based on the context record details
• Make data updates in unrelated records
• Compute assignees on the fly
• Approval with a change (Amendment)
• Dynamically generate next Approval requests
• Pause/Unpause active approval process
• Highly configurable
4. This presentation outlines an idea for very customisable approvals framework addressing
the limitations of the standard approval process.
The proposed solution leverages Apex code stored within text fields and a custom
implementation of the EVAL method for Apex to provide dynamic approval/rejection
criteria and automate process progression, reducing the configuration overhead.
Seamlessly handles very complex custom scenarios such as determining completion
based on a specified percentage or number of approvals.
The Assigned Approvers can be computed dynamically at the time of the task
generation.
Highly configurable – ideal for Consultants with some Apex knowledge
Approach we took
8. eval in Apex
It should be noted that using executeAnonymous won't execute in the same context the way the Javascript eval() does. Any inputs need to be
explicitly included in the Apex string to execute.
Also, any return values need to be returned via the log and then parsed out to bring them into the context of the calling Apex.
Programmatic evaluation of Apex string and extraction of the result using executeAnonymous API call
- ExecuteAnonymous call is available through Apex API & Tooling API.
We use the Apex API – we can add debugging header (<apex:DebuggingHeader>) in request to get log in response and then parse that
response to get the result.
1. Build up the anonymous Apex string including any required inputs.
Use a System.debug(LoggingLevel.Error, 'output here') to send back the output data.
2. Call the Apex API executeAnonymous web method
3. Capture the DebuggingInfo SOAP header in the response and Parse the USER_DEBUG Error message out of the Apex Log.
4. Convert the resulting string to the target data type if required.
9. Framework
eval()
Core methods
Public methods
Workflow
configuration Public methods
submit(processDefinition,contextRecord) {
String errorMessage = WF_helper.checkEntryCriteria(processDefinition, contextRecord);
If(String.isBlank(errorMessage)) { //start process instance, compute first stepid, activate
node with that stepid and create workitems/approval requests}
}
Workflow Core methods
String contextRecordString = 'Account record = [SELECT Id, Industry FROM Account WHERE Id =' '+
contextRecord.Id + ''];';
String configScript = processDefinition.EntryCriteria__c;
String toEval = contextRecordString;
toEval += 'String result = '';';
toEval += configScript;
toEval += 'System.debug(LoggingLevelError, result);';
String finalResult = WF_ExecuteAnonymousApex.eval(toEval);
return finalResult;
Final String with code used by eval()
Account record = [SELECT Id, Industry FROM Account WHERE Id ='<accountId>'];
String result = record.Industry == 'Finance' ? '':'Criteria doesn't match';
System.debug(LoggingLevel.Error, result);
Workflow Configuration
processDefinition's EntryCriteria__c field value is the below string
result = record.Industry == 'Finance' ? '':'Criteria doesn't match';
10. Framework
ExecuteAnonymous API call
String endpoint = URL.getSalesforceBaseUrl().toExternalForm() + '/services/Soap/s/56.0';
HttpRequest req = new HttpRequest();
req.setEndpoint(endpoint_x);
req.setMethod('POST');
req.setHeader('Content-Type', 'text/xml; charset=UTF-8');
req.setHeader('SOAPAction', 'blank');
req.setBodyDocument(doc);
Http http = new Http();
HTTPResponse res = http.send(req);
return extractDebugLog(res.getBodyDocument());
Request Body
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:apex="http://soap.sforce.com/2006/08/apex">
<soapenv:Header>
<apex:DebuggingHeader>
<apex:categories>
<apex:category>Apex_code</apex:category>
<apex:level>ERROR</apex:level>
</apex:categories>
<apex:debugLevel>NONE</apex:debugLevel>
</apex:DebuggingHeader>
<apex:SessionHeader>
<apex:sessionId>Session Id</apex:sessionId>
</apex:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<apex:executeAnonymous>
<apex:String>Final string of code;</apex:String>
</apex:executeAnonymous>
</soapenv:Body>
</soapenv:Envelope>
Final String with code
Account record = [SELECT Id, Industry FROM Account WHERE Id ='<accountId>'];
String result = record.Industry == 'Finance' ? '':'Criteria doesn't match';
System.debug(LoggingLevel.Error, result);
Response
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/..."
<soapenv:Header>
<DebuggingInfo>
<debugLog>31.0 APEX_CODE,ERROR
Execute Anonymous: Final string of code
13:24:24.027 (27564504)|EXECUTION_STARTED
13:24:24.027 (27573409)|CODE_UNIT_STARTED|[EXTERNAL]|execute_anonymous_apex
13:24:24.028 (28065096)|USER_DEBUG|[1]|ERROR| Actual Output ("" or Criteria doesn't
match)
13:24:24.028 (28098385)|CODE_UNIT_FINISHED|execute_anonymous_apex
13:24:24.029 (29024086)|EXECUTION_FINISHED</debugLog>
</DebuggingInfo>
</soapenv:Header>
<soapenv:Body>
<executeAnonymousResponse>
<result>
<column>-1</column>
<compileProblem xsi:nil="true"/>
<compiled>true</compiled>
<exceptionMessage xsi:nil="true"/>
<exceptionStackTrace xsi:nil="true"/>
<line>-1</line>
<success>true</success>
</result>
</executeAnonymousResponse>
</soapenv:Body>
</soapenv:Envelope>
12. Process Configuration Samples
Scenario
Developers which are employees of a company and they have been contracted to
work on a project for a client.
When they want to go on an annual leave, they need to get an approval from both,
their own direct managers (Line, Delivery and Division Manager) and the client's
project manager.
Rules
• At least 50% of their Employer direct Managers needs to approve, e.g. 2 of 3
managers.
Once 50% was achieved the approval is given and the process can continue.
• Then a Project Manager on the Client side needs to approve as well, but only if
the Developer is currently assigned to a project.
14. AFTER SUBMISSION ACTION
After Submission Sample
Map<String, List<User>> roleToUsersMap = WF_Actors.getRoleUsers(contextRecordId,
new List<String> {'Line Manager', 'Delivery Manager', 'Division Manager'});
List<WF_App_Actions.RequestParams> requestParamsList = new List<WF_App_Actions.RequestParams>();
for (String role : roleToUsersMap.keySet()) {
for (User assignee : roleToUsersMap.get(role)) {
requestParamsList.add(new WF_App_Actions.RequestParams(
'Approve - ' + role,
'Select 'Approve' if you are happy to approve the leave.',
assignee, role, null));
}
}
}
WF_App_Actions.createApproverRequest(processInstanceId, processInstanceNodeId, requestParamsList);
15. IS FINAL APPROVAL – FRAMEWORK CODE
After Approval Sample
public static Boolean checkIfFinalApproval(
Id processInstanceNodeId,
Integer percentageRequired)
completedApprovals = Integer.valueOf(
processInstanceNode.NumberOfApprovals__c);
Integer allApprovals = [SELECT Count()
FROM WF_ProcessInstanceWorkItem__c
WHERE processInstanceNode =: processInstanceNodeId];
return (completedApprovals/allApprovals*100) >= percentageRequired;
// When 50% percentage required
result = WF_App_Actions.checkIfFinalApproval(processInstanceNodeId,
50);
result = ourHR.hasActiveProject(contextRecord.RequestedBy__c ? '002' : null;
APPROVED NEXT STEP ID
Map<String, List<User>> roleToUsersMap = LeaveApproval.getRoleUsers(contextRecordId,
new List<String> {'Project Manager'});
If (roleToUsersMap.size() == 0) return; // Finish the step when user has no Project Manager
List<WF_App_Actions.RequestParams> requestParamsList =
new List<WF_App_Actions.RequestParams>();
for (String role : roleToUsersMap.keySet()) {
for (User assignee : roleToUsersMap.get(role)) {
requestParamsList.add(new WF_App_Actions.RequestParams(
'Approve a leave request', 'Select 'Approve' if you are happy to approve,
assignee, role, null, null, false))
}
}
WF_App_Actions.createApproverRequest(processInstanceId, nextProcessInstanceNodeId,
requestParamsList);
AFTER FINAL APPROVAL ACTION
IS FINAL APPROVAL - CONFIGURATION
16. Implementation highlights
Topic Solution Approach
Executing anonymous apex script runs as the running user, not in system mode,
and if the script need to refer to any Apex classes to invoke methods, we would
need to grant the users permissions that we wouldn’t want to, such as Author Apex
or access to Setup
Using Named Credential to authenticate and login as an admin user.
With Named Credentials, we can provide the callout with admin credentials so the
dynamic code can be executed with as much flexibility as our written code. The
Named Credential takes in the URL of the callout we want to make and the necessary
authentication credentials for a User. When the callout is being made, those
credentials are used to authenticate and perform the callout.
Executing anonymous Apex script relies on making a callout, and we need to avoid
the error of ‘uncommitted changes in transaction…' whenever trying to make a
callout after any DMLs within the same transaction
We execute the Apex script in a future call.
Configuration details - All configs are saved in custom object records like
ProcessDef, Process Node etc.
We need a way to migrate these records across orgs and as well make them
available for unit tests
Fetch the records and save them as CSVs and upload them as static resources. The
static resources can be migrated from one org to another using source control system.
We can then have a command line data loader or an Apex class to read static
resources and load records.
18. • Our article about the Approvals
Custom Approval Process: A Different Perspective | Bluewave (bluewavecx.com) - https://bit.ly/44HalH4
• Thanks to Kevin Poorman
https://codefriar.wordpress.com/2014/10/30/eval-in-apex-secure-dynamic-code-evaluation-on-the-
salesforce1-platform/
• And Daniel Ballinger
https://www.fishofprey.com/2014/11/adding-eval-support-to-apex.html
Resources
https://drive.google.com/file/d/1QsPWui12iN2Lyz_kknYiNzQxGBwTrsqX/view?usp=sharing
Redo in landscape mode
With the tooling API the Apex debug log is generated but needs to be queried separately from the ApexLog.
Thanks to Kevin Poorman (https://codefriar.wordpress.com/2014/10/30/eval-in-apex-secure-dynamic-code-evaluation-on-the-salesforce1-platform/)
And Daniel Ballinger (https://www.fishofprey.com/2014/11/adding-eval-support-to-apex.html)
Need to simplify and rearrange the boxes
e.g. the PM is a field on the related Project object via a junction object
HR records for employees related to supervisors with roles (not SF Roles)
public class RequestParams {
public String title = ''; //example: Review Draft LOI
public String requestMessage = ''; //
public String chatterMessage; // The message to override the default message for chatter feed.
public User assignee; // User ID of the actor
public String assigneeQueue; // Developer name of the Queue
public String assigneeRole = ''; // example: Pricing Manager
public String availableStepIds; // Comma-separated list of StepIds that the WorkItem can be transferred to
For instance when we are calling the After Submission Action. Because this is done asynchronously, we might face timing related issues such as after submitting a workflow, work items are only created later on and we may need an extra refresh of the page or components to register the work items creation or whatever effect done in the apex script.