You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by bu...@apache.org on 2018/07/19 12:20:29 UTC

svn commit: r1032743 - in /websites/production/tapestry/content: cache/main.pageCache configuration.html

Author: buildbot
Date: Thu Jul 19 12:20:29 2018
New Revision: 1032743

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 Thu Jul 19 12:20:29 2018
@@ -95,7 +95,7 @@
                 <span class="icon aui-icon content-type-page" title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a  href="response-compression.html">Response Compression</a>
+                        <a  href="configuration.html">Configuration</a>
                 
                         
                     </div>
@@ -104,7 +104,7 @@
                 <span class="icon aui-icon content-type-page" title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a  href="symbols.html">Symbols</a>
+                        <a  href="response-compression.html">Response Compression</a>
                 
                         
                     </div>
@@ -113,7 +113,7 @@
                 <span class="icon aui-icon content-type-page" title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a  href="application-module-class-cheat-sheet.html">Application Module Class Cheat Sheet</a>
+                        <a  href="symbols.html">Symbols</a>
                 
                         
                     </div>
@@ -122,7 +122,7 @@
                 <span class="icon aui-icon content-type-page" title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a  href="tapestry-ioc-configuration.html">Tapestry IoC Configuration</a>
+                        <a  href="application-module-class-cheat-sheet.html">Application Module Class Cheat Sheet</a>
                 
                         
                     </div>
@@ -140,7 +140,7 @@
                 <span class="icon aui-icon content-type-page" title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a  href="configuration.html">Configuration</a>
+                        <a  href="tapestry-ioc-configuration.html">Tapestry IoC Configuration</a>
                 
                         
                     </div>
@@ -149,11 +149,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.rbtoc1529450372611 {padding: 0px;}
-div.rbtoc1529450372611 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1529450372611 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1532002780695 {padding: 0px;}
+div.rbtoc1532002780695 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1532002780695 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1529450372611">
+/*]]>*/</style></p><div class="toc-macro rbtoc1532002780695">
 <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><li><a  href="#Configuration-SegregatingApplicationsIntoFolders">Segregating Applications Into Folders</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="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Default" data-theme="Default">&lt;!DOCTYPE web-app
