Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

Structuring the Pages

Page Sequencing for the Configuration Process (CP) and Guided Selling Process (NA)

OVERVIEW

The CPQ User Interface of the Configurator and Guided Selling process provides 5 kinds of pages:

  • A HomePage that is optional
  • One or several ConfigurationPage designed to support the entire configuration process. A configurationPage corresponds to one or many configuration steps.
  • A SummaryPage that is optional
  • A ManufacturingPage that is optional
  • An ErrorPage to which the end-user can be redirected anytime an unexpected error has been raised.

HomePage (Optional) – <homePage>

The HomePage is optional and usually introduces an overview of the Configurable Product.

It basically gathers all necessary information to present the product (images, text, characteristics, etc.), to give information about the product (documents, files, etc.) and to sell the product (links to other products, start configuration, etc.)

As example, the following information may be displayed:

  • Image, Name, Description, RMO text
  • Business property tab
  • Resource tab (tab including the RMO files)
  • Related Items tabs

This page also includes specific actions that are usually:

  • “Back-to-Catalog” (when integrated in a catalog)
  • “Start Configuration”

ConfigurationPage – <configurationPage>

One or several Configuration pages aim at guiding the end-user by means of a dynamic dialog, making the whole configuration process easier.

If necessary, this ConfigurationPage can be instantiated multiple times, every instance will correspond to a high-level configuration step (meaning that it will correspond to a form or a configurable product directly attached to the root configurable product).

This page also includes user actions that are usually:

  • “Back-to-configuration”,
  • “Add-to-cart” of the configured product

BundlePage – <bundlePage>

The Bundle page aims at offering the user the capability to select products organized in a structured hierarchy.

The result is a consistent assembly of products that can be used in the configuration process output. This page also includes user actions that are usually:

  • “Add-to-cart” of the configured product
  • “Undo” to cancel last choices
  • “Optimization” to open the optimization flyer

SummaryPage (Optional) – <summaryPage>

The summaryPage is optional and usually represents the result of the configuration process. As example, following information may be displayed:

  • Generated names, descriptions, prices and business properties
  • Generated sales breakdown including the pricing details
  • Result of the partial matching
  • Etc…

This page also includes user actions that are usually:

  • “Back-to-configuration”,
  • “Add-to-cart” of the configured product

Actions may also be associated with specific external actions such as: - “Print configuration” - “Check delivery time"

ManufacturingPage (Optional) – <manufacturingPage>

The manufacturingPage is optional and represents the result of the manufacturing process. As example, following information may be displayed:

  • Bill of material
  • Routings
  • Etc.

ErrorPage – <errorPage>

The errorPage is used to display a custom error message when an unexpected error has been raised during the configuration process.

For the end-user, the navigation through the different pages depends on his actions as shown in the following diagram:



ATTRIBUTES DETAILS

SUB-ELTS ATTRIBUTES VALUE
mode: page visible or not on/off
seqOrder: identifier of the configuration step (a list can be specified) 1 / 2 …. / all Available for the configurationPage

A configuration step (identified by a seqOrder) corresponds to a given first level node of the configurable product breakdown.

By default in the standard layout file, all steps of the configuration are displayed following the same layout: <configurationPage seqOrder="all">:

Note: Different seqOrder can be specified to differentiate several ConfigurationPages.

E.g.

<configurationPage seqOrder="1;2"> … </configurationPage>

<configurationPage seqOrder="3"> … </configurationPage>

Page Sequencing for the Catalog

OVERVIEW

The CPQ User Interface of the Catalog provides 9 kinds of pages:

  • A HomePage
  • One or several CollectionPage designed to browse the Catalog and display the list of contained products.
  • A SearchPage for quick and advanced search
  • A Compare Page
  • One or several ProductPage to display the product characteristics
  • One or several ConfigurableProductPage to run a configuration process
  • A Quote Page to have an overview of the current quote content
  • A Need Analysis page to run the guided selling process and display the resulting products
  • An ErrorPage to which the end-user can be redirected anytime an unexpected error has been raised.

