1 | <?xml version="1.0"?> |
---|
2 | <object name="portal_cache_settings" portal_type="CacheTool"> |
---|
3 | <property name="enabled">False</property> |
---|
4 | <property name="activePolicyId">with-caching-proxy</property> |
---|
5 | <property name="proxyPurgeConfig">no-purge</property> |
---|
6 | <property name="domains"/> |
---|
7 | <property name="squidURLs"></property> |
---|
8 | <property name="gzip">accept-encoding</property> |
---|
9 | <property name="varyHeader">Accept-Encoding</property> |
---|
10 | <object name="with-caching-proxy" portal_type="CachePolicy"> |
---|
11 | <property name="title">With Caching Proxy</property> |
---|
12 | <object name="rules" portal_type="RuleFolder"> |
---|
13 | <property name="title">Rules</property> |
---|
14 | <object name="httpcache" portal_type="PolicyHTTPCacheManagerCacheRule"> |
---|
15 | <property name="title">HTTPCache</property> |
---|
16 | <property |
---|
17 | name="description">Rule for content associated with HTTPCache. This content is cached in the proxy and in the browser. ETags are not useful because these files have no personalization.</property> |
---|
18 | <property name="cacheManager">HTTPCache</property> |
---|
19 | <property name="types"/> |
---|
20 | <property name="ids"/> |
---|
21 | <property name="cacheStop"/> |
---|
22 | <property |
---|
23 | name="varyExpression">python:getattr(object, 'meta_type', None) not in ['Filesystem Image', 'Image'] and rule.portal_cache_settings.getVaryHeader() or ''</property> |
---|
24 | <property |
---|
25 | name="lastModifiedExpression">python:object.modified()</property> |
---|
26 | <property name="headerSetIdExpression"></property> |
---|
27 | <property name="headerSetIdAuth">cache-in-browser-24-hours</property> |
---|
28 | <property name="headerSetIdAnon">cache-in-browser-24-hours</property> |
---|
29 | <property name="predicateExpression"></property> |
---|
30 | <property name="cacheStop"/> |
---|
31 | </object> |
---|
32 | <object name="plone-content-types" portal_type="ContentCacheRule"> |
---|
33 | <property name="title">Content</property> |
---|
34 | <property |
---|
35 | name="description">Rule for views of plone content types. Anonymous users are served content object views from memory, not the proxy cache (because the navigation tree displayed might change without triggering a proxy cache purge). Responses for authenticated users are not cached in memory or proxy (because caching personalized pages is inefficient) but an ETag is added to enable proper 304 responses. Member ID is used in the ETag because content is personalized; the time of the last catalog change is included so that the navigation tree stays up to date.</property> |
---|
36 | <property name="contentTypes"> |
---|
37 | <element value="Document"/> |
---|
38 | <element value="Event"/> |
---|
39 | <element value="Link"/> |
---|
40 | <element value="News Item"/> |
---|
41 | <element value="Image"/> |
---|
42 | <element value="File"/> |
---|
43 | </property> |
---|
44 | <property name="defaultView">True</property> |
---|
45 | <property name="templates"/> |
---|
46 | <property |
---|
47 | name="purgeExpression">python:object.getImageAndFilePurgeUrls()</property> |
---|
48 | <property |
---|
49 | name="varyExpression">python: rule.portal_cache_settings.getVaryHeader()</property> |
---|
50 | <property |
---|
51 | name="lastModifiedExpression">python:object.modified()</property> |
---|
52 | <property name="headerSetIdExpression"></property> |
---|
53 | <property name="headerSetIdAuth">cache-with-etag</property> |
---|
54 | <property name="headerSetIdAnon">cache-in-memory</property> |
---|
55 | <property name="predicateExpression"></property> |
---|
56 | <property name="cacheStop"> |
---|
57 | <element value="portal_status_message"/> |
---|
58 | <element value="statusmessages"/> |
---|
59 | <element value="SearchableText"/> |
---|
60 | </property> |
---|
61 | <property name="etagExpression"></property> |
---|
62 | <property name="etagTimeout">3600</property> |
---|
63 | <property name="etagRequestValues"> |
---|
64 | <element value="month"/> |
---|
65 | <element value="year"/> |
---|
66 | <element value="orig_query"/> |
---|
67 | </property> |
---|
68 | <property name="etagComponents"> |
---|
69 | <element value="member"/> |
---|
70 | <element value="catalog_modified"/> |
---|
71 | <element value="language"/> |
---|
72 | <element value="gzip"/> |
---|
73 | <element value="skin"/> |
---|
74 | <element value="object_locked"/> |
---|
75 | </property> |
---|
76 | </object> |
---|
77 | <object name="plone-containers" portal_type="ContentCacheRule"> |
---|
78 | <property name="title">Containers</property> |
---|
79 | <property |
---|
80 | name="description">Rule for views of Plone containers. Anonymous users are served pages from memory, not the proxy cache (because we can't easily purge container views when they change since container views depend on all of their contained objects, and contained objects do not necessarily purge their containers' views when they change). Responses for authenticated users are not cached in memory or proxy (because caching personalized pages is inefficient) but an ETag is added to enable proper 304 responses. Member ID is used in the ETag because content is personalized; the time of the last catalog change is included so that the contents and the navigation tree stays up to date.</property> |
---|
81 | <property name="contentTypes"> |
---|
82 | <element value="Topic"/> |
---|
83 | <element value="Folder"/> |
---|
84 | <element value="Plone Site"/> |
---|
85 | <element value="Large Plone Folder"/> |
---|
86 | </property> |
---|
87 | <property name="defaultView">True</property> |
---|
88 | <property name="templates"> |
---|
89 | <element value="folder_contents"/> |
---|
90 | </property> |
---|
91 | <property name="purgeExpression"></property> |
---|
92 | <property |
---|
93 | name="varyExpression">python: rule.portal_cache_settings.getVaryHeader()</property> |
---|
94 | <property |
---|
95 | name="lastModifiedExpression">python:object.modified()</property> |
---|
96 | <property name="headerSetIdExpression"></property> |
---|
97 | <property name="headerSetIdAuth">cache-with-etag</property> |
---|
98 | <property name="headerSetIdAnon">cache-in-memory</property> |
---|
99 | <property name="predicateExpression"></property> |
---|
100 | <property name="cacheStop"> |
---|
101 | <element value="portal_status_message"/> |
---|
102 | <element value="statusmessages"/> |
---|
103 | <element value="SearchableText"/> |
---|
104 | </property> |
---|
105 | <property |
---|
106 | name="etagExpression">python:request.get('__cp',None) is not None</property> |
---|
107 | <property name="etagTimeout">3600</property> |
---|
108 | <property name="etagRequestValues"> |
---|
109 | <element value="b_start"/> |
---|
110 | <element value="month"/> |
---|
111 | <element value="year"/> |
---|
112 | <element value="orig_query"/> |
---|
113 | </property> |
---|
114 | <property name="etagComponents"> |
---|
115 | <element value="member"/> |
---|
116 | <element value="catalog_modified"/> |
---|
117 | <element value="language"/> |
---|
118 | <element value="gzip"/> |
---|
119 | <element value="skin"/> |
---|
120 | <element value="object_locked"/> |
---|
121 | </property> |
---|
122 | </object> |
---|
123 | <object name="plone-templates" portal_type="TemplateCacheRule"> |
---|
124 | <property name="title">Templates</property> |
---|
125 | <property |
---|
126 | name="description">Rule for various non-form templates. Anonymous users are served pages from memory, not the proxy cache (because some of these templates depend on catalog queries). Responses for authenticated users are not cached in memory or proxy (because caching personalized pages is inefficient) but an ETag is added to enable proper 304 responses. Member ID is used in the ETag because content is personalized; the time of the last catalog change is included so that the contents and the navigation tree stays up to date.</property> |
---|
127 | <property name="templates"> |
---|
128 | <element value="accessibility-info"/> |
---|
129 | <element value="sitemap"/> |
---|
130 | <element value="recently_modified"/> |
---|
131 | </property> |
---|
132 | <property |
---|
133 | name="varyExpression">python: rule.portal_cache_settings.getVaryHeader()</property> |
---|
134 | <property |
---|
135 | name="lastModifiedExpression">python:object.modified()</property> |
---|
136 | <property name="headerSetIdExpression"></property> |
---|
137 | <property name="headerSetIdAuth">cache-with-etag</property> |
---|
138 | <property name="headerSetIdAnon">cache-in-memory</property> |
---|
139 | <property name="predicateExpression"></property> |
---|
140 | <property name="cacheStop"> |
---|
141 | <element value="portal_status_message"/> |
---|
142 | <element value="statusmessages"/> |
---|
143 | <element value="SearchableText"/> |
---|
144 | </property> |
---|
145 | <property name="etagExpression"></property> |
---|
146 | <property name="etagTimeout">3600</property> |
---|
147 | <property name="etagRequestValues"> |
---|
148 | <element value="b_start"/> |
---|
149 | <element value="month"/> |
---|
150 | <element value="year"/> |
---|
151 | <element value="orig_query"/> |
---|
152 | </property> |
---|
153 | <property name="etagComponents"> |
---|
154 | <element value="member"/> |
---|
155 | <element value="catalog_modified"/> |
---|
156 | <element value="language"/> |
---|
157 | <element value="gzip"/> |
---|
158 | <element value="skin"/> |
---|
159 | </property> |
---|
160 | </object> |
---|
161 | <object name="plone-rss" portal_type="TemplateCacheRule"> |
---|
162 | <property name="title">RSS</property> |
---|
163 | <property |
---|
164 | name="description">Rule for RSS feeds. Anonymous queries are cached in proxy.</property> |
---|
165 | <property name="templates"> |
---|
166 | <element value="RSS"/> |
---|
167 | <element value="search_rss"/> |
---|
168 | </property> |
---|
169 | <property |
---|
170 | name="varyExpression">python: rule.portal_cache_settings.getVaryHeader()</property> |
---|
171 | <property |
---|
172 | name="lastModifiedExpression">python:object.modified()</property> |
---|
173 | <property name="headerSetIdExpression"></property> |
---|
174 | <property name="headerSetIdAuth">cache-with-etag</property> |
---|
175 | <property name="headerSetIdAnon">cache-in-proxy-1-hour</property> |
---|
176 | <property name="predicateExpression"></property> |
---|
177 | <property name="cacheStop"/> |
---|
178 | <property name="etagExpression"></property> |
---|
179 | <property name="etagRequestValues"> |
---|
180 | <element value="SearchableText"/> |
---|
181 | </property> |
---|
182 | <property name="etagComponents"> |
---|
183 | <element value="member"/> |
---|
184 | <element value="catalog_modified"/> |
---|
185 | <element value="language"/> |
---|
186 | <element value="gzip"/> |
---|
187 | <element value="skin"/> |
---|
188 | </property> |
---|
189 | </object> |
---|
190 | <object name="resource-registries" |
---|
191 | portal_type="PolicyHTTPCacheManagerCacheRule"> |
---|
192 | <property name="title">CSS, JS & KSS</property> |
---|
193 | <property |
---|
194 | name="description">Rule for CSS, JS, and KSS generated by ResourceRegistries. These files are cached "forever" (1 year) in proxy caches and in browsers. There is no need to purge these files because when they are changed and saved in portal_css/portal_js, their file names change. ETags are not useful because these files have no personalization.</property> |
---|
195 | <property name="cacheManager">CacheSetup_OFSCache</property> |
---|
196 | <property name="types"> |
---|
197 | <element value="File"/> |
---|
198 | </property> |
---|
199 | <property name="ids"/> |
---|
200 | <property name="cacheStop"/> |
---|
201 | <property name="varyExpression">string:</property> |
---|
202 | <property |
---|
203 | name="lastModifiedExpression">python:object.modified()</property> |
---|
204 | <property |
---|
205 | name="headerSetIdExpression">python:object.getHeaderSetIdForResource()</property> |
---|
206 | <property name="headerSetIdAuth">expression</property> |
---|
207 | <property name="headerSetIdAnon">expression</property> |
---|
208 | <property name="predicateExpression"></property> |
---|
209 | <property name="cacheStop"/> |
---|
210 | </object> |
---|
211 | <object name="downloads" portal_type="PolicyHTTPCacheManagerCacheRule"> |
---|
212 | <property name="title">Files & Images</property> |
---|
213 | <property |
---|
214 | name="description">Rule for ATFile and ATImage downloads. Files that are viewable by Anonymous users are cached in the proxy cache. ETags are not useful because these files have no personalization.</property> |
---|
215 | <property name="cacheManager">CacheSetup_OFSCache</property> |
---|
216 | <property name="types"> |
---|
217 | <element value="Image"/> |
---|
218 | <element value="File"/> |
---|
219 | </property> |
---|
220 | <property name="ids"/> |
---|
221 | <property name="cacheStop"/> |
---|
222 | <property name="varyExpression">string:</property> |
---|
223 | <property |
---|
224 | name="lastModifiedExpression">python:object.modified()</property> |
---|
225 | <property |
---|
226 | name="headerSetIdExpression">python:object.portal_cache_settings.canAnonymousView(object) and 'cache-in-proxy-24-hours' or 'no-cache'</property> |
---|
227 | <property name="headerSetIdAuth">expression</property> |
---|
228 | <property name="headerSetIdAnon">expression</property> |
---|
229 | <property name="predicateExpression"></property> |
---|
230 | <property name="cacheStop"/> |
---|
231 | </object> |
---|
232 | <object name="dtml-css" portal_type="TemplateCacheRule"> |
---|
233 | <property name="title">DTML CSS files</property> |
---|
234 | <property |
---|
235 | name="description">Rule for css files generated with DTML. These files will be cached in the browser for 24 hours.</property> |
---|
236 | <property name="templates"> |
---|
237 | <element value="IEFixes.css"/> |
---|
238 | </property> |
---|
239 | <property name="varyExpression">string:</property> |
---|
240 | <property |
---|
241 | name="lastModifiedExpression">python:object.modified()</property> |
---|
242 | <property name="headerSetIdExpression"></property> |
---|
243 | <property name="headerSetIdAuth">cache-in-browser-24-hours</property> |
---|
244 | <property name="headerSetIdAnon">cache-in-browser-24-hours</property> |
---|
245 | <property name="predicateExpression"></property> |
---|
246 | <property name="cacheStop"/> |
---|
247 | <property name="etagExpression"></property> |
---|
248 | <property name="etagRequestValues"/> |
---|
249 | <property name="etagComponents"/> |
---|
250 | </object> |
---|
251 | </object> |
---|
252 | <object name="headersets" portal_type="HeaderSetFolder"> |
---|
253 | <property name="title">Headers</property> |
---|
254 | <object name="no-cache" portal_type="HeaderSet"> |
---|
255 | <property name="title">Do not cache</property> |
---|
256 | <property |
---|
257 | name="description">Should not be cached in proxy. Browser cache should revalidate every time.</property> |
---|
258 | <property name="pageCache">False</property> |
---|
259 | <property name="lastModified">yes</property> |
---|
260 | <property name="etag">False</property> |
---|
261 | <property name="enable304s">False</property> |
---|
262 | <property name="vary">True</property> |
---|
263 | <property name="maxAge">0</property> |
---|
264 | <property name="sMaxAge">0</property> |
---|
265 | <property name="mustRevalidate">True</property> |
---|
266 | <property name="proxyRevalidate">False</property> |
---|
267 | <property name="noCache">False</property> |
---|
268 | <property name="noStore">False</property> |
---|
269 | <property name="public">False</property> |
---|
270 | <property name="private">True</property> |
---|
271 | <property name="noTransform">False</property> |
---|
272 | </object> |
---|
273 | <object name="cache-in-memory" portal_type="HeaderSet"> |
---|
274 | <property name="title">Cache in Memory</property> |
---|
275 | <property |
---|
276 | name="description">Page should be cached in memory on the server. Page should not be cached in a proxy cache but may be conditionally cached in the browser. The browser should validate the page's ETag before displaying a cached page.</property> |
---|
277 | <property name="pageCache">True</property> |
---|
278 | <property name="lastModified">delete</property> |
---|
279 | <property name="etag">True</property> |
---|
280 | <property name="enable304s">True</property> |
---|
281 | <property name="vary">True</property> |
---|
282 | <property name="maxAge">0</property> |
---|
283 | <property name="sMaxAge">0</property> |
---|
284 | <property name="mustRevalidate">True</property> |
---|
285 | <property name="proxyRevalidate">False</property> |
---|
286 | <property name="noCache">False</property> |
---|
287 | <property name="noStore">False</property> |
---|
288 | <property name="public">False</property> |
---|
289 | <property name="private">True</property> |
---|
290 | <property name="noTransform">False</property> |
---|
291 | </object> |
---|
292 | <object name="cache-with-etag" portal_type="HeaderSet"> |
---|
293 | <property name="title">Cache with ETag</property> |
---|
294 | <property |
---|
295 | name="description">Page should not be cached in a proxy cache but may be conditionally cached in the browser. The browser should validate the page's ETag before displaying a cached page.</property> |
---|
296 | <property name="pageCache">False</property> |
---|
297 | <property name="lastModified">delete</property> |
---|
298 | <property name="etag">True</property> |
---|
299 | <property name="enable304s">True</property> |
---|
300 | <property name="vary">True</property> |
---|
301 | <property name="maxAge">0</property> |
---|
302 | <property name="sMaxAge">0</property> |
---|
303 | <property name="mustRevalidate">True</property> |
---|
304 | <property name="proxyRevalidate">False</property> |
---|
305 | <property name="noCache">False</property> |
---|
306 | <property name="noStore">False</property> |
---|
307 | <property name="public">False</property> |
---|
308 | <property name="private">True</property> |
---|
309 | <property name="noTransform">False</property> |
---|
310 | </object> |
---|
311 | <object name="cache-with-last-modified" portal_type="HeaderSet"> |
---|
312 | <property name="title">Cache file with Last-Modified</property> |
---|
313 | <property |
---|
314 | name="description">File should not be cached in a proxy cache but may be conditionally cached in the browser. The browser should validate the file's Last-Modified time before displaying a cached file.</property> |
---|
315 | <property name="pageCache">False</property> |
---|
316 | <property name="lastModified">yes</property> |
---|
317 | <property name="etag">False</property> |
---|
318 | <property name="enable304s">True</property> |
---|
319 | <property name="vary">True</property> |
---|
320 | <property name="maxAge">0</property> |
---|
321 | <property name="sMaxAge">0</property> |
---|
322 | <property name="mustRevalidate">True</property> |
---|
323 | <property name="proxyRevalidate">False</property> |
---|
324 | <property name="noCache">False</property> |
---|
325 | <property name="noStore">False</property> |
---|
326 | <property name="public">False</property> |
---|
327 | <property name="private">True</property> |
---|
328 | <property name="noTransform">False</property> |
---|
329 | </object> |
---|
330 | <object name="cache-in-proxy-1-hour" portal_type="HeaderSet"> |
---|
331 | <property name="title">Cache in proxy cache for 1 hour</property> |
---|
332 | <property |
---|
333 | name="description">Should be cached in both proxy and browser. Proxy should revalidate after 1 hour. Browser should revalidate immediately.</property> |
---|
334 | <property name="pageCache">False</property> |
---|
335 | <property name="lastModified">yes</property> |
---|
336 | <property name="etag">False</property> |
---|
337 | <property name="enable304s">False</property> |
---|
338 | <property name="vary">True</property> |
---|
339 | <property name="maxAge">0</property> |
---|
340 | <property name="sMaxAge">3600</property> |
---|
341 | <property name="mustRevalidate">True</property> |
---|
342 | <property name="proxyRevalidate">False</property> |
---|
343 | <property name="noCache">False</property> |
---|
344 | <property name="noStore">False</property> |
---|
345 | <property name="public">False</property> |
---|
346 | <property name="private">False</property> |
---|
347 | <property name="noTransform">False</property> |
---|
348 | </object> |
---|
349 | <object name="cache-in-proxy-24-hours" portal_type="HeaderSet"> |
---|
350 | <property name="title">Cache in proxy cache for 24 hours</property> |
---|
351 | <property |
---|
352 | name="description">Should be cached in both proxy and browser. Proxy should revalidate after 24 hours. Browser should revalidate immediately</property> |
---|
353 | <property name="pageCache">False</property> |
---|
354 | <property name="lastModified">yes</property> |
---|
355 | <property name="etag">False</property> |
---|
356 | <property name="enable304s">False</property> |
---|
357 | <property name="vary">True</property> |
---|
358 | <property name="maxAge">0</property> |
---|
359 | <property name="sMaxAge">86400</property> |
---|
360 | <property name="mustRevalidate">True</property> |
---|
361 | <property name="proxyRevalidate">True</property> |
---|
362 | <property name="noCache">False</property> |
---|
363 | <property name="noStore">False</property> |
---|
364 | <property name="public">False</property> |
---|
365 | <property name="private">False</property> |
---|
366 | <property name="noTransform">False</property> |
---|
367 | </object> |
---|
368 | <object name="cache-in-browser-1-hour" portal_type="HeaderSet"> |
---|
369 | <property name="title">Cache in browser for 1 hour</property> |
---|
370 | <property |
---|
371 | name="description">Should be cached in both proxy and browser. Both should revalidate after 1 hour.</property> |
---|
372 | <property name="pageCache">False</property> |
---|
373 | <property name="lastModified">yes</property> |
---|
374 | <property name="etag">False</property> |
---|
375 | <property name="enable304s">False</property> |
---|
376 | <property name="vary">True</property> |
---|
377 | <property name="maxAge">3600</property> |
---|
378 | <property name="sMaxAge">3600</property> |
---|
379 | <property name="mustRevalidate">True</property> |
---|
380 | <property name="proxyRevalidate">True</property> |
---|
381 | <property name="noCache">False</property> |
---|
382 | <property name="noStore">False</property> |
---|
383 | <property name="public">True</property> |
---|
384 | <property name="private">False</property> |
---|
385 | <property name="noTransform">False</property> |
---|
386 | </object> |
---|
387 | <object name="cache-in-browser-24-hours" portal_type="HeaderSet"> |
---|
388 | <property name="title">Cache in browser for 24 hours</property> |
---|
389 | <property |
---|
390 | name="description">Should be cached in both proxy and browser. Both should revalidate after 24 hours.</property> |
---|
391 | <property name="pageCache">False</property> |
---|
392 | <property name="lastModified">yes</property> |
---|
393 | <property name="etag">False</property> |
---|
394 | <property name="enable304s">False</property> |
---|
395 | <property name="vary">True</property> |
---|
396 | <property name="maxAge">86400</property> |
---|
397 | <property name="sMaxAge">86400</property> |
---|
398 | <property name="mustRevalidate">True</property> |
---|
399 | <property name="proxyRevalidate">True</property> |
---|
400 | <property name="noCache">False</property> |
---|
401 | <property name="noStore">False</property> |
---|
402 | <property name="public">True</property> |
---|
403 | <property name="private">False</property> |
---|
404 | <property name="noTransform">False</property> |
---|
405 | </object> |
---|
406 | <object name="cache-in-browser-forever" portal_type="HeaderSet"> |
---|
407 | <property name="title">Cache in browser forever</property> |
---|
408 | <property |
---|
409 | name="description">Should be cached in both proxy and browser. Both should revalidate after 1 year.</property> |
---|
410 | <property name="pageCache">False</property> |
---|
411 | <property name="lastModified">yes</property> |
---|
412 | <property name="etag">False</property> |
---|
413 | <property name="enable304s">False</property> |
---|
414 | <property name="vary">True</property> |
---|
415 | <property name="maxAge">31536000</property> |
---|
416 | <property name="sMaxAge">31536000</property> |
---|
417 | <property name="mustRevalidate">False</property> |
---|
418 | <property name="proxyRevalidate">False</property> |
---|
419 | <property name="noCache">False</property> |
---|
420 | <property name="noStore">False</property> |
---|
421 | <property name="public">True</property> |
---|
422 | <property name="private">False</property> |
---|
423 | <property name="noTransform">False</property> |
---|
424 | </object> |
---|
425 | </object> |
---|
426 | </object> |
---|
427 | <object name="without-caching-proxy" portal_type="CachePolicy"> |
---|
428 | <property name="title">Without Caching Proxy</property> |
---|
429 | <object name="rules" portal_type="RuleFolder"> |
---|
430 | <property name="title">Rules</property> |
---|
431 | <object name="httpcache" portal_type="PolicyHTTPCacheManagerCacheRule"> |
---|
432 | <property name="title">HTTPCache</property> |
---|
433 | <property |
---|
434 | name="description">Rule for content associated with HTTPCache. This content is cached in the proxy and in the browser. ETags are not useful because these files have no personalization.</property> |
---|
435 | <property name="cacheManager">HTTPCache</property> |
---|
436 | <property name="types"/> |
---|
437 | <property name="ids"/> |
---|
438 | <property name="cacheStop"/> |
---|
439 | <property |
---|
440 | name="varyExpression">python:getattr(object, 'meta_type', None) not in ['Filesystem Image', 'Image'] and rule.portal_cache_settings.getVaryHeader() or ''</property> |
---|
441 | <property |
---|
442 | name="lastModifiedExpression">python:object.modified()</property> |
---|
443 | <property name="headerSetIdExpression"></property> |
---|
444 | <property name="headerSetIdAuth">cache-in-browser-24-hours</property> |
---|
445 | <property name="headerSetIdAnon">cache-in-browser-24-hours</property> |
---|
446 | <property name="predicateExpression"></property> |
---|
447 | <property name="cacheStop"/> |
---|
448 | </object> |
---|
449 | <object name="plone-content-types" portal_type="ContentCacheRule"> |
---|
450 | <property name="title">Content</property> |
---|
451 | <property |
---|
452 | name="description">Rule for views of plone content types. Anonymous users are served content object views from memory, not the proxy cache (because the navigation tree displayed might change without triggering a proxy cache purge). Responses for authenticated users are not cached in memory or proxy (because caching personalized pages is inefficient) but an ETag is added to enable proper 304 responses. Member ID is used in the ETag because content is personalized; the time of the last catalog change is included so that the navigation tree stays up to date.</property> |
---|
453 | <property name="contentTypes"> |
---|
454 | <element value="Document"/> |
---|
455 | <element value="Event"/> |
---|
456 | <element value="Link"/> |
---|
457 | <element value="News Item"/> |
---|
458 | <element value="Image"/> |
---|
459 | <element value="File"/> |
---|
460 | </property> |
---|
461 | <property name="defaultView">True</property> |
---|
462 | <property name="templates"/> |
---|
463 | <property |
---|
464 | name="purgeExpression">python:object.getImageAndFilePurgeUrls()</property> |
---|
465 | <property |
---|
466 | name="varyExpression">python: rule.portal_cache_settings.getVaryHeader()</property> |
---|
467 | <property |
---|
468 | name="lastModifiedExpression">python:object.modified()</property> |
---|
469 | <property name="headerSetIdExpression"></property> |
---|
470 | <property name="headerSetIdAuth">cache-with-etag</property> |
---|
471 | <property name="headerSetIdAnon">cache-in-memory</property> |
---|
472 | <property name="predicateExpression"></property> |
---|
473 | <property name="cacheStop"> |
---|
474 | <element value="portal_status_message"/> |
---|
475 | <element value="statusmessages"/> |
---|
476 | <element value="SearchableText"/> |
---|
477 | </property> |
---|
478 | <property name="etagExpression"></property> |
---|
479 | <property name="etagTimeout">3600</property> |
---|
480 | <property name="etagRequestValues"> |
---|
481 | <element value="month"/> |
---|
482 | <element value="year"/> |
---|
483 | <element value="orig_query"/> |
---|
484 | </property> |
---|
485 | <property name="etagComponents"> |
---|
486 | <element value="member"/> |
---|
487 | <element value="catalog_modified"/> |
---|
488 | <element value="language"/> |
---|
489 | <element value="gzip"/> |
---|
490 | <element value="skin"/> |
---|
491 | <element value="object_locked"/> |
---|
492 | </property> |
---|
493 | </object> |
---|
494 | <object name="plone-containers" portal_type="ContentCacheRule"> |
---|
495 | <property name="title">Containers</property> |
---|
496 | <property |
---|
497 | name="description">Rule for views of Plone containers. Anonymous users are served pages from memory, not the proxy cache (because we can't easily purge container views when they change since container views depend on all of their contained objects, and contained objects do not necessarily purge their containers' views when they change). Responses for authenticated users are not cached in memory or proxy (because caching personalized pages is inefficient) but an ETag is added to enable proper 304 responses. Member ID is used in the ETag because content is personalized; the time of the last catalog change is included so that the contents and the navigation tree stays up to date.</property> |
---|
498 | <property name="contentTypes"> |
---|
499 | <element value="Topic"/> |
---|
500 | <element value="Folder"/> |
---|
501 | <element value="Plone Site"/> |
---|
502 | <element value="Large Plone Folder"/> |
---|
503 | </property> |
---|
504 | <property name="defaultView">True</property> |
---|
505 | <property name="templates"> |
---|
506 | <element value="folder_contents"/> |
---|
507 | </property> |
---|
508 | <property name="purgeExpression"></property> |
---|
509 | <property |
---|
510 | name="varyExpression">python: rule.portal_cache_settings.getVaryHeader()</property> |
---|
511 | <property |
---|
512 | name="lastModifiedExpression">python:object.modified()</property> |
---|
513 | <property name="headerSetIdExpression"></property> |
---|
514 | <property name="headerSetIdAuth">cache-with-etag</property> |
---|
515 | <property name="headerSetIdAnon">cache-in-memory</property> |
---|
516 | <property name="predicateExpression"></property> |
---|
517 | <property name="cacheStop"> |
---|
518 | <element value="portal_status_message"/> |
---|
519 | <element value="statusmessages"/> |
---|
520 | <element value="SearchableText"/> |
---|
521 | </property> |
---|
522 | <property |
---|
523 | name="etagExpression">python:request.get('__cp',None) is not None</property> |
---|
524 | <property name="etagTimeout">3600</property> |
---|
525 | <property name="etagRequestValues"> |
---|
526 | <element value="b_start"/> |
---|
527 | <element value="month"/> |
---|
528 | <element value="year"/> |
---|
529 | <element value="orig_query"/> |
---|
530 | </property> |
---|
531 | <property name="etagComponents"> |
---|
532 | <element value="member"/> |
---|
533 | <element value="catalog_modified"/> |
---|
534 | <element value="language"/> |
---|
535 | <element value="gzip"/> |
---|
536 | <element value="skin"/> |
---|
537 | <element value="object_locked"/> |
---|
538 | </property> |
---|
539 | </object> |
---|
540 | <object name="plone-templates" portal_type="TemplateCacheRule"> |
---|
541 | <property name="title">Templates</property> |
---|
542 | <property |
---|
543 | name="description">Rule for various non-form templates. Anonymous users are served pages from memory, not the proxy cache (because some of these templates depend on catalog queries). Responses for authenticated users are not cached in memory or proxy (because caching personalized pages is inefficient) but an ETag is added to enable proper 304 responses. Member ID is used in the ETag because content is personalized; the time of the last catalog change is included so that the contents and the navigation tree stays up to date.</property> |
---|
544 | <property name="templates"> |
---|
545 | <element value="accessibility-info"/> |
---|
546 | <element value="sitemap"/> |
---|
547 | <element value="recently_modified"/> |
---|
548 | </property> |
---|
549 | <property |
---|
550 | name="varyExpression">python: rule.portal_cache_settings.getVaryHeader()</property> |
---|
551 | <property |
---|
552 | name="lastModifiedExpression">python:object.modified()</property> |
---|
553 | <property name="headerSetIdExpression"></property> |
---|
554 | <property name="headerSetIdAuth">cache-with-etag</property> |
---|
555 | <property name="headerSetIdAnon">cache-in-memory</property> |
---|
556 | <property name="predicateExpression"></property> |
---|
557 | <property name="cacheStop"> |
---|
558 | <element value="portal_status_message"/> |
---|
559 | <element value="statusmessages"/> |
---|
560 | <element value="SearchableText"/> |
---|
561 | </property> |
---|
562 | <property name="etagExpression"></property> |
---|
563 | <property name="etagTimeout">3600</property> |
---|
564 | <property name="etagRequestValues"> |
---|
565 | <element value="b_start"/> |
---|
566 | <element value="month"/> |
---|
567 | <element value="year"/> |
---|
568 | <element value="orig_query"/> |
---|
569 | </property> |
---|
570 | <property name="etagComponents"> |
---|
571 | <element value="member"/> |
---|
572 | <element value="catalog_modified"/> |
---|
573 | <element value="language"/> |
---|
574 | <element value="gzip"/> |
---|
575 | <element value="skin"/> |
---|
576 | </property> |
---|
577 | </object> |
---|
578 | <object name="plone-rss" portal_type="TemplateCacheRule"> |
---|
579 | <property name="title">RSS</property> |
---|
580 | <property |
---|
581 | name="description">Rule for RSS feeds. Anonymous queries are cached in memory.</property> |
---|
582 | <property name="templates"> |
---|
583 | <element value="RSS"/> |
---|
584 | <element value="search_rss"/> |
---|
585 | </property> |
---|
586 | <property |
---|
587 | name="varyExpression">python: rule.portal_cache_settings.getVaryHeader()</property> |
---|
588 | <property |
---|
589 | name="lastModifiedExpression">python:object.modified()</property> |
---|
590 | <property name="headerSetIdExpression"></property> |
---|
591 | <property name="headerSetIdAuth">cache-with-etag</property> |
---|
592 | <property name="headerSetIdAnon">cache-in-memory</property> |
---|
593 | <property name="predicateExpression"></property> |
---|
594 | <property name="cacheStop"/> |
---|
595 | <property name="etagExpression"></property> |
---|
596 | <property name="etagRequestValues"> |
---|
597 | <element value="SearchableText"/> |
---|
598 | </property> |
---|
599 | <property name="etagComponents"> |
---|
600 | <element value="member"/> |
---|
601 | <element value="catalog_modified"/> |
---|
602 | <element value="language"/> |
---|
603 | <element value="gzip"/> |
---|
604 | <element value="skin"/> |
---|
605 | </property> |
---|
606 | </object> |
---|
607 | <object name="resource-registries" |
---|
608 | portal_type="PolicyHTTPCacheManagerCacheRule"> |
---|
609 | <property name="title">CSS, JS & KSS</property> |
---|
610 | <property |
---|
611 | name="description">Rule for CSS, JS, and KSS generated by ResourceRegistries. These files are cached "forever" (1 year) in browsers. There is no need to purge these files because when they are changed and saved in portal_css/portal_js, their file names change. ETags are not useful because these files have no personalization.</property> |
---|
612 | <property name="cacheManager">CacheSetup_OFSCache</property> |
---|
613 | <property name="types"> |
---|
614 | <element value="File"/> |
---|
615 | </property> |
---|
616 | <property name="ids"/> |
---|
617 | <property name="cacheStop"/> |
---|
618 | <property name="varyExpression">string:</property> |
---|
619 | <property |
---|
620 | name="lastModifiedExpression">python:object.modified()</property> |
---|
621 | <property |
---|
622 | name="headerSetIdExpression">python:object.getHeaderSetIdForResource()</property> |
---|
623 | <property name="headerSetIdAuth">expression</property> |
---|
624 | <property name="headerSetIdAnon">expression</property> |
---|
625 | <property name="predicateExpression"></property> |
---|
626 | <property name="cacheStop"/> |
---|
627 | </object> |
---|
628 | <object name="downloads" portal_type="PolicyHTTPCacheManagerCacheRule"> |
---|
629 | <property name="title">Files & Images</property> |
---|
630 | <property |
---|
631 | name="description">Rule for ATFile and ATImage downloads. Files that are viewable by Anonymous users receive a Last-Modified header to enable conditional requests. ETags are not useful because these files have no personalization.</property> |
---|
632 | <property name="cacheManager">CacheSetup_OFSCache</property> |
---|
633 | <property name="types"> |
---|
634 | <element value="Image"/> |
---|
635 | <element value="File"/> |
---|
636 | </property> |
---|
637 | <property name="ids"/> |
---|
638 | <property name="cacheStop"/> |
---|
639 | <property name="varyExpression">string:</property> |
---|
640 | <property |
---|
641 | name="lastModifiedExpression">python:object.modified()</property> |
---|
642 | <property |
---|
643 | name="headerSetIdExpression">python:object.portal_cache_settings.canAnonymousView(object) and 'cache-with-last-modified' or 'no-cache'</property> |
---|
644 | <property name="headerSetIdAuth">expression</property> |
---|
645 | <property name="headerSetIdAnon">expression</property> |
---|
646 | <property name="predicateExpression"></property> |
---|
647 | <property name="cacheStop"/> |
---|
648 | </object> |
---|
649 | <object name="dtml-css" portal_type="TemplateCacheRule"> |
---|
650 | <property name="title">DTML CSS files</property> |
---|
651 | <property |
---|
652 | name="description">Rule for css files generated with DTML. These files will be cached in the browser for 24 hours.</property> |
---|
653 | <property name="templates"> |
---|
654 | <element value="IEFixes.css"/> |
---|
655 | </property> |
---|
656 | <property name="varyExpression">string:</property> |
---|
657 | <property |
---|
658 | name="lastModifiedExpression">python:object.modified()</property> |
---|
659 | <property name="headerSetIdExpression"></property> |
---|
660 | <property name="headerSetIdAuth">cache-in-browser-24-hours</property> |
---|
661 | <property name="headerSetIdAnon">cache-in-browser-24-hours</property> |
---|
662 | <property name="predicateExpression"></property> |
---|
663 | <property name="cacheStop"/> |
---|
664 | <property name="etagExpression"></property> |
---|
665 | <property name="etagRequestValues"/> |
---|
666 | <property name="etagComponents"/> |
---|
667 | </object> |
---|
668 | </object> |
---|
669 | <object name="headersets" portal_type="HeaderSetFolder"> |
---|
670 | <property name="title">Headers</property> |
---|
671 | <object name="no-cache" portal_type="HeaderSet"> |
---|
672 | <property name="title">Do not cache</property> |
---|
673 | <property |
---|
674 | name="description">Should not be cached in proxy. Browser cache should revalidate every time.</property> |
---|
675 | <property name="pageCache">False</property> |
---|
676 | <property name="lastModified">delete</property> |
---|
677 | <property name="etag">False</property> |
---|
678 | <property name="enable304s">False</property> |
---|
679 | <property name="vary">True</property> |
---|
680 | <property name="maxAge">0</property> |
---|
681 | <property name="mustRevalidate">True</property> |
---|
682 | <property name="proxyRevalidate">False</property> |
---|
683 | <property name="noCache">False</property> |
---|
684 | <property name="noStore">False</property> |
---|
685 | <property name="public">False</property> |
---|
686 | <property name="private">True</property> |
---|
687 | <property name="noTransform">False</property> |
---|
688 | </object> |
---|
689 | <object name="cache-in-memory" portal_type="HeaderSet"> |
---|
690 | <property name="title">Cache in Memory</property> |
---|
691 | <property |
---|
692 | name="description">Page should be cached in memory on the server. Page should not be cached in a proxy cache but may be conditionally cached in the browser. The browser should validate the page's ETag before displaying a cached page.</property> |
---|
693 | <property name="pageCache">True</property> |
---|
694 | <property name="lastModified">delete</property> |
---|
695 | <property name="etag">True</property> |
---|
696 | <property name="enable304s">True</property> |
---|
697 | <property name="vary">True</property> |
---|
698 | <property name="maxAge">0</property> |
---|
699 | <property name="mustRevalidate">True</property> |
---|
700 | <property name="proxyRevalidate">False</property> |
---|
701 | <property name="noCache">False</property> |
---|
702 | <property name="noStore">False</property> |
---|
703 | <property name="public">False</property> |
---|
704 | <property name="private">True</property> |
---|
705 | <property name="noTransform">False</property> |
---|
706 | </object> |
---|
707 | <object name="cache-with-etag" portal_type="HeaderSet"> |
---|
708 | <property name="title">Cache with ETag</property> |
---|
709 | <property |
---|
710 | name="description">Page should not be cached in a proxy cache but may be conditionally cached in the browser. The browser should validate the page's ETag before displaying a cached page.</property> |
---|
711 | <property name="pageCache">False</property> |
---|
712 | <property name="lastModified">delete</property> |
---|
713 | <property name="etag">True</property> |
---|
714 | <property name="enable304s">True</property> |
---|
715 | <property name="vary">True</property> |
---|
716 | <property name="maxAge">0</property> |
---|
717 | <property name="mustRevalidate">True</property> |
---|
718 | <property name="proxyRevalidate">False</property> |
---|
719 | <property name="noCache">False</property> |
---|
720 | <property name="noStore">False</property> |
---|
721 | <property name="public">False</property> |
---|
722 | <property name="private">True</property> |
---|
723 | <property name="noTransform">False</property> |
---|
724 | </object> |
---|
725 | <object name="cache-with-last-modified" portal_type="HeaderSet"> |
---|
726 | <property name="title">Cache file with Last-Modified</property> |
---|
727 | <property |
---|
728 | name="description">File should not be cached in a proxy cache but may be conditionally cached in the browser. The browser should validate the file's Last-Modified time before displaying a cached file.</property> |
---|
729 | <property name="pageCache">False</property> |
---|
730 | <property name="lastModified">yes</property> |
---|
731 | <property name="etag">False</property> |
---|
732 | <property name="enable304s">True</property> |
---|
733 | <property name="vary">True</property> |
---|
734 | <property name="maxAge">0</property> |
---|
735 | <property name="mustRevalidate">True</property> |
---|
736 | <property name="proxyRevalidate">False</property> |
---|
737 | <property name="noCache">False</property> |
---|
738 | <property name="noStore">False</property> |
---|
739 | <property name="public">False</property> |
---|
740 | <property name="private">True</property> |
---|
741 | <property name="noTransform">False</property> |
---|
742 | </object> |
---|
743 | <object name="cache-in-browser-1-hour" portal_type="HeaderSet"> |
---|
744 | <property name="title">Cache in browser for 1 hour</property> |
---|
745 | <property |
---|
746 | name="description">Should be cached in both proxy and browser. Both should revalidate after 1 hour.</property> |
---|
747 | <property name="pageCache">False</property> |
---|
748 | <property name="lastModified">yes</property> |
---|
749 | <property name="etag">False</property> |
---|
750 | <property name="enable304s">False</property> |
---|
751 | <property name="vary">True</property> |
---|
752 | <property name="maxAge">3600</property> |
---|
753 | <property name="mustRevalidate">True</property> |
---|
754 | <property name="proxyRevalidate">False</property> |
---|
755 | <property name="noCache">False</property> |
---|
756 | <property name="noStore">False</property> |
---|
757 | <property name="public">True</property> |
---|
758 | <property name="private">False</property> |
---|
759 | <property name="noTransform">False</property> |
---|
760 | </object> |
---|
761 | <object name="cache-in-browser-24-hours" portal_type="HeaderSet"> |
---|
762 | <property name="title">Cache in browser for 24 hours</property> |
---|
763 | <property |
---|
764 | name="description">Should be cached in both proxy and browser. Both should revalidate after 24 hours.</property> |
---|
765 | <property name="pageCache">False</property> |
---|
766 | <property name="lastModified">yes</property> |
---|
767 | <property name="etag">False</property> |
---|
768 | <property name="enable304s">False</property> |
---|
769 | <property name="vary">True</property> |
---|
770 | <property name="maxAge">86400</property> |
---|
771 | <property name="mustRevalidate">True</property> |
---|
772 | <property name="proxyRevalidate">False</property> |
---|
773 | <property name="noCache">False</property> |
---|
774 | <property name="noStore">False</property> |
---|
775 | <property name="public">True</property> |
---|
776 | <property name="private">False</property> |
---|
777 | <property name="noTransform">False</property> |
---|
778 | </object> |
---|
779 | <object name="cache-in-browser-forever" portal_type="HeaderSet"> |
---|
780 | <property name="title">Cache in browser forever</property> |
---|
781 | <property |
---|
782 | name="description">Should be cached in both proxy and browser. Both should revalidate after 1 year.</property> |
---|
783 | <property name="pageCache">False</property> |
---|
784 | <property name="lastModified">yes</property> |
---|
785 | <property name="etag">False</property> |
---|
786 | <property name="enable304s">False</property> |
---|
787 | <property name="vary">True</property> |
---|
788 | <property name="maxAge">31536000</property> |
---|
789 | <property name="mustRevalidate">False</property> |
---|
790 | <property name="proxyRevalidate">False</property> |
---|
791 | <property name="noCache">False</property> |
---|
792 | <property name="noStore">False</property> |
---|
793 | <property name="public">True</property> |
---|
794 | <property name="private">False</property> |
---|
795 | <property name="noTransform">False</property> |
---|
796 | </object> |
---|
797 | </object> |
---|
798 | </object> |
---|
799 | </object> |
---|