CPQ JET Deep Dive: Best Practices and Customization
CPQ JET Deep Dive: Best Practices and Customization
Shirin Lange
Manager of User Experience
CPQ, CX Design
December 2, 2020
Safe harbor statement
Benefits
• Streamlined, intuitive, modern user experience
• Fully responsive, one layout, any device
• Mobile device users benefit from features and functionality
available to the desktop users
• Enhanced table usability, including Line Items, arrays and
part lists
• No full screen refreshes – pages update only data impacted
by the user’s actions
• Loading Indicators and Progress Indicators show users immediate
reaction
• Subscription Ordering support
• Deal Management visuals
• Integration support
• Oracle Sales Cloud
• Salesforce (Classic or Lightning Embedded)
• Microsoft Dynamics 365
Benefits
• JET Tables: Stronger, Faster, Better and Smoother
Features
• Enhanced rendering performance and
responsiveness
• Faster refresh of table while editing
• Smoother row selection and row edit modes
• Easy column resize and freeze
• Wrap cell content option
• Rows will expand as needed to fit additional lines of
content
• Existing table features, upgraded with…
• Checkbox selection
• Reorder Columns
• Expand All/Collapse All
• Select All
• Benefits
• Simple menu option maintenance through a Commerce
defined source such as Data Tables Menu
Attribute
• Dynamic menu option filtering based on other
Commerce attribute values and user input.
• Features Static Menu Dynamic Menu
• Use Data Table entries as the domain of values
• Available with JET UI on Main and Sub
Fixed entries Data Tables
Documents
• Supported features
• Commerce rule actions and conditions
• BML & Formulas
• Document & Email Designer Templates
• Translations
• Available in REST services (V11+)
Features
• Update pages with only data impacted by the user’s
action to eliminate full screen refreshes
• User preferences persisted across sessions and
transactions
• Units conversion support in JET UI
• Quick Add Search on additional attributes
• HTML Attributes in LIG
• Drag and Drop line resequencing
• Action Icons on LIG Lines
• JET Favorites
• JET Transaction Manager
• AJAX Recommendation Rules with Configuration
arrays
Benefits
• Enhanced UI designer with responsive
capabilities for commerce layouts
• Provide better usability and admin
experience by adopting new redwood
paradigm
Features
• Allows admins to easily customize both
commerce legacy and JET layouts
• Drag and drop capabilities for UI elements
such as attributes, actions, layout elements
• UI elements previewed similar to what
users will be presented in the transaction
UI
• Easier access to unified Settings tab that
includes various settings options for
selected element
10 Copyright © 2020, Oracle and/or its affiliates | Confidential: Restricted
Quote Preview in Config
Benefits
• Enhanced JET based seamless shopping cart
experience
• Avoid multiple transitions between config and
commerce
• Ability to create/view quote while staying in config
UI
Features
• Add to Quote button will add selected
configuration to the Quote while staying in config
• View modal to preview the number of items and
the total amount added to the quote
• Go to Quote button on the view modal and config
will take the user to the transaction
Everyone!
• New features such as Transaction Arrays and Collaboration will only be available in JET
Adoption is a matter of timing
• Volume of JavaScript customization
• Extremely large models with thousands of parts per branch (pagination)
• Couple with other roadmap projects involving UI
• Mobile Layouts will require care to switch in 19A
Transition selected groups of users incrementally to ease training and change management
requirements.
• Multiple Main Documents in a Commerce Process are • File Attachment Merge sequencing is suboptimal
not supported • Previous and Next navigation is not available in Line
• Action Icons do not display on the LIG lines (ex. Details
reconfigure). Actions are taken via LIG toolbar • Pagination is only option – but filtering may address
actions after keyboard selection of single or multiple user requirements
lines.
• Line Item Grid Colum Header Labels truncate but
• Drag and drop of LIG lines is not supported. LIG lines display on hover. End user can choose to Wrap Cell
can be re-sequenced by editing the line Sequence Content from the View menu options.
Number.
• ‘Auto’ LIG Column width = default of 100 px. Admins
should specify the appropriate width
JET layout is responsive, panel columns will wrap and redistribute on smaller screens. Design the layout
for wide screens, let the responsive behavior adapt the content for smaller screens.
✓ Use 3-5 columns of form inputs
when possible.
✓ More than one set rows in panel
column groups can result in a
jumbled layout
✓ Group related content under
sub-headings
✓ Use custom class to create fixed
columns as needed
Keep it light
Short sentences are easier to read.
If you bombard visitors with text all over the
screen — and make those sentences hard to
read, they won’t know where to start reading and
won’t be able to digest your content.
✓ Avoid presenting users with all the available
options on a single page.
✓ A sequence of pages/panels is less dense and
more lightweight in appearance.
Filmstrips
• Great when space is limited
• Can show a large number of options
• Multi or Single Select
• With or without images
Cards
• Great for showing all options at all times
• With or without images
• Images work best when all are consistent in size and
style
Select Menu – with Images
• Best when space is very limited, shows images while
selecting, only label shows once selected.
Slider
• Only for numbers within a range
• Best for showing selection in relations to
min/max
Switch
• Best option for all Booleans
• Mobile friendly
Number Spinner
• Best for Integers
• Mobile friendly
1. A new JET CSS file can be uploaded on the stylesheet administration page.
2. Applies to all JET UIs in CPQ site-wide
3. Legacy CSS files will not affect the new JET UIs
1. As with Legacy UI, you can apply styling to Classes, ID's, and HTML elements.
2. The ID tags created by CPQ for each attribute, action, product families, product lines, models, and
custom classes all remain the same in the JET HTML structure.
3. However, the HTML structure itself is very different from the Legacy UI because of the new
framework used to create the HTML.
4. Additionally, classes in JET are distinctly different from Legacy classes. Classes in JET for the
different UI components and content are prefixed with the ‘oj’ for Oracle JET.
5. If you are new to creating CSS, additional help documentation with general guidelines for clean CSS
creation can be provided upon request.
Use the min-width property, this disables responsive behavior, content will scale and stretch in the
fixed position.
.fixedcolumn{
min-width:100px;
}
.oj-tabbar-horizontal .oj-tabbar-item {
border-width: 2px 1px 1px 1px!important;
border-radius: 6px 6px 0 0!important;
border-color: #0000FF #0000FF #FF0000 #0000FF!important;
background-color: #EEEEEE;}
.oj-tabbar-horizontal .oj-tabbar-item.oj-selected {
background-color: #FFFFFF;
border-color: #FF0000 #FF0000 #FFFFFF #FF0000!important;}
.oj-tabbar-vertical .oj-tabbar-item {
border-width: 1px 1px 1px 2px!important;}
.oj-tabbar-vertical .oj-tabbar-item.oj-selected {
border-color: #FF0000 #FFFFFF #FF0000 #FF0000!important;
border-width: 1px 3px 1px 3px!important;}
.tab-panel-container-vertical .tab-content.oj-panel {
border: 1px solid #FF0000!important;}
.tab-panel-container-vertical .oj-tabbar {
border-right: 1px solid #00FF00!important;
margin-right: -3px!important;}
Buttons can be styled individually, or for all buttons. In JET Transaction, actions can be set to display
as a menu button, or as separate buttons.
.oj-button {
background-color: #0000FF!important;
background-image: none!important;
border-color: #0000FF;
color: #FFFFFF;
}
.oj-button.action-submit_t {
background-color: #00FF00!important;
background-image: none!important;
border-color: #00FF00;
}
.oj-button-label{
color: #FFFFFF;
font-weight: 700;
}
This is an example of how CSS can be applied to the Alta Navigation so that the commerce process icons render
alternative images for each state, these images are uploaded using the File Manager. Additional styling centers
the title content vertically
#cpq-alta-header #cpq-header-tb .cpq-nav-threepages[aria-labelledby="ui-id-5"] .cpq-nav-icon::before { #cpq-alta-header > span > p {margin: 0 5px!important;}
content: url("../../image/Icons/navi_process2_24_ena.png")!important;}
content: url("../../image/Icons/navi_process1_24_hov.png")!important;}
content: url("../../image/Icons/navi_process2_24_hov.png")!important;}
content: url("../../image/Icons/navi_process1_24_act.png")!important;}
content: url("../../image/Icons/navi_process2_24_act.png")!important;}