Static Resources Behind Authentication
Starting in release 9.0.000.xx, Genesys Co-browse can synchronize resources that are placed behind authentication, which makes them not accessible by the Co-browse Server.
In this feature we add new mechanism for resources synchronization that allows Co-browse to synchronize resources which are placed behind authentication and therefore not accessible by Co-browse server. This feature also allows us to sync resources without proxying them through Co-browse server and this makes Co-browse tuning easier (no need to set allowedExternalDomains option, which is a big problem especially for Cloud). Slave side is supposed to load more quickly since resources are stored on Co-browser server and are not taken from their original host and proxied every time. (This however will not be true for first session establishment, when resources are not cached yet, but will be true for all further sessions)
The resources can be images, css stylesheets, fonts, and resources from style tags.
Configuration and feature control
Configuration options enableStaticResourceService - new JS instrumentation option on master side. If set to 'true', Static Resources Behind Authentication feature is turned on and resources are cached. This is a feature flag: if set to 'false', feature is completely disabled. (tenant-specific, if talking about cloud) (no new options for slave side) https://docs.genesys.com/Documentation/GCB/9.0DRAFT/API/JSConfigAPI#enableStaticResourceService
New server side configuration option:
section [Redis], option: cache.ttl
Retention policy for 2-level cache: used to determine how much time resources will be stored in 2-level cache, if left untouched.
Possible values: any duration, like 1d/1h/30min/30m/3600s/3600sec Default value: 1d
Retention policy for 1-level cache (local cache) is 30 minutes, not changeable.
dev note: TTL prolongation (when file is touched) is not made for CSS files and its nested resources (see CB-5758 - Nested cached file will not be cached again after being changed if outer file wasn't changed CLOSED for details). dev note 2: in some very special cases resources can be cleared by removing CacheEntity* keys from Redis.
This feature needs customer documentation. Proposed sections:
new capabilities of Co-browse: synchronizing resources placed behind authentication
configuration options, default and recommended settings and limits (see Configuration and feature control)
known limitations (see Limits and Constraints, pay attention to CORS configuration)
note about allowedExternalDomains:
resource is cached even if its location is not included in allowedExternalDomains configuration option
when resource is not cached successfully, there is an attempt to load it directly from its original location on agent side and this is done even if location is not included in allowedExternalDomains
resources synchronization mechanism compatibility (see diagrams below)
no UI or text changes.



