SlideShare a Scribd company logo
#Subscribed14 @twittername
Section 301
Templates, Components & Plugins
Advanced Concepts
OBJ 1:
OBJ 2:
OBJ 3:
Understand the need when to extend and add to the OOTB
Zuora Quotes workflow and the benefits offered by
Templates, Components & Plugin functionality
Get comfortable with developing components & plugins
and enhancing Zuora Quotes workflow
Objectives
Explore the Component Registration Feature in ZuoraConfig
and examples of OOTB components available
#Subscribed14 @twittername
Business Scenario - Advanced
Sales Quote Workflow
Create
Account
Create
Opport Advanced Create Quote Workflow
Add Products & RatePlansSubmit Quote
Review Subscription
& Invoice
With a large number of variations in the quote to subscription workflow,
very often it is required to either extend existing functionality or add new
functionality to Zuora Quotes. This is where Components and Plugins in
Zuora For Salesforce comes into the picture.
#Subscribed14 @twittername
Components & Plugins – Definition
Components
Similar to the way you can encapsulate a piece of code in a method and then
reuse that method several times in a program, you can encapsulate a common
design pattern in a custom component and then reuse that component several
times in one or more Visualforce pages.
Plugins
An Apex plugin for a managed package is an external class, instantiated
dynamically at runtime, which is called from within the package, the package
has no dependency on the class.
Components & Plugin -Architecture
Visual Force Page
Page Level Component
UI Component
UI Component
UI Component
Plug-In
UI Component
Plug-In
= Plug-In
#Subscribed14 @twittername
Examples of OOTB Components
#Subscribed14 @twittername
Property Component
#Subscribed14 @twittername
List Component
#Subscribed14 @twittername
Lookup Component
#Subscribed14 @twittername
Mutton (Menu + Button)
Component
#Subscribed14 @twittername
Components & Plugins - Benefits
Components and Plugins provide the following
benefits:
They dramatically speed up development what previously
was pure Apex code by reusing successful patterns already
established in our Quotes application
It allows custom functionality over and above what Zuora For
Salesforce provides out of the box, but in a managed way, an
example being the default-values exercise you will perform in
a lab exercise.
#Subscribed14 @twittername
Component Registration
Zuora provides a single place to manage all your components and plugins in a
structured way.
#Subscribed14 @twittername
Component Registration
Benefits
• Provides a central place to manage all of your custom components
and plugins
• Reduces the number of steps it previously took to use a component
or a plugin in your system
• Puts you on an upgrade path such that when we add additional
functionality to these components, you get an immediate benefit as
opposed to if you had used custom code
• It means you will take advantage for your own components of any
point and click Admin UI we decide to put on top of the components
or plugins
• It allows Zuora to isolate custom code versus product issues
occurring in your implementation much more easily
#Subscribed14 @twittername
Section 301
Lab Exercises
#Subscribed14 @twittername
Lab Exercise 1 - Components
In this lab exercise you will use the
PropertyComponent to create a new Quote
Details Page.
We will programmatically create the
PaymentMethod field (static field in Section
201) and dynamically drive Payment Term
field.
#Subscribed14 @twittername
Property & Lookup Component -
Lab Exercise Steps
1. Develop Custom Controller by Extending
zqu.PropertyComponentController & Leverage Lookup Component
2. Develop Custom Visualforce Page and Leverage
PropertyComponent attributes
3. Add the Newly Created Page to the Quote Wizard Workflow
#Subscribed14 @twittername
Step 1 – Create Custom Controller
Download the code for
SamplePropertyComponentController class
from Github:
https://github.com/zuora/Z-
Force/blob/master/ZDKSampleCode/src/clas
ses/CustomQuoteWizardStep.cls
#Subscribed14 @twittername
Step 1 – Create Custom Controller
App Setup – Develop – Apex Classes – New - Paste the downloaded Code
#Subscribed14 @twittername
High Level Code Analysis
1. Extending zqu.PropertyComponentController
2. Leveraging zqu.PropertyComponentOptions
3. Leveraging zqu.LookupComponentOptions
#Subscribed14 @twittername
Step 2 – Develop Custom Visualforce
Page
App Setup – Develop – Pages – New – Paste the downloaded Code
#Subscribed14 @twittername
Update Quote Wizard Workflow
Select the Visualforce page you created as step #2
#Subscribed14 @twittername
Create a New Quote
Select an opportunity and click on New Quote Button
#Subscribed14 @twittername
Verify Step #2 of the Quote
Workflow
Page Label of the VF page created
Payment Method & Payment Term Fields
#Subscribed14 @twittername
Lab Exercise 2 - Plugins
• In this Lab Exercise we will extend the
behavior of the Quotes Details Page we
created in the previous step by leveraging
out of box QuoteDefaultPlugin
• The goal of this exercise is to demonstrate
how ZuoraForSalesforce OOTB Plugins
can help extend/enhance functionality.
#Subscribed14 @twittername
Using Plugins – Lab Exercise
Notes – Modify the diagram – Quote Detail with Create Quote
#Subscribed14 @twittername
Plugin - Lab Exercise Steps
1. Develop Apex Plugin (Code Provided)
2. Use Component Registration Feature under ZuoraConfig to
extend the CreateQuote PropertyComponent
3. Create a new Quote to verify the Default Value Plugin works
#Subscribed14 @twittername
Step 1- Create Apex Class
Under AppSetup – Click on Pages
Click on New to create a new Apex Class
#Subscribed14 @twittername
DefaultValuePlugin - Code
global class DefaultValueCreateQuoteComponent extends zqu.CreateQuoteController.PopulateDefaultFieldValuePlugin {
global override void populateDefaultFieldValue(SObject record, zqu.PropertyComponentController.ParentController pcc) {
super.populateDefaultFieldValue(record, pcc);
<<Query the value of the custom Region field>>
If it is West
record.put('zqu__InitialTerm__c', 15);
If it is east
record.put('zqu__RenewalTerm__c', 12);
record.put('zqu__ValidUntil__c', Date.today().addDays(30));
record.put('zqu__StartDate__c', Date.today());
record.put('zqu__PaymentMethod__c', 'Check');
// The opportunity Id is populated from the parent method, use it here to retrieve the account ID
Id opportunityId = (Id) record.get('zqu__Opportunity__c');
Opportunity opp = [SELECT Account.Id FROM Opportunity WHERE Id = :opportunityId LIMIT 1];
// Find the contacts associated with the account
List<Contact> contacts = [SELECT Id, Name FROM Contact WHERE Account.Id = :opp.Account.Id];
// Assuming the contacts are present
if (contacts.size() > 0) {
System.debug('mp: about to add ' + contacts[0].Id + ' as a contact ID');
record.put('zqu__BillToContact__c', contacts[0].Id);
record.put('zqu__SoldToContact__c', contacts[0].Id);
// Before retrieving the lookup options, needs to populate the map first
super.setLookupOptions(pcc);
// Now retrieve the lookup component options
zqu.LookupComponentOptions billToOptions = super.getLookupOption('zqu__BillToContact__c');
billToOptions.targetId = contacts[0].Id;
billToOptions.targetName = contacts[0].Name;
zqu.LookupComponentOptions soldToOptions = super.getLookupOption('zqu__SoldToContact__c');
soldToOptions.targetId = contacts[0].Id;
soldToOptions.targetName = contacts[0].Name;
}
}
}
Copy the code from this slide and paste
it in the development editor
Lab Step 2
Use Component Registration
& Extend Default
PropertyComponent
#Subscribed14 @twittername
Using Component Registration
Click on ZuoraConfig Tab
Select Component Registration
#Subscribed14 @twittername
Extend the Default Value Plugin
Click on Edit Action for
zqu:PropertyComponent for CreateQuote
#Subscribed14 @twittername
Extend the Default Value Plugin
We will be extending the
PopulateValuePlugin
Enter the name of the Plugin Apex class
you created in the Class Name
Click on Update Button
#Subscribed14 @twittername
Lab Step 3
Create a New Quote
#Subscribed14 @twittername
Create a new Quote and See the
new Plugin in Action
Note the required values have default
values populated.
#Subscribed14 @twittername
End of Section 301
#Subscribed14 @twittername
Other Component & Plugins
Examples
In the previous two examples we just scratched the
surface on what’s possible with components.
More code and examples can be found at:
https://github.com/zuora/Z-
Force/tree/master/ZDKSampleCode
&
http://knowledgecenter.zuora.com/CB_Commerce/Z
uora_for_Salesforce/E_Z-
Force_Builder/B_Component_Library