HomePage – <homePage>

The HomePage is optional and is usually the entry point of the Catalog.

It basically allows the end-user to browse the Catalog by using menu bars, displays the main collections and highlights some product/collection/guidedSelling process thanks to teasers.

CollectionPage – <collectionPage>

One or several collection pages aim at displaying multimedia content and/or list of products.

If necessary, the CollectionPage can be instantiated multiple times depending on the userType of the collection currently displayed.

SearchPage – <searchPage>

The search page allows the end-user to look for products in the whole Catalog or in subcollections. He can search by entering partial name, description of the product but also use an advanced search based on product criteria.

ComparePage – <comparePage>

While browsing the Catalog, the end-user can add some products to the comparator. Then he can access the ComparePage to display a table allowing to compare the properties of these items.

ProductPage – <productPage>

The productPage basically displays the characteristics of products as well as their prices and linked products. Moreover, it displays the multimedia elements associated to the current products and allows the end-user to add it to the quote.

This page is accessed when the ACTIVATE_CURRENT action is triggered.

ConfigurableProductPage – <configurableProductPage>

The configurableProductPage aims at displaying the configurationProcess.

When a configuration process is contained in the Catalog, the CPQ UI redirects the user to this page when the CONFIGURE action is triggered.

This page is a standard Catalog page containing an ‘inclusion’ allowing to embed the configurationProcess User Interface in the Catalog.

CartPage – <cartPage>

The cartPage displayed a simplified version of the Quote spreadsheet.

Only 1 quote level can be displayed and the end-user can only delete quote lines or change the associated quantities.

NeedAnalysisPage – <needAnalysisPage>

The needAnalysis page allows to display a guided selling process when this process is attached to a catalog sub tree.

A dialog is proposed to the end-user, allowing him to retrieve a set of products contained in the sub tree and matching his needs.

Note: When the context of the needAnalysis is the current Collection, then the needAnalysis is directly displayed in a needAnalysisBox, embedded in its parent collectionPage.

ErrorPage – <errorPage>

The errorPage is used to display a custom error message when an unexpected error has been raised.

For the end-user, the navigation through the different pages depends on his actions as shown in the following diagram.

Basically, the end-user enters the Catalog via the HomePage. Then he can browse the collections using the vertical selector or the menu bar.

Once he has accessed a collection and displayed a list of products, he can directly add the products to the quote or go to the product page to display the product characteristics.

The ‘tool’ pages (ComparePage, CartPage, SearchPage) can be accessed from any page of the Catalog thanks to OPEN_PAGE actions.

The Guided selling process is either embedded in the collectionPage if its context is the currentCollection, or in a specific Catalog page if its context is the currentSubTree.



ATTRIBUTES DETAILS

SUB-ELTS ATTRIBUTES VALUE
mode: page visible or not on/off
rmoUserType [only for collection and configurable product pages]: user type of the collection or configurableProduct to be displayed. #IMPLIED “*” means ‘any’ userType

Different userTypes can be specified to differentiate several collection or configurableProduct pages.

E.g.

<collectionPage userType="ut1;ut2"> … </collectionPage >

<collectionPage seqOrder="*"> … </collectionPage >

How to embed a Configuration Process in a Catalog

A collection can contain a set of products but also configurable products. In that case, CPQ UI will launch the configuration process directly in the Catalog.

When a configurable product is displayed for example in a collectionPage (in a product list) or in a productPage, it is possible to declare a CONFIGURE action in the layout XML file.

As soon as the end-user activates the CONFIGURE action, he is redirected to the configurableProductPage corresponding to the selected Configurable Process.

Design Phase

  1. [Designer]

Add a configuration Process to a Catalog collection.

  1. [In the Catalog Layout File]
    1. Allow the access to the configuration process

In a collectionPage or in a productPage, make sure that the CONFIGURE action has been parameterized.

<actionBox …>

<action cssName="actionBoxHover" actionName="CONFIGURE"

