Author: buildbot
Date: Sun Feb 4 21:19:48 2018
New Revision: 1024831
Log:
Production update by buildbot for tapestry
Modified:
websites/production/tapestry/content/cache/main.pageCache
websites/production/tapestry/content/configuration.html
Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/tapestry/content/configuration.html
==============================================================================
--- websites/production/tapestry/content/configuration.html (original)
+++ websites/production/tapestry/content/configuration.html Sun Feb 4 21:19:48
2018
@@ -147,11 +147,11 @@
<h1 id="Configuration-ConfiguringTapestry">Configuring Tapestry</h1><p>This
page discusses all the ways in which Tapestry can be configured. Tapestry
applications are configured almost entirely using Java, with very little XML at
all.</p><p><strong>Contents</strong></p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1517700125689 {padding: 0px;}
-div.rbtoc1517700125689 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1517700125689 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1517779169668 {padding: 0px;}
+div.rbtoc1517779169668 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1517779169668 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1517700125689">
+/*]]>*/</style></p><div class="toc-macro rbtoc1517779169668">
<ul class="toc-indentation"><li><a
href="#Configuration-XMLconfiguration(web.xml)">XML configuration
(web.xml)</a></li><li><a
href="#Configuration-YourApplication'sModuleClass">Your Application's Module
Class</a></li><li><a
href="#Configuration-ConfigurationSymbolNames">Configuration Symbol
Names</a></li><li><a
href="#Configuration-SettingComponentParameterDefaults">Setting Component
Parameter Defaults</a></li><li><a
href="#Configuration-ConfiguringIgnoredPaths">Configuring Ignored
Paths</a></li><li><a
href="#Configuration-ConfiguringContentTypeMapping">Configuring Content Type
Mapping</a></li><li><a href="#Configuration-SettingExecutionModes">Setting
Execution Modes</a></li></ul>
</div><h2 id="Configuration-XMLconfiguration(web.xml)">XML configuration
(web.xml)</h2><p>Tapestry runs on top of the standard Java Servlet API. To the
servlet container, such as Tomcat, Tapestry appears as a <em>servlet
filter</em>. This gives Tapestry great flexibility in matching URLs without
requiring lots of XML configuration.</p><p>Although most configuration is done
with Java, a small but necessary amount of configuration occurs inside the
servlet deployment descriptor, WEB-INF/web.xml. Most of the configuration is
boilerplate, nearly the same for all applications.</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>web.xml (partial)</b></div><div
class="codeContent panelContent pdl">
<pre class="brush: xml; gutter: false; theme: Default"
style="font-size:12px;"><!DOCTYPE web-app
@@ -178,7 +178,7 @@ div.rbtoc1517700125689 li {margin-left:
<p>The Tapestry filter matches all the requests that apply to Tapestry, and
passes the rest off to the servlet container. In situations where there would
be a naming conflict, actual files inside the web application take precedence
over Tapestry pages.</p>
-<p>Tapestry recognizes the <em>root URL</em>, where the servlet path is simply
"/", and renders the application page "Index", if it exists.</p></div>The
application-specific part, the <code>tapestry.app-package</code> context
parameter, provides your application's root package name. Tapestry uses this to
locate your page and component classes. It expects page classes in the
<code>pages</code> sub-package and components in the <code>components</code>
sub-package. In the example above, page classes will be stored in the
<code>org.example.myapp.pages</code> package (or in sub-packages below).
Likewise, component classes will be stored in the
<code>org.example.myapp.components</code> package.<p>By convention, the filter
name (<code>filter-name</code>) is almost always "app", but you can use any
name you want. Tapestry uses this to determine what <em>module class</em> name
to look for (see below).</p><h2
id="Configuration-YourApplication'sModuleClass">Your Application's Module
Class</h2>
<p>Main Article: <a href="configuration.html">Configuration</a></p><p>Most
other configuration occurs inside your application's module class. The
application module class will often define new services, provide overrides of
services, or make contributions to service configurations.</p><p>Tapestry looks
for your application module class in the services package (under the root
package) of your application. It capitalizes the <filter-name> and
appends "Module". In the previous example, because the filter name was "app"
and the application's root package name is "org.example.myapp", the module
class would be org.example.myapp.services.AppModule.</p><p>If such a class
exists, it is added to the IoC Registry. It is not an error for your
application to not have a module class, though any non-trivial application will
have one.</p><p>Your application module class (usually AppModule.java) will
typically override some of Tapestry's default, or "factory", symbols, by
contributing overrid
es to the ApplicationDefaults service configuration. For example:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width:
1px;"><b>AppModule.java</b></div><div class="codeContent panelContent pdl">
+<p>Tapestry recognizes the <em>root URL</em>, where the servlet path is simply
"/", and renders the application page "Index", if it exists.</p></div>The
application-specific part, the <code>tapestry.app-package</code> context
parameter, provides your application's root package name. Tapestry uses this to
locate your page and component classes. It expects page classes in the
<code>pages</code> sub-package and components in the <code>components</code>
sub-package. In the example above, page classes will be stored in the
<code>org.example.myapp.pages</code> package (or in sub-packages below).
Likewise, component classes will be stored in the
<code>org.example.myapp.components</code> package.<p>By convention, the filter
name (<code>filter-name</code>) is almost always "app", but you can use any
name you want. Tapestry uses this to determine what <em>module class</em> name
to look for (see below).</p><h2
id="Configuration-YourApplication'sModuleClass">Your Application's Module
Class</h2>
<p>Main Article: <a href="tapestry-ioc-configuration.html">Tapestry IoC
Configuration</a></p><p>Most other configuration occurs inside your
application's module class. The application module class will often define new
services, provide overrides of services, or make contributions to service
configurations.</p><p>Tapestry looks for your application module class in the
services package (under the root package) of your application. It capitalizes
the <filter-name> and appends "Module". In the previous example, because
the filter name was "app" and the application's root package name is
"org.example.myapp", the module class would be
org.example.myapp.services.AppModule.</p><p>If such a class exists, it is added
to the IoC Registry. It is not an error for your application to not have a
module class, though any non-trivial application will have one.</p><p>Your
application module class (usually AppModule.java) will typically override some
of Tapestry's default, or "factory", symbol
s, by contributing overrides to the ApplicationDefaults service configuration.
For example:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeHeader panelHeader pdl" style="border-bottom-width:
1px;"><b>AppModule.java</b></div><div class="codeContent panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">public class AppModule
{
public static void
contributeApplicationDefaults(MappedConfiguration<String,String>
configuration)
@@ -188,7 +188,7 @@ div.rbtoc1517700125689 li {margin-left:
}
}
</pre>
-</div></div><h2 id="Configuration-ConfigurationSymbolNames">Configuration
Symbol Names</h2><p>Main Article: <a
href="configuration.html">Configuration</a></p><p>Many of Tapestry's built-in
services (some of which are not even public) are configured via symbols. These
symbols can be overridden by contributing to the ApplicationDefaults service
configuration, or by placing a <context-param> element into the
application's web.xml, or on the command line by defining JVM System Properties
with the -D command line option.</p><p>These symbols are always defined in
terms of strings, and those strings are coerced to the appropriate type (a
number, a boolean, etc.). Of special note are <em>time intervals</em>, which
are specified in a <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/TimeInterval.html">particular
format</a>.</p><p>Most of these symbols have a constant defined in the <a
class="external-link" href="http://tapestry.a
pache.org/current/apidocs/org/apache/tapestry5/SymbolConstants.html">SymbolConstants</a>
class, while others are in the <a
href="https://cwiki.apache.org/confluence/tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/IOCSymbols.html">IOCSymbols</a>
class. Those are noted in parentheses below. Use the symbol name (tapestry.*)
for JVM System Properties with the -D option, and use the constant (in
parentheses) from within your Java classes (e.g. AppModule.java).</p><h3
id="Configuration-tapestry.app-catalog(SymbolConstants.APPLICATION_CATALOG)">tapestry.app-catalog
(SymbolConstants.APPLICATION_CATALOG)</h3><p>The location of the global
application message catalog, the default is
context:WEB-INF/<em>app-name</em>.properties.</p><h3
id="Configuration-tapestry.application-version(SymbolConstants.APPLICATION_VERSION)">tapestry.application-version
(SymbolConstants.APPLICATION_VERSION)</h3><p>The version of the application,
which is incorporated into URLs for context and classpath
assets. Assets may be <a href="configuration.html">compressed</a>, and will
have far-future expiration headers; they will be aggressively cached by the
client web browser. You should change the application version on each new
deployment of the application (that is, any time assets in the context change),
to force clients to re-download changed versions of files. If you do not
specify an application version, a <em>random</em> one will be assigned on every
deployment (which is good for development but very bad for production).</p><h3
id="Configuration-tapestry.application-folder(SymbolConstants.APPLICATION_FOLDER)">tapestry.application-folder
(SymbolConstants.APPLICATION_FOLDER)</h3>
+</div></div><h2 id="Configuration-ConfigurationSymbolNames">Configuration
Symbol Names</h2><p>Main Article: <a
href="symbols.html">Symbols</a></p><p>Many of Tapestry's built-in services
(some of which are not even public) are configured via symbols. These symbols
can be overridden by contributing to the ApplicationDefaults service
configuration, or by placing a <context-param> element into the
application's web.xml, or on the command line by defining JVM System Properties
with the -D command line option.</p><p>These symbols are always defined in
terms of strings, and those strings are coerced to the appropriate type (a
number, a boolean, etc.). Of special note are <em>time intervals</em>, which
are specified in a <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/TimeInterval.html">particular
format</a>.</p><p>Most of these symbols have a constant defined in the <a
class="external-link" href="http://tapestry.apache.org/cu
rrent/apidocs/org/apache/tapestry5/SymbolConstants.html">SymbolConstants</a>
class, while others are in the <a
href="https://cwiki.apache.org/confluence/tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/IOCSymbols.html">IOCSymbols</a>
class. Those are noted in parentheses below. Use the symbol name (tapestry.*)
for JVM System Properties with the -D option, and use the constant (in
parentheses) from within your Java classes (e.g. AppModule.java).</p><h3
id="Configuration-tapestry.app-catalog(SymbolConstants.APPLICATION_CATALOG)">tapestry.app-catalog
(SymbolConstants.APPLICATION_CATALOG)</h3><p>The location of the global
application message catalog, the default is
context:WEB-INF/<em>app-name</em>.properties.</p><h3
id="Configuration-tapestry.application-version(SymbolConstants.APPLICATION_VERSION)">tapestry.application-version
(SymbolConstants.APPLICATION_VERSION)</h3><p>The version of the application,
which is incorporated into URLs for context and classpath assets. Asse
ts may be <a href="configuration.html">compressed</a>, and will have
far-future expiration headers; they will be aggressively cached by the client
web browser. You should change the application version on each new deployment
of the application (that is, any time assets in the context change), to force
clients to re-download changed versions of files. If you do not specify an
application version, a <em>random</em> one will be assigned on every deployment
(which is good for development but very bad for production).</p><h3
id="Configuration-tapestry.application-folder(SymbolConstants.APPLICATION_FOLDER)">tapestry.application-folder
(SymbolConstants.APPLICATION_FOLDER)</h3>
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
@@ -213,7 +213,7 @@ div.rbtoc1517700125689 li {margin-left:
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.4</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
<div class="error"><span class="error">Unknown macro: {div}</span>
-<p> </p></div><p>The root asset path for Twitter Bootstrap; if your
application uses a modified version of Bootstrap, you can override this symbol
to have Tapestry automatically use your version. The value should be a path to
a folder (under "classpath:" or "context:") and should not include a trailing
slash.</p><h3
id="Configuration-tapestry.charset(SymbolConstants.CHARSET)">tapestry.charset
(SymbolConstants.CHARSET)</h3><p>The character encoding used when generating
output (or parsing input). The default is "UTF-8". See <a
href="configuration.html">Configuration</a> for more details.</p><h3
id="Configuration-tapestry.clustered-sessions(SymbolConstants.CLUSTERED_SESSIONS)">tapestry.clustered-sessions
(SymbolConstants.CLUSTERED_SESSIONS)</h3>
+<p> </p></div><p>The root asset path for Twitter Bootstrap; if your
application uses a modified version of Bootstrap, you can override this symbol
to have Tapestry automatically use your version. The value should be a path to
a folder (under "classpath:" or "context:") and should not include a trailing
slash.</p><h3
id="Configuration-tapestry.charset(SymbolConstants.CHARSET)">tapestry.charset
(SymbolConstants.CHARSET)</h3><p>The character encoding used when generating
output (or parsing input). The default is "UTF-8". See <a
href="content-type-and-markup.html">Content Type and Markup</a> for more
details.</p><h3
id="Configuration-tapestry.clustered-sessions(SymbolConstants.CLUSTERED_SESSIONS)">tapestry.clustered-sessions
(SymbolConstants.CLUSTERED_SESSIONS)</h3>
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
@@ -233,7 +233,7 @@ div.rbtoc1517700125689 li {margin-left:
<div class="confluence-information-macro
confluence-information-macro-warning"><p class="title">Deprecated since
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-error
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
<div class="error"><span class="error">Unknown macro: {div}</span>
-<p> </p></div><p>When enabled, Tapestry will check that component ids
referenced in event handler method names (or the @OnEvent annotation) match up
against components in the container's template. The default is true, but
applications upgraded form Tapestry 5.2 may want to set this to false, to keep
pages from failing due to the presence of such dead code.</p><h3
id="Configuration-tapestry.component-render-tracing-enabled(SymbolConstants.COMPONENT_RENDER_TRACING_ENABLED)">tapestry.component-render-tracing-enabled
(SymbolConstants.COMPONENT_RENDER_TRACING_ENABLED)</h3><p>Starting with
version 5.3, if "true" then Tapestry will emit rendering comments for all
requests; these are comments (such as <!--BEGIN Index:loop
(context:Index.tml, line 15)-->) that can assist you in debugging markup
output on the client-side. This will significantly increase the size of the
rendered markup, but can be very helpful with complex layouts to determine
which component was responsible for wh
ich portion of the rendered page. (To turn on rendering comments only for a
particular request, add the query parameter t:component-trace=true to the
URL.)</p><h3
id="Configuration-tapestry.compress-whitespace(SymbolConstants.COMPRESS_WHITESPACE)">tapestry.compress-whitespace
(SymbolConstants.COMPRESS_WHITESPACE)</h3><p>A flag (true or false). When true
(the default) whitespace in component templates is compressed by default (this
can be fine-tuned using the standard xml:space attribute on an element in the
template). When this flag is false, then whitespace is retained by default (but
can still be overridden). See <a href="configuration.html">Configuration</a>
for details.</p><h3
id="Configuration-tapestry.module-path-prefix(SymbolConstants.MODULE_PATH_PREFIX)">tapestry.module-path-prefix (SymbolConstants.MODULE_PATH_PREFIX)</h3>
+<p> </p></div><p>When enabled, Tapestry will check that component ids
referenced in event handler method names (or the @OnEvent annotation) match up
against components in the container's template. The default is true, but
applications upgraded form Tapestry 5.2 may want to set this to false, to keep
pages from failing due to the presence of such dead code.</p><h3
id="Configuration-tapestry.component-render-tracing-enabled(SymbolConstants.COMPONENT_RENDER_TRACING_ENABLED)">tapestry.component-render-tracing-enabled
(SymbolConstants.COMPONENT_RENDER_TRACING_ENABLED)</h3><p>Starting with
version 5.3, if "true" then Tapestry will emit rendering comments for all
requests; these are comments (such as <!--BEGIN Index:loop
(context:Index.tml, line 15)-->) that can assist you in debugging markup
output on the client-side. This will significantly increase the size of the
rendered markup, but can be very helpful with complex layouts to determine
which component was responsible for wh
ich portion of the rendered page. (To turn on rendering comments only for a
particular request, add the query parameter t:component-trace=true to the
URL.)</p><h3
id="Configuration-tapestry.compress-whitespace(SymbolConstants.COMPRESS_WHITESPACE)">tapestry.compress-whitespace
(SymbolConstants.COMPRESS_WHITESPACE)</h3><p>A flag (true or false). When true
(the default) whitespace in component templates is compressed by default (this
can be fine-tuned using the standard xml:space attribute on an element in the
template). When this flag is false, then whitespace is retained by default (but
can still be overridden). See <a
href="component-templates.html">Component Templates</a> for details.</p><h3
id="Configuration-tapestry.module-path-prefix(SymbolConstants.MODULE_PATH_PREFIX)">tapestry.module-path-prefix (SymbolConstants.MODULE_PATH_PREFIX)</h3>
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.4</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
@@ -263,12 +263,12 @@ div.rbtoc1517700125689 li {margin-left:
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.3.6</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
<div class="error"><span class="error">Unknown macro: {div}</span>
-<p> </p></div><p>If "true", then resources (individually or when
aggregated into stacks) will be minimized via the ResourceMinimizer service. If
"false", then minification is disabled. The default is "true" in production
mode, "false" otherwise.</p><p>Note that Tapestry's default implementation of
ResourceMinimizer does nothing; minification is provided by add-on libraries.
See <a href="configuration.html">Configuration</a> for details.</p><h3
id="Configuration-tapestry.encode-locale-into-path(SymbolConstants.ENCODE_LOCALE_INTO_PATH)">tapestry.encode-locale-into-path
(SymbolConstants.ENCODE_LOCALE_INTO_PATH)</h3><p>If "true" (the default), then
the <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/PersistentLocale.html">PersistentLocale</a>
will be encoded into URLs by the ComponentEventLinkEncoder service. If
overridden to "false" this does not occur, but you should provide a
LinkCreationListener2 (registered with the Lin
kCreationHub) in order to add the locale as a query parameter (or provide some
alternate means of persisting the locale between requests). See <a
href="configuration.html">Configuration</a> for more details on
localization.</p><h3
id="Configuration-tapestry.exception-report-page(SymbolConstants.EXCEPTION_REPORT_PAGE)">tapestry.exception-report-page
(SymbolConstants.EXCEPTION_REPORT_PAGE)</h3><p>The name of the page used to
report exceptions. This defaults to "ExceptionReport", a page that Tapestry
provides. See <a href="configuration.html">Configuration</a> for
details.</p><h3
id="Configuration-tapestry.exception-reports-dir(SymbolConstants.EXCEPTION_REPORTS_DIR)">tapestry.exception-reports-dir
(SymbolConstants.EXCEPTION_REPORTS_DIR)</h3><p>
+<p> </p></div><p>If "true", then resources (individually or when
aggregated into stacks) will be minimized via the ResourceMinimizer service. If
"false", then minification is disabled. The default is "true" in production
mode, "false" otherwise.</p><p>Note that Tapestry's default implementation of
ResourceMinimizer does nothing; minification is provided by add-on libraries.
See <a href="assets.html">Assets</a> for details.</p><h3
id="Configuration-tapestry.encode-locale-into-path(SymbolConstants.ENCODE_LOCALE_INTO_PATH)">tapestry.encode-locale-into-path
(SymbolConstants.ENCODE_LOCALE_INTO_PATH)</h3><p>If "true" (the default), then
the <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/PersistentLocale.html">PersistentLocale</a>
will be encoded into URLs by the ComponentEventLinkEncoder service. If
overridden to "false" this does not occur, but you should provide a
LinkCreationListener2 (registered with the LinkCreationHub)
in order to add the locale as a query parameter (or provide some alternate
means of persisting the locale between requests). See <a
href="localization.html">Localization</a> for more details on
localization.</p><h3
id="Configuration-tapestry.exception-report-page(SymbolConstants.EXCEPTION_REPORT_PAGE)">tapestry.exception-report-page
(SymbolConstants.EXCEPTION_REPORT_PAGE)</h3><p>The name of the page used to
report exceptions. This defaults to "ExceptionReport", a page that Tapestry
provides. See <a href="overriding-exception-reporting.html">Overriding
Exception Reporting</a> for details.</p><h3
id="Configuration-tapestry.exception-reports-dir(SymbolConstants.EXCEPTION_REPORTS_DIR)">tapestry.exception-reports-dir
(SymbolConstants.EXCEPTION_REPORTS_DIR)</h3><p>
</p><div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.4</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
<div class="error"><span class="error">Unknown macro: {div}</span>
-<p> </p></div>The root directory where Tapestry's built-in
OperationTracker will create dated folders into which it writes exception
report files. This is <code>build/exceptions</code> by default but should be
overridden for production. See the related
<code>tapestry.restrictive-environment</code> symbol below.<h3
id="Configuration-tapestry.execution-mode(SymbolConstants.EXECUTION_MODE)">tapestry.execution-mode 
(SymbolConstants.EXECUTION_MODE)</h3><p>The execution mode. See <a
href="configuration.html">Setting Execution Modes</a> below.</p><h3
id="Configuration-tapestry.file-check-interval(SymbolConstants.FILE_CHECK_INTERVAL)">tapestry.file-check-interval
(SymbolConstants.FILE_CHECK_INTERVAL)</h3><p>Time interval between file system
checks. During a file system check, only a single thread is active (all others
are blocked) and any files loaded are checked for changes (this is part of
Tapestry's <a href="configuration.html">Configuration</a>
mechanism).</p><p>The default
is "1 s" (one second; see <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/TimeInterval.html">Time
Interval Formats</a>), and is usually overridden with a higher value in
production (say, between one and five minutes).</p><h3
id="Configuration-tapestry.file-check-update-timeout(SymbolConstants.FILE_CHECK_UPDATE_TIMEOUT)">tapestry.file-check-update-timeout
(SymbolConstants.FILE_CHECK_UPDATE_TIMEOUT)</h3><p>Time interval that Tapestry
will wait to obtain the exclusive lock needed for a file check. If the
exclusive lock can't be obtained in that amount of time, the request will
proceed normally (without the check), but each successive request will attempt
to get the lock and perform the check until successful.</p><p>The default is
"50 ms" (50 milliseconds; see <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/TimeInterval.html">Time
Interval Formats</a>).</p><h3 id="Configura
tion-tapestry.force-absolute-uris(SymbolConstants.FORCE_ABSOLUTE_URIS)">tapestry.force-absolute-uris
(SymbolConstants.<span>FORCE_ABSOLUTE_URIS</span>)</h3>
+<p> </p></div>The root directory where Tapestry's built-in
OperationTracker will create dated folders into which it writes exception
report files. This is <code>build/exceptions</code> by default but should be
overridden for production. See the related
<code>tapestry.restrictive-environment</code> symbol below.<h3
id="Configuration-tapestry.execution-mode(SymbolConstants.EXECUTION_MODE)">tapestry.execution-mode 
(SymbolConstants.EXECUTION_MODE)</h3><p>The execution mode. See <a
href="configuration.html">Setting Execution Modes</a> below.</p><h3
id="Configuration-tapestry.file-check-interval(SymbolConstants.FILE_CHECK_INTERVAL)">tapestry.file-check-interval
(SymbolConstants.FILE_CHECK_INTERVAL)</h3><p>Time interval between file system
checks. During a file system check, only a single thread is active (all others
are blocked) and any files loaded are checked for changes (this is part of
Tapestry's <a href="class-reloading.html">Class Reloading</a>
mechanism).</p><p>Th
e default is "1 s" (one second; see <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/TimeInterval.html">Time
Interval Formats</a>), and is usually overridden with a higher value in
production (say, between one and five minutes).</p><h3
id="Configuration-tapestry.file-check-update-timeout(SymbolConstants.FILE_CHECK_UPDATE_TIMEOUT)">tapestry.file-check-update-timeout
(SymbolConstants.FILE_CHECK_UPDATE_TIMEOUT)</h3><p>Time interval that Tapestry
will wait to obtain the exclusive lock needed for a file check. If the
exclusive lock can't be obtained in that amount of time, the request will
proceed normally (without the check), but each successive request will attempt
to get the lock and perform the check until successful.</p><p>The default is
"50 ms" (50 milliseconds; see <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/TimeInterval.html">Time
Interval Formats</a>).</p><h3 id="
Configuration-tapestry.force-absolute-uris(SymbolConstants.FORCE_ABSOLUTE_URIS)">tapestry.force-absolute-uris
(SymbolConstants.<span>FORCE_ABSOLUTE_URIS</span>)</h3>
<div class="confluence-information-macro
confluence-information-macro-warning"><p class="title">Deprecated since
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-error
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
@@ -293,7 +293,7 @@ div.rbtoc1517700125689 li {margin-left:
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.3.6</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
<div class="error"><span class="error">Unknown macro: {div}</span>
-<p> </p></div><p>The plaintext phrase used to set the key for <a
class="external-link" href="http://en.wikipedia.org/wiki/HMAC"
rel="nofollow">HMAC</a> securing of serialized object data. The default is
blank, which causes a runtime alert and console error. You should set this to a
reasonably unique, private value, and ensure (in a cluster) that all servers
use the same value – typically by making a contribution in your
applications module class (normally AppModule.java). See <a
href="configuration.html">Configuration</a> for details.</p><h3
id="Configuration-tapestry.include-core-stack(SymbolConstants.INCLUDE_CORE_STACK)">tapestry.include-core-stack
(SymbolConstants.INCLUDE_CORE_STACK)</h3>
+<p> </p></div><p>The plaintext phrase used to set the key for <a
class="external-link" href="http://en.wikipedia.org/wiki/HMAC"
rel="nofollow">HMAC</a> securing of serialized object data. The default is
blank, which causes a runtime alert and console error. You should set this to a
reasonably unique, private value, and ensure (in a cluster) that all servers
use the same value – typically by making a contribution in your
applications module class (normally AppModule.java). See <a
href="security.html">Security</a> for details.</p><h3
id="Configuration-tapestry.include-core-stack(SymbolConstants.INCLUDE_CORE_STACK)">tapestry.include-core-stack
(SymbolConstants.INCLUDE_CORE_STACK)</h3>
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.4</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
@@ -303,13 +303,13 @@ div.rbtoc1517700125689 li {margin-left:
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.4</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
<div class="error"><span class="error">Unknown macro: {div}</span>
-<p> </p></div><p>Tapestry relies on an underlying client-side JavaScript
infrastructure framework to handle DOM manipulation, event handling, and Ajax
requests. Through Tapestry 5.3, the foundation was <a class="external-link"
href="http://http//prototypejs.org/" rel="nofollow">Prototype</a>. In 5.4,
support for <a class="external-link" href="http://jquery.org/"
rel="nofollow">jQuery</a> has been added, and it is possible to add others.
This symbol defines a value that is used to select a resource that is provided
to the ModuleManager service as a JavaScriptModuleConfiguration to provide a
specific implementation of the <code>t5/core/dom</code> module. Tapestry 5.4
directly supports "prototype" or "jquery". To support other foundation
frameworks, override this symbol value and supply your own module
configuration.</p><p>In Tapestry 5.4, this defaults to "prototype" for
compatibility with 5.3. This will likely change in 5.5 to default to "jquery".
At some point in the future,
Prototype support may no longer be present.</p><h3
id="Configuration-tapestry.lenient-date-format(SymbolConstants.LENIENT_DATE_FORMAT)">tapestry.lenient-date-format
(SymbolConstants.LENIENT_DATE_FORMAT)</h3>
+<p> </p></div><p>Tapestry relies on an underlying client-side JavaScript
infrastructure framework to handle DOM manipulation, event handling, and Ajax
requests. Prior to Tapestry 5.4, the foundation was <a class="external-link"
href="http://http//prototypejs.org/" rel="nofollow">Prototype</a>. In 5.4 and
later, support for <a class="external-link" href="http://jquery.org/"
rel="nofollow">jQuery</a> has been added, and it is possible to add others.
This symbol defines a value that is used to select a resource that is provided
to the ModuleManager service as a JavaScriptModuleConfiguration to provide a
specific implementation of the <code>t5/core/dom</code> module. Tapestry 5.4
directly supports "prototype" or "jquery". To support other foundation
frameworks, override this symbol value and supply your own module
configuration.</p><p>In Tapestry 5.4, this defaults to "prototype" for
compatibility with 5.3. This will likely change in 5.5 to default to "jquery".
At some point in t
he future, Prototype support may no longer be present.</p><h3
id="Configuration-tapestry.lenient-date-format(SymbolConstants.LENIENT_DATE_FORMAT)">tapestry.lenient-date-format
(SymbolConstants.LENIENT_DATE_FORMAT)</h3>
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.4</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
<div class="error"><span class="error">Unknown macro: {div}</span>
<p>When set to true, the DateField component will be lenient about date
calculations, for example allowing a January 32 date as input and automatically
converting it to February 1. When false (the default), only valid dates may be
entered.</p>
-</div><h3
id="Configuration-tapestry.min-gzip-size(SymbolConstants.MIN_GZIP_SIZE)">tapestry.min-gzip-size
(SymbolConstants.MIN_GZIP_SIZE)</h3><p>The minimum stream size necessary for
Tapestry to use GZIP compression on the response stream. See <a
href="configuration.html">Configuration</a> for more details.</p><h3
id="Configuration-tapestry.omit-generator-meta(SymbolConstants.OMIT_GENERATOR_META)">tapestry.omit-generator-meta
(SymbolConstants.OMIT_GENERATOR_META)</h3><p>If "true", then the <meta>
tag that Tapestry normally writes into the <head>, identifying the
Tapestry version, will be omitted. Use this when you do not wish to advertise
your application's use of Tapestry.</p><h3
id="Configuration-tapestry.page-pool.active-window">tapestry.page-pool.active-window</h3>
+</div><h3
id="Configuration-tapestry.min-gzip-size(SymbolConstants.MIN_GZIP_SIZE)">tapestry.min-gzip-size
(SymbolConstants.MIN_GZIP_SIZE)</h3><p>The minimum stream size necessary for
Tapestry to use GZIP compression on the response stream. See <a
href="response-compression.html">Response Compression</a> for more
details.</p><h3
id="Configuration-tapestry.omit-generator-meta(SymbolConstants.OMIT_GENERATOR_META)">tapestry.omit-generator-meta
(SymbolConstants.OMIT_GENERATOR_META)</h3><p>If "true", then the <meta>
tag that Tapestry normally writes into the <head>, identifying the
Tapestry version, will be omitted. Use this when you do not wish to advertise
your application's use of Tapestry.</p><h3
id="Configuration-tapestry.page-pool.active-window">tapestry.page-pool.active-window</h3>
<div class="confluence-information-macro
confluence-information-macro-warning"><p class="title">Deprecated since
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-error
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
@@ -339,7 +339,7 @@ div.rbtoc1517700125689 li {margin-left:
</p><div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.4</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
<div class="error"><span class="error">Unknown macro: {div}</span>
-<p> </p></div>A flag (true or false) that, if true, changes some default
Tapestry behavior to make it work better in restrictive environments such
as <a href="configuration.html">Configuration</a> (GAE). Specifically, if
true, then OperationsTracker writes its exception report files into a single
folder (specified by the tapestry.exception-reports-dir symbol, above) rather
than creating dated sub-folders under that path, and ResourceTransformerFactory
avoids creating a cache folder for resources.<h3
id="Configuration-tapestry.secure-enabled(SymbolConstants.SECURE_ENABLED)">tapestry.secure-enabled
(SymbolConstants.SECURE_ENABLED)</h3><p>If true, then @<a
class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Secure.html">Secure</a>
annotations are honored; if false, no security checks or redirects take place.
This defaults to tapestry.production-mode, meaning that in development mode it
will (by default) be disabled. See <a
href="configuration.html">Configuration</a> for details.</p><h3
id="Configuration-tapestry.secure-page(MetaDataConstants.SECURE_PAGE)">tapestry.secure-page
(MetaDataConstants.SECURE_PAGE)</h3><p>If true, then the page may only be
accessed via HTTPS. The @<a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Secure.html">Secure</a>
annotation will set this value to true. This symbol is the default for all
pages; set it to "true" to force the entire application to be secure. See <a
href="configuration.html">Configuration</a> for details.</p><h3
id="Configuration-tapestry.service-reloading-enabled">tapestry.service-reloading-enabled</h3>
+<p> </p></div>A flag (true or false) that, if true, changes some default
Tapestry behavior to make it work better in restrictive environments such
as <a href="google-app-engine.html">Google App Engine</a> (GAE).
Specifically, if true, then OperationsTracker writes its exception report files
into a single folder (specified by the tapestry.exception-reports-dir symbol,
above) rather than creating dated sub-folders under that path, and
ResourceTransformerFactory avoids creating a cache folder for resources.<h3
id="Configuration-tapestry.secure-enabled(SymbolConstants.SECURE_ENABLED)">tapestry.secure-enabled
(SymbolConstants.SECURE_ENABLED)</h3><p>If true, then @<a
class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Secure.html">Secure</a>
annotations are honored; if false, no security checks or redirects take place.
This defaults to tapestry.production-mode, meaning that in development mode it
will (by default) be disabled
. See <a href="https.html">HTTPS</a> for details.</p><h3
id="Configuration-tapestry.secure-page(MetaDataConstants.SECURE_PAGE)">tapestry.secure-page
(MetaDataConstants.SECURE_PAGE)</h3><p>If true, then the page may only be
accessed via HTTPS. The @<a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Secure.html">Secure</a>
annotation will set this value to true. This symbol is the default for all
pages; set it to "true" to force the entire application to be secure.
See <a href="https.html">HTTPS</a> for details.</p><h3
id="Configuration-tapestry.service-reloading-enabled">tapestry.service-reloading-enabled</h3>
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
@@ -347,7 +347,7 @@ div.rbtoc1517700125689 li {margin-left:
<p> </p></div><p>If true (the default), then Tapestry IoC will attempt to
reload service implementations when they change. This only applies to classes
that Tapestry IoC instantiates itself, and have a known service interface (the
container creates a proxy that, internally, can reload the implementation).
Service reloading only works when the underlying class files are on the
filesystem ... it is intended for development, not as an option in
production.</p><p>This must be specified as a JVM system property. <em>You may
not set it in your module class.</em></p><h3
id="Configuration-tapestry.scriptaculous(SymbolConstants.SCRIPTACULOUS)">tapestry.scriptaculous
(SymbolConstants.SCRIPTACULOUS)</h3>
<div class="error"><span class="error">Unknown macro: {div}</span>
-<p> </p></div><p>The path to the embedded copy of <a
class="external-link" href="http://script.aculo.us/"
rel="nofollow">script.aculo.us</a> packaged with Tapestry. This value may be
overridden to use a different version of the <a class="external-link"
href="http://script.aculo.us" rel="nofollow">script.aculo.us</a> library. See
<a href="configuration.html">Configuration</a> for the default version.</p><h3
id="Configuration-tapestry.session-locking-enabled(SymbolConstants.SESSION_LOCKING_ENABLED)">tapestry.session-locking-enabled
(SymbolConstants.SESSION_LOCKING_ENABLED)</h3>
+<p> </p></div><p>The path to the embedded copy of <a
class="external-link" href="http://script.aculo.us/"
rel="nofollow">script.aculo.us</a> packaged with Tapestry. This value may be
overridden to use a different version of the <a class="external-link"
href="http://script.aculo.us" rel="nofollow">script.aculo.us</a> library.
See <a href="legacy-javascript.html">Legacy JavaScript</a> for the
default version.</p><h3
id="Configuration-tapestry.session-locking-enabled(SymbolConstants.SESSION_LOCKING_ENABLED)">tapestry.session-locking-enabled
(SymbolConstants.SESSION_LOCKING_ENABLED)</h3>
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.4</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
@@ -362,7 +362,7 @@ div.rbtoc1517700125689 li {margin-left:
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>
<div class="error"><span class="error">Unknown macro: {div}</span>
-<p>Previously, the queue size was unbounded, which meant that max-pool-size
was ignored.</p></div><p>Size of the task queue for the thread pool. Once the
core pool size is reached, new threads are not created until the queue is full.
The default queue size is 100.</p><h3
id="Configuration-tapestry.thread-pool.keep-alive(IOCSymbols.THREAD_POOL_KEEP_ALIVE)">tapestry.thread-pool.keep-alive
(IOCSymbols.THREAD_POOL_KEEP_ALIVE)</h3><p>The time to keep a created but
unused thread in the pool alive. Defaults to one minute.</p><h3
id="Configuration-tapestry.thread-pool-enabled(IOCSymbols.THREAD_POOL_ENABLED)">tapestry.thread-pool-enabled
(IOCSymbols.THREAD_POOL_ENABLED)</h3><p>If set to false, then parallel task
execution does not occur. This is useful in environments where creating new
threads is not allowed, such as <a
href="configuration.html">Configuration</a>.</p><h2
id="Configuration-SettingComponentParameterDefaults">Setting Component
Parameter Defaults</h2>
+<p>Previously, the queue size was unbounded, which meant that max-pool-size
was ignored.</p></div><p>Size of the task queue for the thread pool. Once the
core pool size is reached, new threads are not created until the queue is full.
The default queue size is 100.</p><h3
id="Configuration-tapestry.thread-pool.keep-alive(IOCSymbols.THREAD_POOL_KEEP_ALIVE)">tapestry.thread-pool.keep-alive
(IOCSymbols.THREAD_POOL_KEEP_ALIVE)</h3><p>The time to keep a created but
unused thread in the pool alive. Defaults to one minute.</p><h3
id="Configuration-tapestry.thread-pool-enabled(IOCSymbols.THREAD_POOL_ENABLED)">tapestry.thread-pool-enabled
(IOCSymbols.THREAD_POOL_ENABLED)</h3><p>If set to false, then parallel task
execution does not occur. This is useful in environments where creating new
threads is not allowed, such as <a href="google-app-engine.html">Google App
Engine</a>.</p><h2 id="Configuration-SettingComponentParameterDefaults">Setting
Component Parameter Defaults</h2>
<div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Added in
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">
</div></div>