More Related Content

Viewers also liked

Evaluation 4
Evaluation 4Evaluation 4
Evaluation 4
RobPitman11
 
Social strategies for_building exceptional customer relatsions
Social strategies for_building exceptional customer relatsionsSocial strategies for_building exceptional customer relatsions
Social strategies for_building exceptional customer relatsions
Samuel Sharaf
 
Translation’s stuffs
Translation’s stuffsTranslation’s stuffs
Translation’s stuffs
dihliza
 
cv 20 jan15
cv 20 jan15cv 20 jan15
cv 20 jan15
gitanjali sharma
 
Zuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandoutZuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandout
Samuel Sharaf
 
Jason presentation
Jason presentationJason presentation
Jason presentation
papichulo809
 
Tenses (Learning Materials for Indonesian Students Who Learn English Language)
Tenses (Learning Materials for Indonesian Students Who Learn English Language)Tenses (Learning Materials for Indonesian Students Who Learn English Language)
Tenses (Learning Materials for Indonesian Students Who Learn English Language)
dihliza
 
Subscribed zuora forsalesforce training -sections 101 & 102
Subscribed zuora forsalesforce training -sections 101 & 102 Subscribed zuora forsalesforce training -sections 101 & 102
Subscribed zuora forsalesforce training -sections 101 & 102
Samuel Sharaf
 
