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
Quote workflow and the benefits offered by ZQuotes
Templates, Components & Plugin functionality
Get comfortable with developing components & plugins and
enhancing Quote workflow
Objectives
Explore the Component Registration Feature in ZuoraConfig
and examples of OOTB components available
#Subscribed14 @twittername
Business Need For
Components &
Plugins
#Subscribed14 @twittername
Business Scenario - Advanced
Sales Quote Workflow
Create
Account
Create
Opp
Create Quote
• Add Custom Page as Step #2
• Extend Existing Functionality etc.
Add Products & RatePlans
• Custom Product
Selector
Submit 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
Understanding
Components &
Plugins
#Subscribed14 @twittername
Components Definition
A way to encapsulate a common design
pattern in a custom component and then
reuse that component several times in one
or more Visualforce pages.
#Subscribed14 @twittername
Plugins Definition
An Apex plugin is an Apex class referenced
from within a managed package via a
component at runtime. It is a method to
encapsulate your own business logic within
our existing Zuora for Salesforce Visualforce
pages.
#Subscribed14 @twittername
Why use Components & Plugins?
Components
They dramatically speed up development what
previously was pure Apex code by reusing successful
patterns already established in our Quotes application
Plugins
They allow 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 and
Library
Zuora Provides
– A Component Registration feature if you wish to
develop your own Components and Plugins
– A library of Components and Plugins that you can
customize and use in your own Quoting
workflows
#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
Components & Plugin -Architecture
Visual Force Page
Page Level Component
UI Component
UI Component
UI Component
UI Component
= Plug-In
#Subscribed14 @twittername
Examples of OOTB Components
#Subscribed14 @twittername
UI Components
#Subscribed14 @twittername
List Component
#Subscribed14 @twittername
Lookup Component
#Subscribed14 @twittername
Mutton (Menu + Button)
Component
#Subscribed14 @twittername
Page Level Components
#Subscribed14 @twittername
Create Quote Component
#Subscribed14 @twittername
Select Products Component
#Subscribed14 @twittername
Billing Account Component
#Subscribed14 @twittername
Section 301
Lab Exercises
#Subscribed14 @twittername
Lab Exercise 1: Basic Component
Component Code Example to develop New Subscription Quote Page
#Subscribed14 @twittername
Lab Steps
#Subscribed14 @twittername
Basic Component - Lab Exercise
Steps
1. Develop Create Quote Page using out of box CreateQuote
Component
2. Add the newly added Visualforce page to Quote Workflow
3. Create a new Quote to verify the custom page is functional
#Subscribed14 @twittername
Lab Step 1
Develop Custom Create Quote
Page
#Subscribed14 @twittername
Component Development Example
Under AppSetup – Click on Pages
Click on New to create a new Visualforce Page
#Subscribed14 @twittername
Component Development Example
Name the Page
<YourName>CustomQuoteCreatePage
#Subscribed14 @twittername
Code for the Visualforce Page
Download the code from this link:
http://bit.ly/Z4SF-Lab1
#Subscribed14 @twittername
Lab Step 2
Add the new Quote Page to Quote
Workflow
#Subscribed14 @twittername
Add the New Page to Quote
Workflow
Edit the New Subscription workflow to add your
page as step #2
#Subscribed14 @twittername
Lab Step 3
Create a new Quote and Verify
CreateQuote Page is working
#Subscribed14 @twittername
End of Lab Exercise 1
#Subscribed14 @twittername
Lab Exercise 2
#Subscribed14 @twittername
Advanced Component – Lab 2
Exercise Steps
1. Develop Custom Quote Page and Controller
2. Add the Custom Quote Page to Quote Wizard Workflow
3. Create a new Quote and Verify that the new Custom Step is
functional.
#Subscribed14 @twittername
Lab Exercise 2: Advanced Component
Create Custom Quote Workflow Page
#Subscribed14 @twittername
Adding Page for Selecting Business
Channel and Sales Region
We will be adding another custom
Visualforce page and associated Apex
Controller
Visualforce Page:
http://bit.ly/labexercise1
Apex Controller:
http://bit.ly/labexercise1-2
#Subscribed14 @twittername
Adding Page for Selecting Business
Channel and Sales Region
Follow the steps from the previous Visualforce page to create a new
Page and call it <YourNameCustomQuoteStep>
#Subscribed14 @twittername
Adding Page for Selecting Business
Channel and Sales Region
Click on AppSetup-Develop-Apex Classes-New to create a new Apex
Class and call it <YourNameApexCustomQuoteWizardStep>
#Subscribed14 @twittername
Add the new Step to Quote
Workflow
#Subscribed14 @twittername
Add the new Step to Quote
Workflow
Ensure the Quote Wizard Configuration looks similar to the
following figure
#Subscribed14 @twittername
Create a new Quote and Verify the
Newly Added Pages are functional
Step #3 should be selecting Business Channel and State.
#Subscribed14 @twittername
Other Component 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
#Subscribed14 @twittername
Lab Exercise 3: Plugin
Zuora For Salesforce Titanium edition provides plugins for extending the functionality of
high-level components. With component registration, you can write your custom plugins
(here the "Default Value" plugin for the create quote component used in the out of box
flow) and extend the out of box default plugin used.
#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
Download the code from here
http://bit.ly/Z4SF-Lab3
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

