/mcpIn Unified CCE, Cisco Finesse deployments with more than eight gadgets per agent for the maximum supported 2000 users, must deploy the Cisco Finesse OVA with 8 CPUs to ensure faster failover time. The actual number of gadgets that require the Cisco Finesse OVA with 8 CPUs depends on the gadgets and the number of requests that they invoke. In Unified CCE, Cisco Finesse deployments must be monitored for CPU consumption. Note General Gadget Development Guidelines The following are the general gadget guidelines that are applicable for both gadgets uploaded in Cisco Finesse 3rd party folder and gadgets hosted in 3rd party servers. • Use XML-based gadget URLs instead of dynamic JSP-based gadget URLs to prevent extra calls to the Finesse server. • Bundle and pack the resources for faster downloads. • Use finesse.min.js, which is compressed and smaller in size over finesse.js. • Prevent loading the Finesse desktop with bypassServerCache=true&nocache as a query parameter in the desktop URL. • Ensure static resources used by the gadget is cached by the browser. • External gadget hosting servers must prefer CA-signed certificates for easy integration with the browser. If they are self-signed, then import those certificates into the agent browser. For more information, see Accept Security Certificates section in Cisco Finesse Agent and Supervisor Desktop User Guide at https://www.cisco.com/c/en/us/support/customer-collaboration/finesse/ products-user-guide-list.html. • Gadgets must cache configuration data retrieved after the gadget load, and reuse them after failover using DesktopCache JavaScript API. Use the DesktopCache JavaScript API to prevent calls being made to the external servers during failover. Guidelines for Gadgets Uploaded to Finesse 3rdpartygadget Account • Application data that are not susceptible to change across sessions can be cached in the browser using DesktopCache API and reused. • Add exclusions for finesse.js and the 3rd party JavaScript files in the gadget XML. Guidelines for Gadgets Hosted on 3rd Party Servers • If a gadget is loaded from a 3rd party server, then make REST API calls directly to that server without proxying the requests through Shindig (avoid gadget.makeRequest() calls). • Load the static data as scripts or HTML and not as active-content (JSP files). Guidelines for JSP Gadgets • Efficient failover requires converting all the JSP-based gadgets to XML-based gadgets. Cisco Finesse Web Services Developer and JavaScript Guide, Release 12.5(1) 390 Finesse Desktop Gadget Development Best Practices for Gadget Development