A cosa serve il blog per un e-commerce - Ecommerce Hub 2016
A cosa serve il blog per un e-commerce - Ecommerce Hub 2016A cosa serve il blog per un e-commerce - Ecommerce Hub 2016
A cosa serve il blog per un e-commerce - Ecommerce Hub 2016
Francesco Ambrosino
 

Viewers also liked (9)

Evaluation 4
Evaluation 4Evaluation 4
Evaluation 4
 
Social strategies for_building exceptional customer relatsions
Social strategies for_building exceptional customer relatsionsSocial strategies for_building exceptional customer relatsions
Social strategies for_building exceptional customer relatsions
 
Translation’s stuffs
Translation’s stuffsTranslation’s stuffs
Translation’s stuffs
 
cv 20 jan15
cv 20 jan15cv 20 jan15
cv 20 jan15
 
Zuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandoutZuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandout
 
Jason presentation
Jason presentationJason presentation
Jason presentation
 
Tenses (Learning Materials for Indonesian Students Who Learn English Language)
Tenses (Learning Materials for Indonesian Students Who Learn English Language)Tenses (Learning Materials for Indonesian Students Who Learn English Language)
Tenses (Learning Materials for Indonesian Students Who Learn English Language)
 
Subscribed zuora forsalesforce training -sections 101 & 102
Subscribed zuora forsalesforce training -sections 101 & 102 Subscribed zuora forsalesforce training -sections 101 & 102
Subscribed zuora forsalesforce training -sections 101 & 102
 
A cosa serve il blog per un e-commerce - Ecommerce Hub 2016
A cosa serve il blog per un e-commerce - Ecommerce Hub 2016A cosa serve il blog per un e-commerce - Ecommerce Hub 2016
A cosa serve il blog per un e-commerce - Ecommerce Hub 2016
 

Similar to Subscribed zuora forsalesforce training -section301-final

What is sap security
What is sap securityWhat is sap security
What is sap security
grconlinetraining
 
mean stack
mean stackmean stack
mean stack
michaelaaron25322
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
Sauce Labs
 
How to Validate Form With Flutter BLoC.pptx
How to Validate Form With Flutter BLoC.pptxHow to Validate Form With Flutter BLoC.pptx
How to Validate Form With Flutter BLoC.pptx
BOSC Tech Labs
 
Orangescrum Client management Add on User Manual
Orangescrum Client management Add on User ManualOrangescrum Client management Add on User Manual
Orangescrum Client management Add on User Manual
Orangescrum
 
Diving into VS 2015 Day5
Diving into VS 2015 Day5Diving into VS 2015 Day5
Diving into VS 2015 Day5
Akhil Mittal
 
Lightning Process Builder
Lightning Process BuilderLightning Process Builder
Lightning Process Builder
sanskriti agarwal
 
Lightning Process Builder
Lightning Process BuilderLightning Process Builder
Lightning Process Builder
sanskriti agarwal
 
