Commit 8384fe46 authored by Romain Courteaud's avatar Romain Courteaud

[erp5_web] Add "must-revalidate" caching policy.

This caching policy should be the default for any offline webapp, to prevent any mistake done with the html5 cache manifest.
parent c18fd491
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Category" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_folders_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Copy_or_Move_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Delete_objects_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>__translation_dict</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>caching_policy/must-revalidate</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>must-revalidate</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Must Revalidate</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<string>no-cache</string> <string>no-cache</string>
<string>one-day-max-modification-date</string> <string>one-day-max-modification-date</string>
<string>one-hour-max-modification-date</string> <string>one-hour-max-modification-date</string>
<string>must-revalidate</string>
<string>public-conversion-result-no-language</string> <string>public-conversion-result-no-language</string>
<string>public-conversion-result</string> <string>public-conversion-result</string>
<string>unauthenticated no language</string> <string>unauthenticated no language</string>
...@@ -253,6 +254,111 @@ ...@@ -253,6 +254,111 @@
</object> </object>
</value> </value>
</item> </item>
<item>
<key> <string>must-revalidate</string> </key>
<value>
<object>
<klass> <reference id="2.1"/> </klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_enable_304s</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>_etag_func</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent>
</value>
</item>
<item>
<key> <string>_last_modified</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>_max_age_secs</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>_mtime_func</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAo=</string> </persistent>
</value>
</item>
<item>
<key> <string>_must_revalidate</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>_no_cache</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>_no_store</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>_no_transform</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>_policy_id</string> </key>
<value> <string>must-revalidate</string> </value>
</item>
<item>
<key> <string>_post_check</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_pre_check</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_predicate</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAs=</string> </persistent>
</value>
</item>
<item>
<key> <string>_private</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>_proxy_revalidate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>_public</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>_s_max_age_secs</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_stale_if_error_secs</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>_stale_while_revalidate_secs</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>_vary</string> </key>
<value> <string>Accept-Language, Cookie, Authorization, Accept-Encoding</string> </value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item> <item>
<key> <string>no-cache</string> </key> <key> <string>no-cache</string> </key>
<value> <value>
...@@ -268,7 +374,7 @@ ...@@ -268,7 +374,7 @@
<item> <item>
<key> <string>_etag_func</string> </key> <key> <string>_etag_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAw=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -282,7 +388,7 @@ ...@@ -282,7 +388,7 @@
<item> <item>
<key> <string>_mtime_func</string> </key> <key> <string>_mtime_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAo=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAA0=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -320,7 +426,7 @@ ...@@ -320,7 +426,7 @@
<item> <item>
<key> <string>_predicate</string> </key> <key> <string>_predicate</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAs=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAA4=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -373,7 +479,7 @@ ...@@ -373,7 +479,7 @@
<item> <item>
<key> <string>_etag_func</string> </key> <key> <string>_etag_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAw=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAA8=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -387,7 +493,7 @@ ...@@ -387,7 +493,7 @@
<item> <item>
<key> <string>_mtime_func</string> </key> <key> <string>_mtime_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAA0=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABA=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -425,7 +531,7 @@ ...@@ -425,7 +531,7 @@
<item> <item>
<key> <string>_predicate</string> </key> <key> <string>_predicate</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAA4=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABE=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -478,7 +584,7 @@ ...@@ -478,7 +584,7 @@
<item> <item>
<key> <string>_etag_func</string> </key> <key> <string>_etag_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAA8=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABI=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -492,7 +598,7 @@ ...@@ -492,7 +598,7 @@
<item> <item>
<key> <string>_mtime_func</string> </key> <key> <string>_mtime_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABA=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABM=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -530,7 +636,7 @@ ...@@ -530,7 +636,7 @@
<item> <item>
<key> <string>_predicate</string> </key> <key> <string>_predicate</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABE=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABQ=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -583,7 +689,7 @@ ...@@ -583,7 +689,7 @@
<item> <item>
<key> <string>_etag_func</string> </key> <key> <string>_etag_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABU=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -597,7 +703,7 @@ ...@@ -597,7 +703,7 @@
<item> <item>
<key> <string>_mtime_func</string> </key> <key> <string>_mtime_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABM=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABY=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -635,7 +741,7 @@ ...@@ -635,7 +741,7 @@
<item> <item>
<key> <string>_predicate</string> </key> <key> <string>_predicate</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABQ=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABc=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -688,7 +794,7 @@ ...@@ -688,7 +794,7 @@
<item> <item>
<key> <string>_etag_func</string> </key> <key> <string>_etag_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABU=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABg=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -702,7 +808,7 @@ ...@@ -702,7 +808,7 @@
<item> <item>
<key> <string>_mtime_func</string> </key> <key> <string>_mtime_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABY=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABk=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -740,7 +846,7 @@ ...@@ -740,7 +846,7 @@
<item> <item>
<key> <string>_predicate</string> </key> <key> <string>_predicate</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABc=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABo=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -793,7 +899,7 @@ ...@@ -793,7 +899,7 @@
<item> <item>
<key> <string>_etag_func</string> </key> <key> <string>_etag_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABg=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABs=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -807,7 +913,7 @@ ...@@ -807,7 +913,7 @@
<item> <item>
<key> <string>_mtime_func</string> </key> <key> <string>_mtime_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABk=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAABw=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -845,7 +951,7 @@ ...@@ -845,7 +951,7 @@
<item> <item>
<key> <string>_predicate</string> </key> <key> <string>_predicate</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABo=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAB0=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -898,7 +1004,7 @@ ...@@ -898,7 +1004,7 @@
<item> <item>
<key> <string>_etag_func</string> </key> <key> <string>_etag_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABs=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAB4=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -912,7 +1018,7 @@ ...@@ -912,7 +1018,7 @@
<item> <item>
<key> <string>_mtime_func</string> </key> <key> <string>_mtime_func</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAABw=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAB8=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -950,7 +1056,7 @@ ...@@ -950,7 +1056,7 @@
<item> <item>
<key> <string>_predicate</string> </key> <key> <string>_predicate</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAB0=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAACA=</string> </persistent>
</value> </value>
</item> </item>
<item> <item>
...@@ -1093,7 +1199,7 @@ ...@@ -1093,7 +1199,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>object/modified</string> </value> <value> <string>python: getattr(object, \'getModificationDate\', object.modified)()</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1106,7 +1212,7 @@ ...@@ -1106,7 +1212,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: member is None and (lambda x: x is not None and x.getCachingPolicy() == \'no-cache\')(object.getWebSectionValue())</string> </value> <value> <string>python: (lambda x: x is not None and x.getCachingPolicy() == \'must-revalidate\')(object.getWebSectionValue())</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1132,7 +1238,7 @@ ...@@ -1132,7 +1238,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: max(getattr(object, \'Base_getWebDocumentDrivenModificationDate\', object.modified)(), DateTime().earliestTime())</string> </value> <value> <string>object/modified</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1145,7 +1251,7 @@ ...@@ -1145,7 +1251,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: member is None and (lambda x: x is not None and x.getCachingPolicy() == \'one-day-max-modification-date\')(object.getWebSectionValue())</string> </value> <value> <string>python: member is None and (lambda x: x is not None and x.getCachingPolicy() == \'no-cache\')(object.getWebSectionValue())</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1171,7 +1277,7 @@ ...@@ -1171,7 +1277,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: max(getattr(object, \'Base_getWebDocumentDrivenModificationDate\', object.modified)(), DateTime().earliestTime() + (DateTime().hour() /24.0))</string> </value> <value> <string>python: max(getattr(object, \'Base_getWebDocumentDrivenModificationDate\', object.modified)(), DateTime().earliestTime())</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1184,7 +1290,7 @@ ...@@ -1184,7 +1290,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: member is None and (lambda x: x is not None and x.getCachingPolicy() == \'one-hour-max-modification-date\')(object.getWebSectionValue())</string> </value> <value> <string>python: member is None and (lambda x: x is not None and x.getCachingPolicy() == \'one-day-max-modification-date\')(object.getWebSectionValue())</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1210,7 +1316,7 @@ ...@@ -1210,7 +1316,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: getattr(object, \'getModificationDate\', object.modified)()</string> </value> <value> <string>python: max(getattr(object, \'Base_getWebDocumentDrivenModificationDate\', object.modified)(), DateTime().earliestTime() + (DateTime().hour() /24.0))</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1223,7 +1329,7 @@ ...@@ -1223,7 +1329,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: object.Base_isPublicConvertionResult() and (lambda x: x is not None and not (len(x.getAvailableLanguageSet()) == 1 or x.getStaticLanguageSelection()))(object.getWebSectionValue())</string> </value> <value> <string>python: member is None and (lambda x: x is not None and x.getCachingPolicy() == \'one-hour-max-modification-date\')(object.getWebSectionValue())</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1262,7 +1368,7 @@ ...@@ -1262,7 +1368,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: object.Base_isPublicConvertionResult() and (lambda x: x is not None and (len(x.getAvailableLanguageSet()) == 1 or x.getStaticLanguageSelection()))(object.getWebSectionValue())</string> </value> <value> <string>python: object.Base_isPublicConvertionResult() and (lambda x: x is not None and not (len(x.getAvailableLanguageSet()) == 1 or x.getStaticLanguageSelection()))(object.getWebSectionValue())</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1288,7 +1394,7 @@ ...@@ -1288,7 +1394,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: getattr(object, \'Base_getWebDocumentDrivenModificationDate\', object.modified)()</string> </value> <value> <string>python: getattr(object, \'getModificationDate\', object.modified)()</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1301,7 +1407,7 @@ ...@@ -1301,7 +1407,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>python: member is None and (lambda x: x is not None and not (len(x.getAvailableLanguageSet()) == 1 or x.getStaticLanguageSelection()))(object.getWebSectionValue())</string> </value> <value> <string>python: object.Base_isPublicConvertionResult() and (lambda x: x is not None and (len(x.getAvailableLanguageSet()) == 1 or x.getStaticLanguageSelection()))(object.getWebSectionValue())</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -1333,6 +1439,45 @@ ...@@ -1333,6 +1439,45 @@
</pickle> </pickle>
</record> </record>
<record id="29" aka="AAAAAAAAAB0="> <record id="29" aka="AAAAAAAAAB0=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>python: member is None and (lambda x: x is not None and not (len(x.getAvailableLanguageSet()) == 1 or x.getStaticLanguageSelection()))(object.getWebSectionValue())</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="30" aka="AAAAAAAAAB4=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="31" aka="AAAAAAAAAB8=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>python: getattr(object, \'Base_getWebDocumentDrivenModificationDate\', object.modified)()</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="32" aka="AAAAAAAAACA=">
<pickle> <pickle>
<global name="Expression" module="Products.CMFCore.Expression"/> <global name="Expression" module="Products.CMFCore.Expression"/>
</pickle> </pickle>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment