Open ebruchez opened 11 years ago
How things work now:
detail-model.xpl
and view html-view.xpl
read-form.xpl
oxf:url-generator
fr-form-definition
for Summary pageunroll-form.xpl
components.xsl
epilogue.xpl
xforms-epilogue.xpl
oxf:xforms-to-xhtml
⇒ where static state caching takes placeCaching at the XForms level:
XFormsToSomething
Stage1CacheableState
(URIReferences
)Stage2CacheableState
(staticStateDigest
+ template
)XFormsStaticState
stored into separate XFormsStaticStateCache
, indexed by staticStateDigest
Here is what we expect:
XFormsToSomething
actual dependencies
Orbeon-For-Document-Id
or Orbeon-Form-Definition-Version
document
URL parameter.ETag
The mechanism must also work with the form version number headers:
Vary
headerETag
and If-None-Match
ETag
could be
form-version
can be provided as URL parameter to FR pageform-version
is ignored and overridden by version returned by persistence layer via orbeon-form-definition-version
(or 1
if not found)ETag
Last-Modified
and no Etag
versioning
capability?High-level algorithm proposal:
Orbeon-For-Document-Id
or Orbeon-Form-Definition-Version
header (vary)oxf:form-runner-persistence-client
oxf:xforms-to-xhtml
stays connected to its input pipeline as it is nowNext steps:
oxf:form-runner-persistence-client
document
URL parameter be removed?Following #3272, it would be really good to improve form loading. Requirements:
The ideas in the previous comments still appear sound. In addition, we might try to get rid of the pipeline entirely.
+1 following discussion today.
With a form created by a customer, we see about 1000 ms between the logging of the incoming request and the beginning of XForms processing.
Out of this we can see:
form.xhtml
Some thoughts: