Collaborative Quoting
Overview
For many customers, creating a quote is a team effort that requires several people with different knowledge, responsibilities, and concerns. There are often situations where these multiple stakeholders need to simultaneously work together on the same Transaction to complete it quickly. The entire sales team may need to collaborate to deliver a quote before a fiscal deadline, a holiday, or key milestone in a sales cycle.
CPQ supports three editing modes for quotes.
-
Collaborative Editing - Multiple users can edit a Transaction at the same time.
-
Transaction Locking - A single user can edit a Transaction at a time and it is locked when opened. Additional users can view the locked Transaction but cannot edit.
-
Single User - A single user can edit a Transaction at a time. Additional users are not blocked from starting a new editing session which supersedes existing sessions.
Collaborative Quoting supports multiple users collaborating in real-time on a single Transaction without conflict. In addition to allowing multiple users to simultaneously work on a Transaction, this feature also allows inbound integrations and email approvals to complete without disrupting active users.
Concurrent Editing of Quotes
The principal benefit of Collaborative Quoting is that it allows multiple users to concurrently edit a single Transaction. These users are able to work together on a shared version of the Transaction and each user's changes are merged as they are saved. Also, a Transaction can be updated by an external system, usually via web services, and these changes can be merged without disrupting users actively editing the Transaction in the UI.
When a user creates or opens a Transaction a collaboration session begins. Other users can join this collaboration session and they will all be viewing the latest version of the document. The collaboration session ends when all users have left.
With collaboration, user edits are sent to the server when the user clicks off the attribute. These edits are seen immediately by other users, but they are not saved to the Transaction until a user invokes a modify action. Unsaved changes are preserved on the Transaction as long as one of more users are collaborating on it. When the collaboration session ends all unsaved changes are discarded.
Collaborating user edits and actions are executed in the same order in which they are performed. If there is a long running action, all subsequent changes will wait until the previous action completes. Transaction updates from email approvals, integrations, web services, and timer based actions are queued along with actions performed by users and everyone viewing the Transaction will see the results of those changes as they complete.
Users can configure and reconfigure different model lines at the same time with collaboration, but only one user can reconfigure each line at a time. When a line is being reconfigured it is locked and cannot be reconfigured by other users. When users invoke a Reconfigure or Add from Catalog action they remain active in the collaboration session unless they are in configuration longer than the session time out.
Current Editor Display
The Current Editor Display shows a list of the other users who are currently working on a Transaction. The collaborative quoting icon is displayed when collaborative quoting is enabled and there are multiple users active on a Transaction. The icon also indicates how many other users are active. For example, the following image displays a collaborative quoting session with four other active users.
Users can click on the collaborative quoting icon to view a list of the other users editing the Transaction. Each user is assigned a color which allows all users to identify who is making changes. The following image shows the active user list with four other users.
As shown in the following image, users can hover over a name in the active user list to view the user's email address. This can help users distinguish between users with similar names.
Users remain on the active user list until they leave the collaboration session by invoking the Back action. If a user navigates away from the Transaction without invoking the Back action, they will remain active in the collaboration session until they are timed out. The collaboration session time out is equal to the login session time out. Typically the login session timeout is set to thirty minutes.
Consider the following tips when using the Current Editor Display:
- Users may see a delay between the time they are timed out or log out and when they are removed from the collaboration session. In some cases this delay can extend up to two minutes.
- Users may see a short delay between when another user joins the quote and when they appear in the current editors list.
- Integration users updating the Transaction via REST or SOAP APIs are not shown in the active user list.
- User updates from Email Approvals are not shown in the active user list.
Real-Time Activity Display
When multiple users are working together on a Transaction it is important that they can see what the other users are editing and what the results of those changes are. They also need an up-to-date view of the most current version of the Transaction at all times. The Real-time Activity Display shows which attribute, product, section, or tab a specific user is editing by flagging it with that user's assigned color. For example, in the following image a flag is displayed to the right of the "Total Discount %" attribute. This indicates another user is currently changing this attribute.
As shown in the following image, users can hover over the flag to display the name of the user making updates.
When another user is changing attributes on a different tab a flag is displayed to the right of that tab. For example, the following image shows another user is making changes on the "Order Info" tab.
Collaborative Quoting constantly polls for changes and highlights any updated values that are the result of another user's changes. For example, in the following image another user updated the quantity for the Ultra 135 Laptop. The quantity field and any fields updated by auto-update are highlighted for all users until the changes are saved. This ensures that everyone working on the Transaction can keep track of what is changing.
Consider the following tips when using the Real-time Activity Display:
- Users may see a short delay between when another user clicks on a attribute and when the user activity flag appears. Users may also see a short delay between when another user makes a change and when the updated values are received. Open a ticket on My Oracle Support if you would like to adjust the responsiveness of your site.
- Users should avoid editing an item in the Line Item Grid while another user is actively editing that line.
- Activity flags are not displayed when users are interacting with the following attribute types:
- File attachment attributes
- Boolean attributes
- Date attributes updated using the date picker
- Integer attributes updated using spinner controls
- Menu items displayed as radio buttons
- Multi Select Menu items displayed as checkboxes
Locked Transaction in Collaborative Quoting
When a Transaction is locked, only the locking user can make changes. Other users are only able to view the Transaction in read-only mode.
When a user has locked the Transaction the other users can see who locked it by viewing the Concurrent Editors Display as shown in the following image.
Granular Activity History Changes
Collaborative Quoting allows multiple users to make changes to different attributes at the same time. The user who changes a value may not be the same user who runs the action and saves it to the database. Granular Activity History Tracking improves the history by logging individual interactions along with the user who made the change. In the following example three entries are shown in the history.
- Richard Brown opens the transaction, which updates the step.
- Susan Davis opens the Transaction, is added to the collaborative session, and makes no changes on open.
- Susan Davis fills in an address, no action is specified because this was an interaction and an action was not invoked.
Display History changes for collaboration do not specify an action varname in the XML. Administrators can adjust the XSL to represent these entries in a clear and concise way.
Collaborative Quoting Enhancements
Collaborative quoting functionality has been widely adopted for CPQ customers. However, when consecutive long running collaborative quoting actions are invoked, customers can encounter performance issues.
-
Read-Only Operation Optimization - Beginning in Oracle CPQ 24D, collaborative quoting action requests that don't modify the transaction (i.e. read-only operations) are directly executed and won't be added to the collaborative queue. The following actions are read-only operations: Interact (read and polling requests), Refresh, and Display History.
-
Queuing Management Enhancements - Oracle CPQ 24C introduced the following for collaborative quoting:
-
Reject collaborative quoting requests that exceed queue time limits. The Duration in minutes a task can wait in the queue before it gets cancelled on collaborative transactionsCommerce Options setting establishes a time limitation for the collaborative quoting job queue.
-
Automatically invalidate timed-out requests. If the duration of the pending task in the queue exceeds the value set for the Commerce Timeout Action Commerce Options setting, the task is removed from the queue and an error message is generated to inform the user that their action timed out, was not completed successfully, and their quote was not updated.
Administration
Enable Collaborative Editing
Complete the following steps to enable collaborative editing and configure unlock behavior for a Commerce Process.
If the
Collaborative Editing option is not available for your site, log a Service Request on
My Oracle Support.
-
Navigate to the Commerce Processes Page.
Admin > Commerce and Documents > Process Definition
- Select the applicable Commerce process.
-
Select the Collaborative Editing option.
- (Optional) Select the Let Other Users Perform Unlock Actions option.
- Select unlock actions from the Actions to Automatically Unlock Transaction list.
- Click Apply or Update.
Update Collaborative Quoting Job Queue Time Limitation
Complete the following steps to update the collaborative quoting job queue time limitation.
-
Navigate to the Admin Home Page.
-
Click Commerce Settings in the Commerce and Documents section.
-
Enter the desired value for the Duration in minutes a task can wait in the queue before it gets cancelled on collaborative transactions option.
-
Click Apply or Update.
Note: For more information, refer to Commerce Options. The Commerce Options topics also provides information for the Commerce Timeout Action, which controls the duration limit for automatically invalidating timed-out requests.
Notes
The following items are not supported in Collaborative Transaction in CPQ:
- Secure Attributes are not supported in Collaborative Transactions in CPQ. Secure Attributes must be removed from the Commerce process when enabling Collaborative Editing.
- History Attributes are not supported in Collaborative Transactions. History attribute data is cleared when an auto update is invoked in a collaborative session. Oracle CPQ recommends removing History Attributes from your Commerce JET Transaction UI layout if enabling Collaborative Editing
- Operations or actions that affect multiple Transactions are not supported in Collaborative Transactions in CPQ. For example:
- A SOAP updateTransaction request that updates multiple Transactions will fail if collaboration enabled. Other collaboration session users are not affected when these events fail. SOAP updateTransaction requests to update a single Transaction are still functional.
- Mass Update of Transactions is not available when Collaborative Editing is enabled. To perform a Mass Update you can temporarily disable Collaborative Editing and re-enable it once you have finished.
- Bulk Upload is not available when Collaborative Quoting is enabled.
Consider the following tips when using Collaborative Quoting:
- When using auto-update to set an array set value, it is important to specify the row number in the JSON. Otherwise, the entire row is removed and recreated which can cause rendering issues.
- When Collaborative Editing is enabled for a Commerce Process the Mobile layout will be replaced with the Commerce JET Transaction UI layout.
- If a user is on a Line Item Detail page and the Line Item is deleted by another user, the record is removed immediately and changes will be lost. The user will need to use browser navigation buttons to return to the main document.
- If a user's collaboration session times out while they are reconfiguring a model, their lock on that model is removed. If another user opens that model the first user will not be able to save it.
- Print and email actions only include attribute values that are saved when the document is generated. Unsaved changes entered by other users after the action is invoked are not included in the output document.
- The Copy action only includes attribute values that are saved when creating a duplicate Transaction. Unsaved changes entered by other users after the action is invoked are not carried over to the new copy.
- If a user enters a value which triggers an immediate error, either due to a Constraint Rule or simple validations on attributes, that value is not shared with other users until it is resolved. Entered values that do not trigger errors until an action is performed will be shared with other users and the error will be displayed when the action runs.
-
If an action performed saves a change on any line item attribute, the _last_modified_date
of the line item is updated. If collaborative quoting is used, the modification of the line item attribute may have occurred earlier but the action performed which saves that change will update the _last_modified_date
of that line item.
Related Topics
See Also