More Related Content

What's hot

SAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional ConsultantSAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional Consultant
Ankit Sharma
 
Lightning Process Builder
Lightning Process BuilderLightning Process Builder
Lightning Process Builder
sanskriti agarwal
 
Custom Controllers and Controller Extensions
Custom Controllers and Controller Extensions Custom Controllers and Controller Extensions
Custom Controllers and Controller Extensions
Mohammed Safwat Abu Kwaik
 
Web dynpro & ui5
Web dynpro & ui5Web dynpro & ui5
Web dynpro & ui5
Tom Van Doorslaer
 
Securing api with_o_auth2
Securing api with_o_auth2Securing api with_o_auth2
Securing api with_o_auth2
sivachandra mandalapu
 
Apex for Admins: Beyond the Basics
Apex for Admins: Beyond the BasicsApex for Admins: Beyond the Basics
Apex for Admins: Beyond the Basics
Salesforce Developers
 
How to submit ios app in Appstore
How to submit ios app in AppstoreHow to submit ios app in Appstore
How to submit ios app in Appstore
Nandini Gautam
 
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)Yury Bondarau
 
Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1
Salesforce Developers
 

What's hot (10)

SAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional ConsultantSAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional Consultant
 
Lightning Process Builder
Lightning Process BuilderLightning Process Builder
Lightning Process Builder
 
Custom Controllers and Controller Extensions
Custom Controllers and Controller Extensions Custom Controllers and Controller Extensions
Custom Controllers and Controller Extensions
 
Salesforce Summer'13 - Chennai DUG
Salesforce Summer'13 - Chennai DUGSalesforce Summer'13 - Chennai DUG
Salesforce Summer'13 - Chennai DUG
 
Web dynpro & ui5
Web dynpro & ui5Web dynpro & ui5
Web dynpro & ui5
 
Securing api with_o_auth2
Securing api with_o_auth2Securing api with_o_auth2
Securing api with_o_auth2
 
Apex for Admins: Beyond the Basics
Apex for Admins: Beyond the BasicsApex for Admins: Beyond the Basics
Apex for Admins: Beyond the Basics
 
How to submit ios app in Appstore
How to submit ios app in AppstoreHow to submit ios app in Appstore
How to submit ios app in Appstore
 
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
 
Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1Mastering the Lightning Framework - Part 1
Mastering the Lightning Framework - Part 1
 

Viewers also liked

Mobile sdk socialframework-df2012_v3
Mobile sdk socialframework-df2012_v3Mobile sdk socialframework-df2012_v3
Mobile sdk socialframework-df2012_v3Samuel Sharaf
 
Prezentare educationala
Prezentare educationalaPrezentare educationala
Prezentare educationalaDiana Vasile
 
Đại Học Y Dược
Đại Học Y DượcĐại Học Y Dược
Đại Học Y DượciySmYm
 
Ie question d
Ie question dIe question d
Ie question d
YuliyaMavrova
 
Đại Học Y Dược
Đại Học Y DượcĐại Học Y Dược
Đại Học Y DượciySmYm
 
Zuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandoutZuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandout
Samuel Sharaf
 
Censorship down under
Censorship down underCensorship down under
Censorship down under
Erhan Boduk
 
Programa Sant Sebastià 2017
Programa Sant Sebastià 2017Programa Sant Sebastià 2017
Programa Sant Sebastià 2017
DAP Solutions
 
Spinach Trial 81315 USA
Spinach Trial 81315 USASpinach Trial 81315 USA
Spinach Trial 81315 USAsnanda2001
 
Nualgi Foliar Trial on Grapes
Nualgi Foliar Trial on GrapesNualgi Foliar Trial on Grapes
Nualgi Foliar Trial on Grapessnanda2001
 
