My preference is that we stick with the decision we made
in the November
F2F which recognized the
complexities of invalidation caching and
deferred
any specification of such until after 1.0. Our current model
is based on a well understood and time tested
caching model.
Invalidation, though
ultimately an important developers tools for
achieving optimal performance needs our time and energy to specify
a
complete and flexible solution. Our
current solution is satisfactory.
As cache
maintanence is controlled by the consumer, consumers are free
to provide the semantics you describe in this
change control and market
themselves as a better
solution without our specification saying
anything
about invalidation. Portlets running on systems without this
feature merely receive "stale" data/content --
something that is
inherent in caching
systems/portals/consumers anyway.
Some reasons for deferring:
We
should be concerned about implementability by the consumer. Though
some consumers will deal with the complexities of
implementing
invalidation based caching, we
shouldn't require all consumers to do so.
Such consumers, however, will likely find it easy/convenient
to
implement our current caching semantics.
Ultimately, work should be
done to allow consumers
to support caching levels. Adding
wording/function as you are suggesting to our current specification
prevents such behavior.
We should be concerned about extensibility in the future
to provide a
richer solution. Though, all or
nothing invalidation is both convenient
for the
developer and affords an easy specification, our experience
shows that this ultimately must be coupled with a
more flexible
invalidation model where the portlet
can explicitly control each piece
of content to be
invalidated. Though more work, [invalidation] caching
is about optimization and optimization in general
involves more work/a
deeper knowledge to the true
nature of interactions.
-Mike-
Rich Thompson wrote:
>Document: Spec
>Section:
6.2.1.2
>Page/Line: 39/10
>Requested by: Rich Thompson
>Old
text: [insert new paragraph]
>Proposed text:
Consumers invoking either performInteraction() or
>performBlockingInteraction() MUST treat any markup cached for
the
>equivalent MarkupParams (i.e. the
MarkupParms structure passed to the
>invocation
updated with any honored newMode or newWindowState requests and
>any returned navigationalState) as if the
expiry time had elapsed unless
>the response
includes a new CacheControl structure indicating the cached
>markup is still valid.
>
>Reasoning: I had promised last
Wednesday to post a proposal for how
>interaction processing impacts cached markup.
>
>----------------------------------------------------------------
>To subscribe or unsubscribe from this elist use the
subscription
>manager: <http://lists.oasis-open.org/ob/adm.pl>
>
>
----------------------------------------------------------------
To subscribe or unsubscribe from this elist use the
subscription
manager: <http://lists.oasis-open.org/ob/adm.pl>