alignment="right" resourceName="action.configureNow"

translationName="action.configureNow" url=""/>

</actionBox>

  1. Define the layout of the configurableProductPage

The configurable product page is a standard catalog page whose main part contains an ‘Inclusion’. An inclusion is a box that will display the Configuration Process user interface inside a catalog page.

<mainPart …>

<inclusion sourceName="ConfiguratorUILayout"

widthPercent="100" heightPercent="100" hzAlignment="left"

vtAlignment="up" autosize="on"/>

</mainPart>

  1. Point to the Configurator layout to be used while running the configuration process.

<inclusions> <source name="ConfiguratorUILayout">configuratorUIDesktop.xml</source>

</inclusions>

  1. [In the Configurator Layout File]

You may have to adapt the layout of the configuration pages as the configuration process will be run directly in the Catalog (e.g.: removal of the pages header, footer etc.)

  1. [In the XML Catalog Setting File]

Add the Settings (Sales and pricing method, custom settings etc.) required to run the configuration process.

RunTime Phase

Now you can run the Catalog.

Browse the Catalog until finding a configurable process (either in a product list or via the productPage for example) and click on “Configure Now” to access the configurable product page and launch the configuration process.





Only 1 XML setting file is used to initialize the catalog and all the contained configurable processes. When the end-user clicks on the configure button, CPQ UI initiates a configuration session using the same input settings as for the catalog session and replacing/adding on the fly the following CPEs:

<cam:Param cpe="CPE.Settings.Session.Workspace"

value="currentCPWorkspace" />

<cam:Param cpe="CPE.Settings.Session.CPName" value="currentCPName"/>

If the configuration is launched from a Standard Item, the CPQ UI passes the identifier of the contextual standard item as a setting of the configuration session:

<cam:Param cpe="CPE.Settings.Session.RefSI"

value="workspace/SI/mySelectedSI"/>

Different layout files can be used depending on the configuration Process userType. Several configurable product pages can be defined.

E.g.

<configurableProductPage userType="ut1;ut2">…

</configurableProductPage>

<configurableProductPage seqOrder="*"> …

</configurableProductPage>

If some settings needs to be shared from the Configurator to the Catalog session, specific settings have to be used (Token ‘Catalog’):

CPE.Settings.Session.Catalog.myCustomSetting

Each time a SetSetting(s)() method on such kind of setting is called from the Configurator, then this setting is available in the Catalog session, and then, by definition, will be passed to the next configuration session.

For more details regarding the way the configuration process is integrated into the Catalog with the standard User Interface, please refer to Embedding a Configurator UI in a Catalog

How to embed a Guided Selling Process in a Catalog

The guided selling process UI is similar to the configurable process. It uses the same page and XSD schema.

Design Phase

  1. [Designer]

Once you have designed the guided selling process (needAnalysis), you have to attach it to a collection and define the scope of the filterMethod.

  • currentCollection: the guided selling process will return a list of products which is a subset of the ones contained in the current collection.
  • currentSubTree: the guided selling process will return a list of products which is a subset of the ones contained in the current catalog branch (current collection and sub collections).
    1. [In the Catalog Layout File]
      1. Allow the access to the guided selling process via the needAnalysisBox

In the collectionPages and in the needAnalysisPage, make sure that the needAnalysisBox has been parameterized.

<needAnalysisBox mode="on" cssName="needAnalysisBox"

widthPercent="100" heightPercent="100" hzAlignment="left"

vtAlignment="up" titleTranslationName="title" autosize="on"

framedBox="off" >

<inclusion sourceName="needAnalysis" widthPercent="100"

heightPercent="100" hzAlignment="left" vtAlignment="up"

autosize="off"/>

<actionBox mode="on" cssName="actionBoxTransparenct"

hzAlignment="center" vtAlignment="down" widthPercent="100"

heightPercent="8" autosize="off">

<action actionName="RESET" alignment="center"

resourceName="" translationName="action.clearAll" url=""/>

<action