Apex Replay Debugger and Salesforce Platform Events.pptx
Apex Replay Debugger and Salesforce Platform Events.pptxApex Replay Debugger and Salesforce Platform Events.pptx
Apex Replay Debugger and Salesforce Platform Events.pptx
mohayyudin7826
 
Ashish Kumar Prajapati
Ashish Kumar PrajapatiAshish Kumar Prajapati
Ashish Kumar Prajapati
Ashish kumar
 
Indore MuleSoft Meetup #5 April 2022 MDynamics 65.pptx
Indore MuleSoft Meetup #5 April 2022 MDynamics 65.pptxIndore MuleSoft Meetup #5 April 2022 MDynamics 65.pptx
Indore MuleSoft Meetup #5 April 2022 MDynamics 65.pptx
IndoreMulesoftMeetup
 
E-Bazaar
E-BazaarE-Bazaar
E-Bazaar
ayanthi1
 
Onlineshoppingonline shopping
Onlineshoppingonline shoppingOnlineshoppingonline shopping
Onlineshoppingonline shopping
Hardik Padhy
 
Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02
Shuchi Singla
 
My sql udf,views
My sql udf,viewsMy sql udf,views
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
Joel Oleson
 
SuiteCRM Customer Portal
SuiteCRM Customer PortalSuiteCRM Customer Portal
SuiteCRM Customer Portal
AppJetty
 
Advanced Apex Webinar
Advanced Apex WebinarAdvanced Apex Webinar
Advanced Apex Webinar
pbattisson
 
Apex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsApex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong Foundations
Salesforce Developers
 
Building Visualforce Custom Events Handlers
Building Visualforce Custom Events HandlersBuilding Visualforce Custom Events Handlers
Building Visualforce Custom Events Handlers
Salesforce Developers
 

Similar to Subscribed zuora forsalesforce training -section301-final (20)

What is sap security
What is sap securityWhat is sap security
What is sap security
 
mean stack
mean stackmean stack
mean stack
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
 
How to Validate Form With Flutter BLoC.pptx
How to Validate Form With Flutter BLoC.pptxHow to Validate Form With Flutter BLoC.pptx
How to Validate Form With Flutter BLoC.pptx
 
Orangescrum Client management Add on User Manual
Orangescrum Client management Add on User ManualOrangescrum Client management Add on User Manual
Orangescrum Client management Add on User Manual
 
Diving into VS 2015 Day5
Diving into VS 2015 Day5Diving into VS 2015 Day5
Diving into VS 2015 Day5
 
Lightning Process Builder
Lightning Process BuilderLightning Process Builder
Lightning Process Builder
 
Lightning Process Builder
Lightning Process BuilderLightning Process Builder
Lightning Process Builder
 
Apex Replay Debugger and Salesforce Platform Events.pptx
Apex Replay Debugger and Salesforce Platform Events.pptxApex Replay Debugger and Salesforce Platform Events.pptx
Apex Replay Debugger and Salesforce Platform Events.pptx
 
Ashish Kumar Prajapati
Ashish Kumar PrajapatiAshish Kumar Prajapati
Ashish Kumar Prajapati
 
Indore MuleSoft Meetup #5 April 2022 MDynamics 65.pptx
Indore MuleSoft Meetup #5 April 2022 MDynamics 65.pptxIndore MuleSoft Meetup #5 April 2022 MDynamics 65.pptx
Indore MuleSoft Meetup #5 April 2022 MDynamics 65.pptx
 
E-Bazaar
E-BazaarE-Bazaar
E-Bazaar
 
Onlineshoppingonline shopping
Onlineshoppingonline shoppingOnlineshoppingonline shopping
Onlineshoppingonline shopping
 
Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02
 
My sql udf,views
My sql udf,viewsMy sql udf,views
My sql udf,views
 
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
STSADM Automating SharePoint Administration - Tech Ed South East Asia 2008 wi...
 
SuiteCRM Customer Portal
SuiteCRM Customer PortalSuiteCRM Customer Portal
SuiteCRM Customer Portal
 
Advanced Apex Webinar
Advanced Apex WebinarAdvanced Apex Webinar
Advanced Apex Webinar
 
Apex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsApex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong Foundations
 
Building Visualforce Custom Events Handlers
Building Visualforce Custom Events HandlersBuilding Visualforce Custom Events Handlers
Building Visualforce Custom Events Handlers
 