ChinaBrazil Chindogu
ChinaBrazil ChindoguChinaBrazil Chindogu
ChinaBrazil Chindogu
rodolfoexclusivo
 
Walden UDL PPT
Walden UDL PPTWalden UDL PPT
Walden UDL PPT
Alicia Roberts
 
Spring 2012 capstone
Spring 2012 capstoneSpring 2012 capstone
Spring 2012 capstonexiexiaoye
 
Khilafat Magazine Issue 2
Khilafat Magazine Issue 2Khilafat Magazine Issue 2
Khilafat Magazine Issue 2Khilafat
 
معلم التجويد
معلم التجويدمعلم التجويد
معلم التجويد
سمير بسيوني
 
Trimble® Floodlight Technology
Trimble® Floodlight TechnologyTrimble® Floodlight Technology
Trimble® Floodlight Technology
geojobegis
 

Viewers also liked (20)

Mobile sdk socialframework-df2012_v3
Mobile sdk socialframework-df2012_v3Mobile sdk socialframework-df2012_v3
Mobile sdk socialframework-df2012_v3
 
Ie question d
Ie question dIe question d
Ie question d
 
Prezentare educationala
Prezentare educationalaPrezentare educationala
Prezentare educationala
 
Blog1
Blog1Blog1
Blog1
 
Ie question d
Ie question dIe question d
Ie question d
 
Đại Học Y Dược
Đại Học Y DượcĐại Học Y Dược
Đại Học Y Dược
 
Ie question d
Ie question dIe question d
Ie question d
 
Đại Học Y Dược
Đại Học Y DượcĐại Học Y Dược
Đại Học Y Dược
 
Zuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandoutZuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandout
 
Censorship down under
Censorship down underCensorship down under
Censorship down under
 
Programa Sant Sebastià 2017
Programa Sant Sebastià 2017Programa Sant Sebastià 2017
Programa Sant Sebastià 2017
 
Spinach Trial 81315 USA
Spinach Trial 81315 USASpinach Trial 81315 USA
Spinach Trial 81315 USA
 
Nualgi Foliar Trial on Grapes
Nualgi Foliar Trial on GrapesNualgi Foliar Trial on Grapes
Nualgi Foliar Trial on Grapes
 
Bersahabatlah dengan al
Bersahabatlah dengan alBersahabatlah dengan al
Bersahabatlah dengan al
 
ChinaBrazil Chindogu
ChinaBrazil ChindoguChinaBrazil Chindogu
ChinaBrazil Chindogu
 
Walden UDL PPT
Walden UDL PPTWalden UDL PPT
Walden UDL PPT
 
Spring 2012 capstone
Spring 2012 capstoneSpring 2012 capstone
Spring 2012 capstone
 
Khilafat Magazine Issue 2
Khilafat Magazine Issue 2Khilafat Magazine Issue 2
Khilafat Magazine Issue 2
 
معلم التجويد
معلم التجويدمعلم التجويد
معلم التجويد
 
Trimble® Floodlight Technology
Trimble® Floodlight TechnologyTrimble® Floodlight Technology
Trimble® Floodlight Technology
 

Similar to Subscribed zuora forsalesforce training -section301-final -sam&nathan

Lightning Components Introduction
Lightning Components IntroductionLightning Components Introduction
Lightning Components Introduction
Durgesh Dhoot
 
Play with azure functions
Play with azure functionsPlay with azure functions
Play with azure functions
Baskar rao Dsn
 
Customizing the Salesforce Console with the Integration Toolkit (DF13)
Customizing the Salesforce Console with the Integration Toolkit (DF13)Customizing the Salesforce Console with the Integration Toolkit (DF13)
Customizing the Salesforce Console with the Integration Toolkit (DF13)
Andrew Mahood
 
Conga composer
Conga composerConga composer
Conga composer
KadharBashaJ
 
Magento 2 Product Price Formula Extension by IToris inc.
Magento 2 Product Price Formula Extension by IToris inc.Magento 2 Product Price Formula Extension by IToris inc.
Magento 2 Product Price Formula Extension by IToris inc.
Itexus LLC
 
Coding Apps in the Cloud with Force.com - Part 2
Coding Apps in the Cloud with Force.com - Part 2Coding Apps in the Cloud with Force.com - Part 2
Coding Apps in the Cloud with Force.com - Part 2
Salesforce Developers
 
M365 Teams Automation
M365 Teams AutomationM365 Teams Automation
M365 Teams Automation
Christopher R. Barber
 
Lightning Process Builder
Lightning Process BuilderLightning Process Builder
Lightning Process Builder
sanskriti agarwal
 