actionName="SEND_CUSTOM_EVENT(eventName=applyBreakdown)"

alignment="center" resourceName="btnFind"

translationName="action.sendCustomEvent.find" url=""/>

</actionBox>

</needAnalysisBox>

  1. Define the layout of the guided selling user interface.

The guided selling dialog is similar to a configuration process and it is embedded into the needAnalysisBox

<inclusion sourceName="needAnalysis" widthPercent="100" heightPercent="100" hzAlignment="left" vtAlignment="up" autosize="off"/>

  1. Point to the layout file to be used.

<inclusion sourceName="needAnalysis" widthPercent="100"

heightPercent="100" hzAlignment="left" vtAlignment="up"

autosize="off"/>

  1. [In the Configurator Layout File]

You may have to adapt the layout of the configuration pages.

  1. [In the XML Catalog Setting File]

Add the Settings (Sales and pricing method, custom settings etc.) required to run the guided selling process.

RunTime Phase

Now you can run the Catalog.

Browse the catalog to display a collectionPage linked to a needAnalysis.

Depending on the context, the needAnalysis will be displayed in the needAnalysisBox directly in the collectionPage (scope = currentCollection) or in a dedicated needAnalysisPage (scope

= currentSubTree)



The products returned by the needAnalysis are displayed in a productResultBox.

Note: The standard XML Layout file for the needAnalysis (guidedSellingUIDesktop.xml) uses the configuratorDesktop theme and is a simplified Configurator interface.

(1 configurationPage having 1 mainPart displaying the guided selling dialog and using simple value selectors)

Parts positioning

OVERVIEW

A page (Home, Configuration, Summary or Error for the Configurator or Collection, Search, Quote, Product etc. for the Catalog) is made of 3 main parts:

  • An optional header in which all elements are optional
  • A main area divided into 3 sizable columns (Left, Main, Right) underneath optional Horizontal Upper Parts and above optional Horizontal Lower Parts
  • An optional footer made of several texts or links aligned left, right or center in the middle of the page.

Into each part, several user interface components can be placed.

You will find hereafter a brief description of the predefined UI components. Please refer to: “Components parameterization”.

ATTRIBUTES DETAILS

Each part can be positioned and sized by setting its attributes.

You can find in the following table the list of attributes corresponding to each one of these parts:

  • <header>
  • < hzUpperPart > (repeatable section)
  • < leftPart >
  • < mainPart >
  • < rightPart >
  • < hzLowerPart > (repeatable section)
  • < footer>
SUB-ELTS ATTRIBUTES VALUE
mode: element visible or not on/off
widthPercent: percentage of occupancy in the total width of the page #IMPLIED
heightPercent: percentage of occupancy in the total height of the page #IMPLIED
autoSize: (Cf. Appendix C – UI brick positioning) on/off
resizable: [only for the mainPart] If resizable, left and right border can be moved. on/off
collapsible: [only for the left/rightPart] allows to fully collapse or expand the corresponding part on/off
Note: By default, heightPercent Left Part = heightPercent Main Part = heightPercent Right Part.

For more details on the layout dimensions, alignment and autosizing, please refer to: APPENDIX C – UI bricks positioning

VISUAL IDENTITY

The page main part, header and footer background can be customized in their respective CSS files (e.g. ‘homePage.css’, ‘configurationPage.css’)

Components parameterization overview

You can find in the following table the list of UI components that can be included into the different parts of the pages.

