This section provides answers to some of the frequently asked questions, lists few tips for usability and known issues with workarounds that exist in the application.

Frequently Asked Questions

All caching happens in JavaScript memory. Hashing and compression is used with garbage collection. JavaScript memory is cleared out as soon as the user leave the browser session. We do not store any data in the local storage in browser such as cookies etc.

Conga Digital Commerce SDK uses encrypted communication between client and server using AES 128 encryption. Also, have timestamped endpoint and are valid only for 30 seconds. If it takes more time then the request is not valid.

To systematically block XSS bugs, Conga Digital Commerce treats all values as untrusted by default. When a value is inserted into the DOM whether it's from a template, property, attribute, binding, or interpolation, angular sanitizes and escapes untrusted values.

Digital Commerce sanitizes user input before it is converted to query and send to the server such as escape special characters etc.

Use standard salesforce standard authentication using an access token. Use standard OAuth protocol to generate an access token. Also, go through communities security for data access.

All user input is sanitized and a custom parser in SDK is used to generate queries. Salesforce E-Commerce interface has further validation on SQL queries, on the server-side before data is accessed from Salesforce.

Setup strong security model as the salesforce org level using standard salesforce security framework (roles, profiles, permission sets etc.). SDK does not circumvent Salesforce security in any way.

Use standard SDK mechanisms for extending services, models, interface for any customization without circumventing the SDK architecture to integrate and interface with Salesforce.

Tips

While placing an order, an error is displayed.

Check the following setting:

  1. Go to Setup and in the Quick Find box, type Custom Settings.
  2. Click Custom Settings and click Manage next to Config System Properties.
  3. Click Edit next to System Properties.
  4. Ensure that the Run Misc Finalization Task In Async Mode flag is set to False.
  5. Click Save.

You can follow the workaround to add more than 250 cart line items.

This workaround is for Digital Commerce Turbo implementation only.

You can test the workaround with additional 50 cart line items. Before you do that you need to change the page size from 250 to 400 in the DCTurboConnection class.

String response = this.doGet('/pricing/carts/' + cartId + '/lines?includeAdjustments=true&pageSize=250&getResponseOnPriceComplete=true' + lineQueryParam);

String response = this.doGet('/pricing/carts/' + cartId + '/lines?includeAdjustments=true&pageSize=400&getResponseOnPriceComplete=true' + lineQueryParam);

Now, start by incrementing with 50 cart line items first. Test it on your org. If the test is successful, test further with another 50 cart line items. Continue to add additional cart line items until you hit the Salesforce system limitations. Depending on the complexity of items (number of constraint rules at bundle or cart level execution or too many fields/custom fields on each line item) in your cart the maximum number of line items may vary. 

This may or may not work depending on your org limitations.

Alternately, based on line items count you can pass the pageSize and pageNumber dynamically.

For example, if you have 375 line items, try the following:

pageSize=250&pageNumber = 1

pageSize=175& pageNumber = 2.

Try clearing your browser storage before first time usage.