All CKEditor resources are served by a org.onehippo.cms7.utilities.servlet.ResourceServlet that is configured in the web.xml file of the CMS application.
Excerpt of cms/src/main/webapp/WEB-INF/web.xml:
<servlet> <servlet-name>CKEditorResourceServlet</servlet-name> <servlet-class>org.onehippo.cms7.utilities.servlet.ResourceServlet</servlet-class> ... <init-param> <!-- Cache timeout in seconds. Make sure to increase it in production environments, for example to one day (cacheTimeout = 86400) --> <param-name>cacheTimeout</param-name> <param-value>0</param-value> </init-param> </servlet>
By default the cacheTimeout parameter is set to 0, which means "no caching". In production environment it can be increased to alleviate the load on the CMS application.
CKEditor has its own resource loader with its own cache-buster logic. Each time the application server is restarted, Hippo generates a unique value for CKEDITOR.timestamp. CKEditor's resource loader automatically appends this timestamp value as a query parameter to all requests, so newer resources (both from the CKEditor core as well as custom plugins) will always be fetched.