Recently uploaded

Creative Web Design Company in Singapore
Creative Web Design Company in SingaporeCreative Web Design Company in Singapore
Creative Web Design Company in Singapore
techboxsqauremedia
 
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
my Pandit
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
CLIVE MINCHIN
 
-- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month ---- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month --
NZSG
 
Chapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .pptChapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .ppt
ssuser567e2d
 
3 Simple Steps To Buy Verified Payoneer Account In 2024
3 Simple Steps To Buy Verified Payoneer Account In 20243 Simple Steps To Buy Verified Payoneer Account In 2024
3 Simple Steps To Buy Verified Payoneer Account In 2024
SEOSMMEARTH
 
Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024
Adnet Communications
 
How MJ Global Leads the Packaging Industry.pdf
How MJ Global Leads the Packaging Industry.pdfHow MJ Global Leads the Packaging Industry.pdf
How MJ Global Leads the Packaging Industry.pdf
MJ Global
 
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
bosssp10
 
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Neil Horowitz
 
Digital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital ExcellenceDigital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital Excellence
Operational Excellence Consulting
 
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta MatkaDpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challengesEvent Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Holger Mueller
 
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
Lacey Max
 
Income Tax exemption for Start up : Section 80 IAC
Income Tax  exemption for Start up : Section 80 IACIncome Tax  exemption for Start up : Section 80 IAC
Income Tax exemption for Start up : Section 80 IAC
CA Dr. Prithvi Ranjan Parhi
 
Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024
FelixPerez547899
 
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
Stephen Cashman
 
Authentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto RicoAuthentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto Rico
Corey Perlman, Social Media Speaker and Consultant
 
Top mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptxTop mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptx
JeremyPeirce1
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
Christian Dahlen
 

Recently uploaded (20)

Creative Web Design Company in Singapore
Creative Web Design Company in SingaporeCreative Web Design Company in Singapore
Creative Web Design Company in Singapore
 
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
 
-- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month ---- June 2024 is National Volunteer Month --
-- June 2024 is National Volunteer Month --
 
Chapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .pptChapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .ppt
 
3 Simple Steps To Buy Verified Payoneer Account In 2024
3 Simple Steps To Buy Verified Payoneer Account In 20243 Simple Steps To Buy Verified Payoneer Account In 2024
3 Simple Steps To Buy Verified Payoneer Account In 2024
 
Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024
 
How MJ Global Leads the Packaging Industry.pdf
How MJ Global Leads the Packaging Industry.pdfHow MJ Global Leads the Packaging Industry.pdf
How MJ Global Leads the Packaging Industry.pdf
 
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
 
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...
 
Digital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital ExcellenceDigital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital Excellence
 
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta MatkaDpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
 
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challengesEvent Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challenges
 
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
 
Income Tax exemption for Start up : Section 80 IAC
Income Tax  exemption for Start up : Section 80 IACIncome Tax  exemption for Start up : Section 80 IAC
Income Tax exemption for Start up : Section 80 IAC
 
Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024
 
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
 
Authentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto RicoAuthentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto Rico
 
Top mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptxTop mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptx
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
 

