subscribed zuora forsalesforce training -section301-final -sam&nathan
DESCRIPTION
TRANSCRIPT
![Page 1: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/1.jpg)
#Subscribed14 @twittername
Section 301
Templates, Components & Plugins
Advanced Concepts
![Page 2: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/2.jpg)
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
![Page 3: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/3.jpg)
#Subscribed14 @twittername
Business Need For Components
& Plugins
![Page 4: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/4.jpg)
#Subscribed14 @twittername
Business Scenario - Advanced Sales Quote Workflow
CreateAccount
Create Opp
Create Quote• Add Custom Page as Step #2• Extend Existing Functionality etc.
Add Products & RatePlans• Custom Product
SelectorSubmit QuoteReview 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.
![Page 5: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/5.jpg)
#Subscribed14 @twittername
Understanding Components &
Plugins
![Page 6: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/6.jpg)
#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.
![Page 7: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/7.jpg)
#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.
![Page 8: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/8.jpg)
#Subscribed14 @twittername
Why use Components & Plugins?
ComponentsThey dramatically speed up development what previously was pure Apex code by reusing successful patterns already established in our Quotes application
PluginsThey 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.
![Page 9: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/9.jpg)
#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
![Page 10: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/10.jpg)
#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
![Page 11: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/11.jpg)
Components & Plugin - ArchitectureVisual Force Page
Page Level Component
UI Component
UI Component
UI Component
UI Component
= Plug-In
![Page 12: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/12.jpg)
#Subscribed14 @twittername
Examples of OOTB Components
![Page 13: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/13.jpg)
#Subscribed14 @twittername
UI Components
![Page 14: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/14.jpg)
#Subscribed14 @twittername
List Component
![Page 15: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/15.jpg)
#Subscribed14 @twittername
Lookup Component
![Page 16: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/16.jpg)
#Subscribed14 @twittername
Mutton (Menu + Button) Component
![Page 17: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/17.jpg)
#Subscribed14 @twittername
Page Level Components
![Page 18: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/18.jpg)
#Subscribed14 @twittername
Create Quote Component
![Page 19: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/19.jpg)
#Subscribed14 @twittername
Select Products Component
![Page 20: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/20.jpg)
#Subscribed14 @twittername
Billing Account Component
![Page 21: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/21.jpg)
#Subscribed14 @twittername
Section 301
Lab Exercises
![Page 22: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/22.jpg)
#Subscribed14 @twittername
Lab Exercise 1: Basic ComponentComponent Code Example to develop New Subscription Quote Page
![Page 23: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/23.jpg)
#Subscribed14 @twittername
Lab Steps
![Page 24: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/24.jpg)
#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
![Page 25: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/25.jpg)
#Subscribed14 @twittername
Lab Step 1Develop Custom Create Quote Page
![Page 26: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/26.jpg)
#Subscribed14 @twittername
Component Development Example
Under AppSetup – Click on Pages
Click on New to create a new Visualforce Page
![Page 27: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/27.jpg)
#Subscribed14 @twittername
Component Development Example
Name the Page <YourName>CustomQuoteCreatePage
![Page 28: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/28.jpg)
#Subscribed14 @twittername
Code for the Visualforce Page
Download the code from this link:http://bit.ly/Z4SF-Lab1
![Page 29: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/29.jpg)
#Subscribed14 @twittername
Lab Step 2Add the new Quote Page to Quote Workflow
![Page 30: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/30.jpg)
#Subscribed14 @twittername
Add the New Page to Quote Workflow
Edit the New Subscription workflow to add your page as step #2
![Page 31: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/31.jpg)
#Subscribed14 @twittername
Lab Step 3Create a new Quote and Verify CreateQuote Page is working
![Page 32: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/32.jpg)
#Subscribed14 @twittername
End of Lab Exercise 1
![Page 33: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/33.jpg)
#Subscribed14 @twittername
Lab Exercise 2
![Page 34: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/34.jpg)
#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.
![Page 35: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/35.jpg)
#Subscribed14 @twittername
Lab Exercise 2: Advanced Component Create Custom Quote Workflow Page
![Page 36: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/36.jpg)
#Subscribed14 @twittername
Adding Page for Selecting Business Channel and Sales Region
We will be adding another custom Visualforce page and associated Apex ControllerVisualforce Page:http://bit.ly/labexercise1
Apex Controller:http://bit.ly/labexercise1-2
![Page 37: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/37.jpg)
#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>
![Page 38: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/38.jpg)
#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>
![Page 39: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/39.jpg)
#Subscribed14 @twittername
Add the new Step to Quote Workflow
![Page 40: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/40.jpg)
#Subscribed14 @twittername
Add the new Step to Quote Workflow
Ensure the Quote Wizard Configuration looks similar to the following figure
![Page 41: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/41.jpg)
#Subscribed14 @twittername
Create a new Quote and Verify the Newly Added Pages are functional
Step #3 should be selecting Business Channel and State.
![Page 42: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/42.jpg)
#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/Zuora_for_Salesforce/E_Z-Force_Builder/B_Component_Library
![Page 43: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/43.jpg)
#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.
![Page 44: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/44.jpg)
#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
![Page 45: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/45.jpg)
#Subscribed14 @twittername
Step 1- Create Apex Class
Under AppSetup – Click on Pages
Click on New to create a new Apex Class
![Page 46: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/46.jpg)
#Subscribed14 @twittername
DefaultValuePlugin - Code
Download the code from here http://bit.ly/Z4SF-Lab3
![Page 47: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/47.jpg)
Lab Step 2Use Component Registration
& Extend Default PropertyComponent
![Page 48: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/48.jpg)
#Subscribed14 @twittername
Using Component Registration
Click on ZuoraConfig Tab
Select Component Registration
![Page 49: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/49.jpg)
#Subscribed14 @twittername
Extend the Default Value Plugin
Click on Edit Action for zqu:PropertyComponent for CreateQuote
![Page 50: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/50.jpg)
#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
![Page 51: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/51.jpg)
#Subscribed14 @twittername
Lab Step 3Create a New Quote
![Page 52: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/52.jpg)
#Subscribed14 @twittername
Create a new Quote and See the new Plugin in Action
Note the required values have default values populated.
![Page 53: Subscribed zuora forsalesforce training -section301-final -sam&nathan](https://reader033.vdocuments.site/reader033/viewer/2022061206/54821268b4af9fa53a8b46a7/html5/thumbnails/53.jpg)
#Subscribed14 @twittername
End of Section 301