@@ -175,12 +175,12 @@ div.rbtoc1529450372611 li {margin-left:
     &lt;/filter-mapping&gt;
 &lt;/web-app&gt;
 </pre>
-</div></div><p></p><div class="navmenu" style="float:right; width:30%; background:#eee; margin:3px; padding:3px">
+</div></div><p><br clear="none"></p><div class="navmenu" style="float:right; width:30%; background:#eee; margin:3px; padding:3px">
 <p><font color="#539126"><strong>Tapestry Requests vs. Container Requests</strong></font></p>
 
 <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="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 &lt;filter-name&gt; 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">
+<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><br clear="none"></p><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 Applica
 tion'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 &lt;filter-name&gt; 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 defau
 lt, or "factory", symbols, 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="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">public class AppModule
 {
   public static void contributeApplicationDefaults(MappedConfiguration&lt;String,String&gt; configuration)
@@ -221,7 +221,7 @@ div.rbtoc1529450372611 li {margin-left:
 
     <div class="param-body">The client-side BlackBird console has been removed.</div>
 
-</div><h3 id="Configuration-tapestry.bootstrap-root">tapestry.bootstrap-root</h3>
+</div><br clear="none"><h3 id="Configuration-tapestry.bootstrap-root">tapestry.bootstrap-root</h3>
 
 <div class="aui-message aui-message-info macro-since"><b class="param-since">Added in 5.4</b>
 
@@ -257,7 +257,7 @@ div.rbtoc1529450372611 li {margin-left:
 
 
 
-</div><p><strong>SymbolConstants.MODULE_PATH_PREFIX</strong>&#160;&#8211; Prefix used for all module resources. This may contain slashes, but should not being or end with one. Tapestry will create two Dispatchers from this: one for normal modules, the other for GZip compressed modules (by appending ".gz" to this value).</p><h3 id="Configuration-tapestry.context-path">tapestry.context-path</h3>
+</div><p><strong>SymbolConstants.MODULE_PATH_PREFIX</strong>&#160;&#8211; Prefix used for all module resources. This may contain slashes, but should not begin or end with one. Tapestry will create two Dispatchers from this: one for normal modules, the other for GZip compressed modules (by appending ".gz" to this value).</p><h3 id="Configuration-tapestry.context-path">tapestry.context-path</h3>
 
 <div class="aui-message aui-message-info macro-since"><b class="param-since">Added in 5.4</b>
 
@@ -282,13 +282,13 @@ div.rbtoc1529450372611 li {margin-left:
 
     <div class="param-body">Deprecated in 5.4 with no replacement. The stylesheet is now associated with the core JavaScriptStack</div>
 
-</div><h3 id="Configuration-tapestry.enable-html5-support">tapestry.enable-html5-support</h3><p>
+</div><h3 id="Configuration-tapestry.enable-html5-support">tapestry.enable-html5-support</h3><p><br clear="none">
 
 </p><div class="aui-message aui-message-info macro-since"><b class="param-since">Added in 5.4</b>
 
 
 
-</div><strong>SymbolConstants.ENABLE_HTML5_SUPPORT&#160;&#8211; </strong>If "true", then certain HTML5 features are invoked by built-in Tapestry components. Mostly this controls whether the TextField component will emit HTML5 "type" attributes automatically when certain validators are used. See&#160;<a  href="forms-and-validation.html">Forms and Validation</a> for details. The default is false.<h3 id="Configuration-tapestry.enable-minification">tapestry.enable-minification</h3>
+</div><strong>SymbolConstants.ENABLE_HTML5_SUPPORT&#160;&#8211; </strong>If "true", then certain HTML5 features are invoked by built-in Tapestry components. Mostly this controls whether the TextField component will emit HTML5 "type" attributes automatically when certain validators are used. See&#160;<a  href="forms-and-validation.html">Forms and Validation</a> for details. The default is false.<p><br clear="none"></p><h3 id="Configuration-tapestry.enable-minification">tapestry.enable-minification</h3>
 
 <div class="aui-message aui-message-info macro-since"><b class="param-since">Added in 5.3.6</b>
 
@@ -300,13 +300,13 @@ div.rbtoc1529450372611 li {margin-left:
 
 
 
-</div><p><strong>SymbolConstantsaENABLE_PAGELOADING_MASK</strong> &#8211; If true, then when a page includes any JavaScript, a <code>&lt;script&gt;</code> block is added to insert a pageloader mask into the page to ensure that the user can't interact with the page until the page is fully initialized. The default is true.</p><h3 id="Configuration-tapestry.encode-locale-into-path">tapestry.encode-locale-into-path</h3><p><strong>SymbolConstants.ENCODE_LOCALE_INTO_PATH</strong>&#160;&#8211; 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&#160;<a  href="localization.html">Localization</a> for more details on localization.</p><h3 id="Configuration-tapestry.exception-report-page">tapestry.exception-report-page</h3><p><strong>SymbolConstants.EXCEPTION_REPORT_PAGE</strong>&#160;&#8211; The name of the page used to report exceptions. This defaults to "ExceptionReport", a page that Tapestry provides. See&#160;<a  href="overriding-exception-reporting.html">Overriding Exception Reporting</a> for details.</p><h3 id="Configuration-tapestry.exception-reports-dir">tapestry.exception-reports-dir</h3><p>
+</div><p><strong>SymbolConstantsaENABLE_PAGELOADING_MASK</strong> &#8211; If true, then when a page includes any JavaScript, a <code>&lt;script&gt;</code> block is added to insert a pageloader mask into the page to ensure that the user can't interact with the page until the page is fully initialized. The default is true.</p><h3 id="Configuration-tapestry.encode-locale-into-path">tapestry.encode-locale-into-path</h3><p><strong>SymbolConstants.ENCODE_LOCALE_INTO_PATH</strong>&#160;&#8211; 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&#160;<a  href="localization.html">Localization</a> for more details on localization.</p><h3 id="Configuration-tapestry.exception-report-page">tapestry.exception-report-page</h3><p><strong>SymbolConstants.EXCEPTION_REPORT_PAGE</strong>&#160;&#8211; The name of the page used to report exceptions. This defaults to "ExceptionReport", a page that Tapestry provides. See&#160;<a  href="overriding-exception-reporting.html">Overriding Exception Reporting</a> for details.</p><h3 id="Configuration-tapestry.exception-reports-dir">tapestry.exception-reports-dir</h3><p><br clear="none">
 
 </p><div class="aui-message aui-message-info macro-since"><b class="param-since">Added in 5.4</b>
 
 
 
-</div><strong>SymbolConstants.EXCEPTION_REPORTS_DIR</strong>&#160;&#8211; 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">tapestry.execution-mode</h3><p><strong>SymbolConstants.EXECUTION_MODE</strong>&#160;&#8211; The execution mode. See <a  href="configuration.html">Setting Execution Modes</a> below.</p><h3 id="Configuration-tapestry.file-check-interval">tapestry.file-check-interval</h3><p><strong>SymbolConstants.FILE_CHECK_INTERVAL</strong>&#160;&#8211; 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&#160;<a  href="class-reloading.html">Clas
 s Reloading</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">tapestry.file-check-update-timeout</h3><p><strong>SymbolConstants.FILE_CHECK_UPDATE_TIMEOUT</strong>&#160;&#8211; 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 Form
 ats</a>).</p><h3 id="Configuration-tapestry.force-absolute-uris">tapestry.force-absolute-uris</h3>
+</div><strong>SymbolConstants.EXCEPTION_REPORTS_DIR</strong>&#160;&#8211; 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.<p><br clear="none"></p><h3 id="Configuration-tapestry.execution-mode">tapestry.execution-mode</h3><p><strong>SymbolConstants.EXECUTION_MODE</strong>&#160;&#8211; The execution mode. See <a  href="configuration.html">Setting Execution Modes</a> below.</p><h3 id="Configuration-tapestry.file-check-interval">tapestry.file-check-interval</h3><p><strong>SymbolConstants.FILE_CHECK_INTERVAL</strong>&#160;&#8211; 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&#160;<a  href="cl
 ass-reloading.html">Class Reloading</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">tapestry.file-check-update-timeout</h3><p><strong>SymbolConstants.FILE_CHECK_UPDATE_TIMEOUT</strong>&#160;&#8211; 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">tapestry.force-absolute-uris</h3>
 
 <div class="aui-message aui-message-warning macro-deprecated"><b class="param-deprecated">Deprecated since 5.2</b>
 
@@ -390,19 +390,19 @@ div.rbtoc1529450372611 li {margin-left:
 
     <div class="param-body">Starting in 5.2, this is only used if tapestry.page-pool-enabled is "true". <em>Removed in 5.3</em></div>
 
-</div><p>The time interval that Tapestry will wait for a page instance to become available before deciding whether to create an entirely new page instance.</p><p>The default is "10 ms" (10 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.page-preload-mode">tapestry.page-preload-mode</h3><p>
+</div><p>The time interval that Tapestry will wait for a page instance to become available before deciding whether to create an entirely new page instance.</p><p>The default is "10 ms" (10 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.page-preload-mode">tapestry.page-preload-mode</h3><p><br clear="none">
 
 </p><div class="aui-message aui-message-info macro-since"><b class="param-since">Added in 5.4</b>
 
 
 
-</div><strong>SymbolConstants.PRELOADER_MODE&#160;&#8211; </strong>Controls in what environment page preloading should occur. By default, preloading only occurs in production. Possible values are "ALWAYS", "DEVELOPMENT", "NEVER", or "PRODUCTION" (the default is PRODUCTION when in production mode, or DEVELOPMENT otherwise). See <a  class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/pageload/PreloaderMode.html">PreloaderMode</a>.<h3 id="Configuration-tapestry.persistence-strategy">tapestry.persistence-strategy</h3><p><strong>SymbolConstants.PERSISTENCE_STRATEGY</strong>&#160;&#8211; Identifies the default <a  class="external-link" href="http://tapestry.apache.org/persistent-page-data.html#PersistentPageData-PersistenceStrategies">persistence strategy</a> for all pages that do not provide an override. The default is "session" (PersistenceConstants.SESSION).</p><h3 id="Configuration-tapestry.production-mode">tapestry.production-mode</h3>
 <p><strong>SymbolConstants.PRODUCTION_MODE</strong>&#160;&#8211; A flag (true or false) indicating whether the application is running in production or in development. The default is true, which means that runtime exceptions are not reported with full detail (only the root exception message is displayed, not the entire stack of exceptions, properties and other information shown in development mode).</p><h3 id="Configuration-tapestry.restrictive-environment">tapestry.restrictive-environment</h3><p>
+</div><strong>SymbolConstants.PRELOADER_MODE&#160;&#8211; </strong>Controls in what environment page preloading should occur. By default, preloading only occurs in production. Possible values are "ALWAYS", "DEVELOPMENT", "NEVER", or "PRODUCTION" (the default is PRODUCTION when in production mode, or DEVELOPMENT otherwise). See <a  class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/pageload/PreloaderMode.html">PreloaderMode</a>.<p><br clear="none"></p><h3 id="Configuration-tapestry.persistence-strategy">tapestry.persistence-strategy</h3><p><strong>SymbolConstants.PERSISTENCE_STRATEGY</strong>&#160;&#8211; Identifies the default <a  class="external-link" href="http://tapestry.apache.org/persistent-page-data.html#PersistentPageData-PersistenceStrategies">persistence strategy</a> for all pages that do not provide an override. The default is "session" (PersistenceConstants.SESSION).</p><h3 id="Configuration-tapestry.production-mode">tapes
 try.production-mode</h3><p><strong>SymbolConstants.PRODUCTION_MODE</strong>&#160;&#8211; A flag (true or false) indicating whether the application is running in production or in development. The default is true, which means that runtime exceptions are not reported with full detail (only the root exception message is displayed, not the entire stack of exceptions, properties and other information shown in development mode).</p><h3 id="Configuration-tapestry.restrictive-environment">tapestry.restrictive-environment</h3><p><br clear="none">
 
 </p><div class="aui-message aui-message-info macro-since"><b class="param-since">Added in 5.4</b>
 
 
 
-</div><strong>SymbolConstants.RESTRICTIVE_ENVIRONMENT</strong>&#160;&#8211; A flag (true or false) that, if true, changes some default Tapestry behavior to make it work better in restrictive environments such as&#160;<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">tapestry.secure-enabled</h3><p><strong>SymbolConstants.SECURE_ENABLED</strong>&#160;&#8211; 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. However, sites that are intended to be served <em>only</em> under HTTPS should set this to&#160;<strong><code>false</code></strong>. See&#160;<a  href="https.html">HTTPS</a> for details.</p><h3 id="Configuration-tapestry.secure-page">tapestry.secure-page</h3><p><strong>MetaDataConstants.SECURE_PAGE</strong>&#160;&#8211; 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&#160;<a  href="https.html">HTTPS</a> for details.</p><h3 id="Configuration-tapestry.service-reloading-enabled">tapestry.service-reloading-enabled</h3>
+</div><strong>SymbolConstants.RESTRICTIVE_ENVIRONMENT</strong>&#160;&#8211; A flag (true or false) that, if true, changes some default Tapestry behavior to make it work better in restrictive environments such as&#160;<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.<p><br clear="none"></p><h3 id="Configuration-tapestry.secure-enabled">tapestry.secure-enabled</h3><p><strong>SymbolConstants.SECURE_ENABLED</strong>&#160;&#8211; 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.produ
 ction-mode, meaning that in development mode it will (by default) be disabled. However, sites that are intended to be served <em>only</em> under HTTPS should set this to&#160;<strong><code>false</code></strong>. See&#160;<a  href="https.html">HTTPS</a> for details.</p><h3 id="Configuration-tapestry.secure-page">tapestry.secure-page</h3><p><strong>MetaDataConstants.SECURE_PAGE</strong>&#160;&#8211; 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&#160;<a  href="https.html">HTTPS</a> for details.</p><h3 id="Configuration-tapestry.service-reloading-enabled">tapestry.service-reloading-enabled</h3>
 
 <div class="aui-message aui-message-info macro-since"><b class="param-since">Added in 5.2</b>