UI OBJECT NAME CAN BE USED IN DESCRIPTION
Structural Components
< combinedBox > Conf./Cat. A CombinedBox is a basic sizable user interface container that allows gathering other boxes and/or selector bars, logos
Rich Media Components
< logoBox > Conf./Cat. A logoBox displays an image usually corresponding to the brand image of the company.
< RMOFlyer > Conf./Cat A RMO Flyer allows the display of the Rich Media Object (RMO) content attached to the object from which the user has activated the ‘Open Flyer’ action.
< RMOBox > Conf./Cat A RMOBox contains a given set of RMO elements whose set is identified by a userType (predefined on modeling side).
< imageViewer > Cat. An image viewer allows to display and browse a set of images associated to a product.
UI OBJECT NAME CAN BE USED IN DESCRIPTION
< galleryViewer > Cat. A Gallery Viewer allows to browse all kind of RMO content associated to a product on a given userType (Images, Files, Plugin, Reports)
< link > Conf./Cat A link allows inserting predefined URLs into the pages
Product Components
< itemSheet > Conf./Cat An itemSheet gives essential information related to a product (Description, Image, Prices)
< < < productBox > productFlyer > itemSheet > Conf./Cat A productBox allows displaying information concerning a given product - either the root CP or a node CP or a Standard Item. This fully customizable box (that can be contained directly in the configuration page or displayed via a flyer) is made of a summary of the Product, its description, related products, documentation, etc…
< productListBox > Cat A productListBox allows to display a set of products (list and grid mode) the end-user can sort and filter depending on the product characteristics.
< < sparePartsBox > sparePartsViewerBox > Cat A sparePartsBox allows displaying and browsing the spare parts of an item as well as displaying its schematics.
< BPSBox > Conf./Cat A BPSBox allows to display the product characteristics
UI OBJECT NAME CAN BE USED IN DESCRIPTION
< productLinkBox > Conf./Cat A productLinkBox allows displaying information related to the products linked to the currently displayed product.
< whereUsedBox > Cat A whereUsedBox allows to display the current product structure
Navigational Components
< selectorBar > Conf. A selectorBar allows the display of a horizontal menu bar showing a given level of the configurable product breakdown (CP/Form).
< < menuBar > menuBox > Cat. A menuBar allows the display of a horizontal menu showing a given level of the Catalog. It also allows to directly access some teasers associated to the collections.
< verticalSelector > Conf./Cat A verticalSelector allows the display of a vertical menu bar showing a given level of the configurable product breakdown (CP/Form) or a given level of the Catalog.
< stickerBar > Conf./Cat A sticker bar is an horizontal menu to access some specific functions of the catalog/configuration (preferences, quote, search)
< browserSticker > Cat. A browserSticker allows to display the hierarchy of catalog collections in a sticker thanks to a ‘per level’ navigation’.
UI OBJECT NAME CAN BE USED IN DESCRIPTION
< rollingSelector > Cat A rollingSelector is a way to navigate between all products of a given collection. It can also be used within a galleryViewer to select which RMO has to be displayed.
< navigationPathBox > Conf./Cat A navigationPathBox allows the display of the current configuration or catalog path. Each member of the path is clickable and allows user navigation.
Catalog Components
< collectionListBox > Cat. A collectionListBox identifies an area reserved to display information related to sub-collections.
< collectionPreviewBox > Cat. A collectionPreviewBox displays a subset of products attached to a given collection.
< collectionTabs > Cat. A collectionTabs allows to list the sub collections but also display the first products attached to each collection.
< < teaserSlider > teaserBox > Cat. These components allows to display the RMO attached to the teaser and redirects the end-user to the object pointed by this shortcut.
< needAnalysisBox > Cat. The needAnalysis box allows to display the guided selling dialog.
Configuration Components
UI OBJECT NAME CAN BE USED IN DESCRIPTION
< configurationBox > Conf. A configurationBox allows displaying the configuration dialog (It contains modeled Forms and FormProperties).
< < formBox > formFlyer > Conf. A FormBox is the UI element corresponding to the Form part of the configuration Breakdown. It gathers the FormProperties. A form can also be displayed in a formFlyer.
< formPropertyBox > Conf. A FormPropertyBox is the UI element corresponding to the FormProperties contained in the Forms. These Form Properties can be valuated through the valueSelectors
< valueSelector > Conf. A valueSelector is the UI object allowing the end-user to select value when answering the different questions along the configuration dialog.
< drawingBox > Conf. A drawingBox allows to display the 2D generated drawing of the configured product.
< summaryBox > Conf. A summaryBox allows displaying of the result of the configuration (Sales Breakdown, Configuration summary, Configured product).
< < salesInformationFlyer > salesInformationBox > Conf. A salesInformationBox displays a grid generated during the breakdown.
< manufacturingBox > Conf. A manufacturingBox displays a tree representing the manufacturing process (BOM, Routings, Business information).
UI OBJECT NAME CAN BE USED IN DESCRIPTION
< bundlePage > Conf. A page dedicated to bundle display, embedded in the Configuration Process structure
< bundleBox > Conf. A bundleBox allows displaying the configurable bundle dialog (It contains modeled Selection Groups and Selections).
< selectionGroupBox > Conf. A selectionGroupBox is the UI element corresponding to the Selection Group part of the configurable bundle structure. It gathers the Selections.
< selectionBox > Conf. A selectionBox is the UI element corresponding to the Selections contained in the Selection Groups. These Selections can be valuated through the valueSelectors
Comparison Tools
< < < compareBox > compareFlyer> comparePage > Conf./Cat A compareFlyer (in a Configurator context) or a comparePage (in a catalog context) contains a comparison table (compareBox). This table displays the properties of each product that has been previously added to the comparator.
< comparePreviewBox > Cat A comparePreviewBox gives an overview of the products that have been added to the comparator.
Search Tools
UI OBJECT NAME CAN BE USED IN DESCRIPTION
< searchSticker > Cat. A sticker allows to launch a quick search on the catalog (or a subset of the catalog).
< searchBox > Cat A search box allows to retrieve products by searching a key word or a specific characteristic value.
< searchLinkedProductsBox > Cat A search linked products box allows to retrieve products by searching in a product link structure.
< productResultBox > Cat A productResultBox displays the list of products resulting of a search process.
Action Components
< actionFlyer > Conf./Cat An actionFlyer displays a menu from which internal or external actions can be activated by the enduser.
< actionBox > Conf./Cat An ActionBox may contain several internal or external actions. Internal actions can be predefined ones. (Automatic completion of Form Properties, Duplication of nested elements, etc.) or be a trigger to some actions designed on model side.
Information Components
< legendBar > Conf. A legendBar allows the display of a legend giving a definition of icons used in the configurationPage.
UI OBJECT NAME CAN BE USED IN DESCRIPTION
< informationFlyer > Conf./Cat An informationFlyer allows the display of information coming from the configuration engine in a flyer which can be moved by the user. Several kinds of explanations can be turned on or off.
< informationBox > Conf. An informationBox allows the display of information coming from the configuration engine directly in the page (contrary to the flyer).
Quote Components
< < cartSticker > cartBox > Conf./Cat A cartSticker (resp. cartBox) allows to display the content of the quote in a flyer (resp. catalog cartPage). The cartSticker is only available in the Catalog.
Preferences
< preferenceSticker > Cat. A preferenceSticker allows to launch the catalog using the selected international settings.
Social Networking
< rssReaderBox > Cat. A rssReaderBox displays the content of a RSS feed.
< socialNetworkBox > Cat A socialNetworkBox allows to bookmark the current catalog page and share it on several social networks (Facebook or Twitter).
UI OBJECT NAME CAN BE USED IN DESCRIPTION
Custom Components
< externalBox > Conf./Cat The externalBox purpose is to display specific information from the current configuration.
< externalFlyer > Conf./Cat The externalFlyer allows the display of external information.
< externalAction > Conf./Cat The external action purpose is to provide a functionality not already implemented by the predefined actions of the application.
< externalValueSelector > Conf. The externalValueSelector purpose is to provide new ways to input data for a given FormProperty.
Note: The independent flyers (RMO, external, action, information, product, compare and SIG) are dynamic components. They belong to a page (home, configuration, summary). However, they are not statically placed within a part of the page. They can appear/disappear over the page, triggered by user actions along the configuration process.

For more details on the properties you can use to customize the design and behavior of these components, please refer to: “Focusing on page components”.