I wonder if you could help us in a question of interpretation of caching policies. There are two potential interpretations of the use of the documentmaxage, documentmaxstale and similar caching properties. These are:
Interpretation 1
DocumentMaxAge does not overwrite platform defaults for the document containing property change
These properties follow the normal scoping rules which mean that all fetches of a first document of the application will always follow the default fetch rules of the platform. If documentmaxage is set within this first document, then subsequent documents will follow the caching rules specified by documentmaxage assuming the documentmaxage properties remains in scope. However, the property will always be out of scope for the first document so subsequent fetches of the first document will always follow the platform default value for this property. In otherwords, the documentmaxage will not overwrite the caching settings for a document after it was already fetched, only subsequent fetches of related documents.
Example 1:
Assuming documentmaxage for platform is 1 minute)
Application root document: R (does not set documentmaxage)
Application first leaf doc: L1 (sets documentmaxage to 2 minutes)
Application second leaf doc: L2
L1 is fetched and cached under the platform default caching rule. R is fetched, cached under the platform default caching rule, and run. L1 is run (documentmaxage set). L2 is fetched and cached under the new documentmaxage caching rule.
New call starts at 90 seconds after first will fetch L1 and R but not L2.
Interpretation 2
DocumentMaxAge does overwrite platform defaults for document containing properties change
The use of documentmaxage specifies the rule for storing this document and subsequent documents in the cache. This means the first fetch of the first document will follow the platform default rule, with all later documents for that call session using the modified value. But subsequent fetches of the first document will follow the modified caching value.
Example 2:
Assuming documentmaxage for platform is 1 minute)
Application root document: R (does not set documentmaxage)
Application first leaf doc: L1 (sets documentmaxage to 2 minutes)
Application second leaf doc: L2
L1 is fetched and cached under the platform default caching rule. R is fetched, cached under the platform default caching rule, and run. L1 is run (documentmaxage set). L2 is fetched and cached under the new documentmaxage caching rule.
New call starts at 90 seconds after first call will fetch R (per 6.1.2.1) but not L1 or L2.
Which is the correct interpretation?
Regards
Wayne Phillips
Manager
SWS Engineering
Intervoice, Inc.
E-mail: wphillip@intervoice.com
Direct Line : +1 972 454 8658
Main Office: +1 972 454 8000
www.intervoice.com
This email and any files transmitted are intended for the addressee only - they are private and confidential. If you have received this mail in error please notify the sender and immediately delete the email. (c) 2002 Intervoice, Inc. All rights reserved. Registered office is: 17811 Waterview Parkway, Dallas, TX 75252, USA.