OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsrp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [wsrp] Caching of resources


Hi Rich,
good start, but I've some questions:
- why don't we allow access to the nav state? I think encoding the 
current nav state of only this portlet in the URL does not hurt caching 
as the nav state cannot be changed by a gR call
- why don't we allow to have other resource URLs in the response of 
cachable resource markup?

Stefan

Rich Thompson wrote:
> 
> Here is the proposal I promised to draft:
> 
> 
> 
> Rich
> ------------------------------------------------------------------------
> 
> Next change
> 
> 
>       6.3.1 Caching of resources
> 
> For performance reasons the Consumer might prefer to cache resources 
> across a series of requests. The Producer passes information about the 
> cacheability of the resource representation in the cacheControl 
> structure returned in a MarkupContext structure. The Consumer can infer 
> from this information when it may cache the resource and when the cached 
> resource needs to be invalidated and updated by a new call to 
> *getResource*. All of the cache semantics described in [Section 6.2.1] 
> <#_MarkupCaching> applies to the caching of resources as well.
> 
> In addition to Consumer caching, both browser and web-based caching may 
> apply to the resource. Since resources can contain URLs which need to be 
> written using either the template or Consumer URL rewriting techniques 
> discussed in [Section 10.2] <#_URL_Considerations>, the URI used by the 
> browser to fetch the resource will likely contain state information 
> which virtually guarantees the resource will not be retrieved from the 
> cache on subsequent accesses. [Section 10.2.1.1.3.6] 
> <#_wsrp-cacheableResource> defines the wsrp-cacheableResource portlet 
> URL parameter for the purpose of increasing the hit ratio for the 
> browser and web caches of appropriate resources.
> 
> 
>             10.2.1.1.3.6 wsrp-cacheableResource
> 
> This boolean (default value is false) provides an indication to the 
> Consumer that it can limit the amount of state it places on the URI for 
> the resource such that the likelihood of a subsequent browser access 
> being served from a browser/web cache is increased. This portlet url 
> parameter can only be set to true if the resource contains no URIs 
> referring back to the portlet and if the resource, when served using the 
> *getResource* operation, does not require the Consumer to supply the 
> navigationalContext structure. When the wsrp-cacheableResource portlet 
> url parameter has a value of true, the Consumer SHOULD NOT include any 
> navigationalContext structure on a related invocation of the 
> *getResource* operation.
> 
> Note that this portlet url parameter only impacts Consumer URL rewriting 
> as the templates related to resource URIs have to allow for resources to 
> access the excluded state/functionality.
> 
> If both the wsrp-cacheableResource and wsrp-requiresRewrite portlet URL 
> parameters are set to true, the Consumer MUST parse the resource for the 
> purpose of rewriting namespace prefixing as per [Section 10.3] <#__Toc77>.
> 
> 
>       10.2.3 Extended BNF Description of URL formats
> 
> These definitions utilize the syntax defined in ISO/IEC 14977 ^[21] 
> <#_ftn21>
> 
> ConsumerURL = BeginToken (RenderURL | ActionURL | ResourceURL | 
> ExtensionURL) EndToken
> 
> BeginToken = "wsrp_rewrite?"
> 
> EndToken = "/wsrp_rewrite"
> 
> RenderURL = "wsrp-urlType=render" {("&" | "&amp;") (CommonPair | 
> RenderPair)}
> 
> ActionURL = "wsrp-urlType=blockingAction" {("&" | "&amp;") (CommonPair | 
> ActionPair)}
> 
> ResourceURL = "wsrp-urlType=resource" {("&" | "&amp;") (CommonPair | 
> ResourcePair)}
> 
> WSRPURLTypes = "render" | "blockingAction" | "resource"
> 
> ExtensionURL = "wsrp-urlType=" (Text - WSRPURLTypes) {("&" | "&amp;") 
> (ExtensionPair)}
> 
> CommonPair = CommonTextPair | CommonBooleanPair
> 
> CommonTextPair = CommonTextName "=" Text
> 
> CommonTextName = "wsrp-fragmentID" | "wsrp-extensions"
> 
> CommonBooleanPair = CommonBooleanName "=" BooleanValue
> 
> CommonBooleanName = "wsrp-secureURL"
> 
> RenderPair = RenderTextName "=" Text
> 
> RenderTextName = "wsrp-mode" | "wsrp-windowState" | 
> "wsrp-navigationalState" | "wsrp-navigationalValues"
> 
> ActionPair = ActionTextName "=" Text
> 
> ActionTextName = "wsrp-interactionState" | RenderTextName
> 
> ResourcePair = (ResourceTextName "=" Text) | (ResourceBooleanName "=" 
> BooleanValue)
> 
> ResourceTextName = "wsrp-url" | "wsrp-resourceID" | "wsrp-resourceState"
> 
> ResourceBooleanName = "wsrp-requiresRewrite" | "wsrp-preferOperation" | 
> wsrp-cacheableResource"
> 
> ExtensionPair = Text "=" Text
> 
> Text = { "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" 
> | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" 
> | "x" | "y" | "z" | "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" 
> | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" 
> | "V" | "W" | "X" | "Y" | "Z" | "0" | "1" | "2" | "3" | "4" | "5" | "6" 
> | "7" | "8" | "9" | "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" 
> | "%" }
> 
> BooleanValue = (("true" | "1") | ("false" | "0"))
> 
>  
> 
> ProducerURLTemplate = {{Text} {ReplacementToken}}
> 
> ReplacementToken = "{" CommonTextName | RenderTextName | ActionTextName 
> | ResourceTextName | CommonBooleanName | ResourceBooleanName | 
> ParameterName "}"
> 
> ParameterName = "wsrp-urlType" | "wsrp-portletHandle" | 
> "wsrp-userContextKey" | "wsrp-portletInstanceKey" | "wsrp-sessionID"
> 




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]