Subscribed zuora forsalesforce training -section301-final

  • 1. #Subscribed14 @twittername Section 301 Templates, Components & Plugins Advanced Concepts
  • 2. OBJ 1: OBJ 2: OBJ 3: Understand the need when to extend and add to the OOTB Zuora Quotes workflow and the benefits offered by Templates, Components & Plugin functionality Get comfortable with developing components & plugins and enhancing Zuora Quotes workflow Objectives Explore the Component Registration Feature in ZuoraConfig and examples of OOTB components available
  • 3. #Subscribed14 @twittername Business Scenario - Advanced Sales Quote Workflow Create Account Create Opport Advanced Create Quote Workflow Add Products & RatePlansSubmit Quote Review Subscription & Invoice With a large number of variations in the quote to subscription workflow, very often it is required to either extend existing functionality or add new functionality to Zuora Quotes. This is where Components and Plugins in Zuora For Salesforce comes into the picture.
  • 4. #Subscribed14 @twittername Components & Plugins – Definition Components Similar to the way you can encapsulate a piece of code in a method and then reuse that method several times in a program, you can encapsulate a common design pattern in a custom component and then reuse that component several times in one or more Visualforce pages. Plugins An Apex plugin for a managed package is an external class, instantiated dynamically at runtime, which is called from within the package, the package has no dependency on the class.
  • 5. Components & Plugin -Architecture Visual Force Page Page Level Component UI Component UI Component UI Component Plug-In UI Component Plug-In = Plug-In
  • 11. #Subscribed14 @twittername Components & Plugins - Benefits Components and Plugins provide the following benefits: They dramatically speed up development what previously was pure Apex code by reusing successful patterns already established in our Quotes application It allows custom functionality over and above what Zuora For Salesforce provides out of the box, but in a managed way, an example being the default-values exercise you will perform in a lab exercise.
  • 12. #Subscribed14 @twittername Component Registration Zuora provides a single place to manage all your components and plugins in a structured way.
  • 13. #Subscribed14 @twittername Component Registration Benefits • Provides a central place to manage all of your custom components and plugins • Reduces the number of steps it previously took to use a component or a plugin in your system • Puts you on an upgrade path such that when we add additional functionality to these components, you get an immediate benefit as opposed to if you had used custom code • It means you will take advantage for your own components of any point and click Admin UI we decide to put on top of the components or plugins • It allows Zuora to isolate custom code versus product issues occurring in your implementation much more easily
  • 15. #Subscribed14 @twittername Lab Exercise 1 - Components In this lab exercise you will use the PropertyComponent to create a new Quote Details Page. We will programmatically create the PaymentMethod field (static field in Section 201) and dynamically drive Payment Term field.
  • 16. #Subscribed14 @twittername Property & Lookup Component - Lab Exercise Steps 1. Develop Custom Controller by Extending zqu.PropertyComponentController & Leverage Lookup Component 2. Develop Custom Visualforce Page and Leverage PropertyComponent attributes 3. Add the Newly Created Page to the Quote Wizard Workflow
  • 17. #Subscribed14 @twittername Step 1 – Create Custom Controller Download the code for SamplePropertyComponentController class from Github: https://github.com/zuora/Z- Force/blob/master/ZDKSampleCode/src/clas ses/CustomQuoteWizardStep.cls
  • 18. #Subscribed14 @twittername Step 1 – Create Custom Controller App Setup – Develop – Apex Classes – New - Paste the downloaded Code
  • 19. #Subscribed14 @twittername High Level Code Analysis 1. Extending zqu.PropertyComponentController 2. Leveraging zqu.PropertyComponentOptions 3. Leveraging zqu.LookupComponentOptions
  • 20. #Subscribed14 @twittername Step 2 – Develop Custom Visualforce Page App Setup – Develop – Pages – New – Paste the downloaded Code
  • 21. #Subscribed14 @twittername Update Quote Wizard Workflow Select the Visualforce page you created as step #2
  • 22. #Subscribed14 @twittername Create a New Quote Select an opportunity and click on New Quote Button
  • 23. #Subscribed14 @twittername Verify Step #2 of the Quote Workflow Page Label of the VF page created Payment Method & Payment Term Fields
  • 24. #Subscribed14 @twittername Lab Exercise 2 - Plugins • In this Lab Exercise we will extend the behavior of the Quotes Details Page we created in the previous step by leveraging out of box QuoteDefaultPlugin • The goal of this exercise is to demonstrate how ZuoraForSalesforce OOTB Plugins can help extend/enhance functionality.
  • 25. #Subscribed14 @twittername Using Plugins – Lab Exercise Notes – Modify the diagram – Quote Detail with Create Quote
  • 26. #Subscribed14 @twittername Plugin - Lab Exercise Steps 1. Develop Apex Plugin (Code Provided) 2. Use Component Registration Feature under ZuoraConfig to extend the CreateQuote PropertyComponent 3. Create a new Quote to verify the Default Value Plugin works
  • 27. #Subscribed14 @twittername Step 1- Create Apex Class Under AppSetup – Click on Pages Click on New to create a new Apex Class
  • 28. #Subscribed14 @twittername DefaultValuePlugin - Code global class DefaultValueCreateQuoteComponent extends zqu.CreateQuoteController.PopulateDefaultFieldValuePlugin { global override void populateDefaultFieldValue(SObject record, zqu.PropertyComponentController.ParentController pcc) { super.populateDefaultFieldValue(record, pcc); <<Query the value of the custom Region field>> If it is West record.put('zqu__InitialTerm__c', 15); If it is east record.put('zqu__RenewalTerm__c', 12); record.put('zqu__ValidUntil__c', Date.today().addDays(30)); record.put('zqu__StartDate__c', Date.today()); record.put('zqu__PaymentMethod__c', 'Check'); // The opportunity Id is populated from the parent method, use it here to retrieve the account ID Id opportunityId = (Id) record.get('zqu__Opportunity__c'); Opportunity opp = [SELECT Account.Id FROM Opportunity WHERE Id = :opportunityId LIMIT 1]; // Find the contacts associated with the account List<Contact> contacts = [SELECT Id, Name FROM Contact WHERE Account.Id = :opp.Account.Id]; // Assuming the contacts are present if (contacts.size() > 0) { System.debug('mp: about to add ' + contacts[0].Id + ' as a contact ID'); record.put('zqu__BillToContact__c', contacts[0].Id); record.put('zqu__SoldToContact__c', contacts[0].Id); // Before retrieving the lookup options, needs to populate the map first super.setLookupOptions(pcc); // Now retrieve the lookup component options zqu.LookupComponentOptions billToOptions = super.getLookupOption('zqu__BillToContact__c'); billToOptions.targetId = contacts[0].Id; billToOptions.targetName = contacts[0].Name; zqu.LookupComponentOptions soldToOptions = super.getLookupOption('zqu__SoldToContact__c'); soldToOptions.targetId = contacts[0].Id; soldToOptions.targetName = contacts[0].Name; } } } Copy the code from this slide and paste it in the development editor
  • 29. Lab Step 2 Use Component Registration & Extend Default PropertyComponent
  • 30. #Subscribed14 @twittername Using Component Registration Click on ZuoraConfig Tab Select Component Registration
  • 31. #Subscribed14 @twittername Extend the Default Value Plugin Click on Edit Action for zqu:PropertyComponent for CreateQuote
  • 32. #Subscribed14 @twittername Extend the Default Value Plugin We will be extending the PopulateValuePlugin Enter the name of the Plugin Apex class you created in the Class Name Click on Update Button
  • 33. #Subscribed14 @twittername Lab Step 3 Create a New Quote
  • 34. #Subscribed14 @twittername Create a new Quote and See the new Plugin in Action Note the required values have default values populated.
  • 36. #Subscribed14 @twittername Other Component & Plugins Examples In the previous two examples we just scratched the surface on what’s possible with components. More code and examples can be found at: https://github.com/zuora/Z- Force/tree/master/ZDKSampleCode & http://knowledgecenter.zuora.com/CB_Commerce/Z uora_for_Salesforce/E_Z- Force_Builder/B_Component_Library