Winter 15 : Salesforce
Winter 15 : SalesforceWinter 15 : Salesforce
Winter 15 : Salesforce
Jyothylakshmy P.U
 
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
 
Azure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsaAzure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsa
Baskar rao Dsn
 
Sitecore user group chennai
Sitecore user group chennaiSitecore user group chennai
Sitecore user group chennai
Jitendra Soni
 
Salesforce Summer'15 release overview
 Salesforce Summer'15 release overview Salesforce Summer'15 release overview
Salesforce Summer'15 release overview
Rakesh Gupta
 
TDX19 - Untangle Your Org with Salesforce Developer Tools
TDX19 - Untangle Your Org with Salesforce Developer ToolsTDX19 - Untangle Your Org with Salesforce Developer Tools
TDX19 - Untangle Your Org with Salesforce Developer Tools
Doug Ayers
 
Feature toggles
Feature togglesFeature toggles
Feature toggles
Anand Agrawal
 
Summer '18 Developer Highlights
Summer '18 Developer HighlightsSummer '18 Developer Highlights
Summer '18 Developer Highlights
Salesforce Developers
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Salesforce Admins
 
Salesforce API: Salesforce Console Deep Dive
Salesforce API: Salesforce Console Deep DiveSalesforce API: Salesforce Console Deep Dive
Salesforce API: Salesforce Console Deep Dive
Salesforce Developers
 
Webinar - Admin Friendly App Builder (1).pdf
Webinar - Admin Friendly App Builder (1).pdfWebinar - Admin Friendly App Builder (1).pdf
Webinar - Admin Friendly App Builder (1).pdf
Dean Infotech
 
Trailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 ReleaseTrailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 Release
Jayant Jindal
 

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

Lightning Components Introduction
Lightning Components IntroductionLightning Components Introduction
Lightning Components Introduction
 
Play with azure functions
Play with azure functionsPlay with azure functions
Play with azure functions
 
Customizing the Salesforce Console with the Integration Toolkit (DF13)
Customizing the Salesforce Console with the Integration Toolkit (DF13)Customizing the Salesforce Console with the Integration Toolkit (DF13)
Customizing the Salesforce Console with the Integration Toolkit (DF13)
 
Conga composer
Conga composerConga composer
Conga composer
 
Magento 2 Product Price Formula Extension by IToris inc.
Magento 2 Product Price Formula Extension by IToris inc.Magento 2 Product Price Formula Extension by IToris inc.
Magento 2 Product Price Formula Extension by IToris inc.
 
Coding Apps in the Cloud with Force.com - Part 2
Coding Apps in the Cloud with Force.com - Part 2Coding Apps in the Cloud with Force.com - Part 2
Coding Apps in the Cloud with Force.com - Part 2
 
M365 Teams Automation
M365 Teams AutomationM365 Teams Automation
M365 Teams Automation
 
Lightning Process Builder
Lightning Process BuilderLightning Process Builder
Lightning Process Builder
 
Winter 15 : Salesforce
Winter 15 : SalesforceWinter 15 : Salesforce
Winter 15 : Salesforce
 
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
 
Azure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsaAzure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsa
 
Sitecore user group chennai
Sitecore user group chennaiSitecore user group chennai
Sitecore user group chennai
 
Salesforce Summer'15 release overview
 Salesforce Summer'15 release overview Salesforce Summer'15 release overview
Salesforce Summer'15 release overview
 
TDX19 - Untangle Your Org with Salesforce Developer Tools
TDX19 - Untangle Your Org with Salesforce Developer ToolsTDX19 - Untangle Your Org with Salesforce Developer Tools
TDX19 - Untangle Your Org with Salesforce Developer Tools
 
Feature toggles
Feature togglesFeature toggles
Feature toggles
 
Summer '18 Developer Highlights
Summer '18 Developer HighlightsSummer '18 Developer Highlights
Summer '18 Developer Highlights
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
 
Salesforce API: Salesforce Console Deep Dive
Salesforce API: Salesforce Console Deep DiveSalesforce API: Salesforce Console Deep Dive
Salesforce API: Salesforce Console Deep Dive
 
Webinar - Admin Friendly App Builder (1).pdf
Webinar - Admin Friendly App Builder (1).pdfWebinar - Admin Friendly App Builder (1).pdf
Webinar - Admin Friendly App Builder (1).pdf
 
Trailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 ReleaseTrailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 Release
 

Subscribed zuora forsalesforce training -section301-final -sam&nathan

Editor's Notes

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