Editor's Notes

  1. ----- Meeting Notes (6/10/14 15:21) ----- Remove references to ZQuotes and ZuoraForSalesforce Zuora Quotes Zuora Config space
  2. ----- Meeting Notes (6/10/14 15:21) ----- highlight the two steps animation for create quote take out extending existing functionality e.g. adding default values plugin Nathan to forward video from Rohan replace custom product selector with examples from use cases from businesses e.g. default values plugin ... and Zuora Create Quote examples take out add custom page
  3. ----- Meeting Notes (6/10/14 15:21) ----- definition first and then the diagram
  4. ----- Meeting Notes (6/10/14 15:21) ----- Redo this slide remove the upper right red dot Benefits provided by Zuora Components and Plugins
  5. ----- Meeting Notes (6/10/14 15:21) ----- Zuora Support for Components & Plugins Component and Plugins Library contains apex methods and force.com components
  6. ----- Meeting Notes (6/10/14 15:21) ----- Order of benefits
  7. Provide similar slide for components Lab Exercise
  8. A plugin, by definition, is an Apex interface. It provides an entry point for customization within a component, without having to re-write part or all of the component. Each component can define one or more plugin interfaces, and optionally can provide a default plugin implementation for each of the plugin interfaces.
  9. Provide similar slide for components Lab Exercise
  10. ZuoraForSalesforce Training Github Copy/Paste the code from the link there Default the contact based on the role Defaulting the term based on the region Because of the region we want to push longer subscription, instead of standard 12 months we are going to default it to 24 months
  11. Use the Legal language Quote custom field example from Zuora workflow and base the term length on that. Legal language custom field in the first lab