You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/03/08 00:00:33 UTC

[35/44] isis-site git commit: ISIS-1594: provide an 'edit' button

http://git-wip-us.apache.org/repos/asf/isis-site/blob/83a3755a/content/guides/rgcfg.html
----------------------------------------------------------------------
diff --git a/content/guides/rgcfg.html b/content/guides/rgcfg.html
index 6f52570..0f8ab75 100644
--- a/content/guides/rgcfg.html
+++ b/content/guides/rgcfg.html
@@ -1,12 +1,10 @@
 <!doctype html>
 <html class="no-js" lang="en">
-<head>
-    <meta charset="utf-8"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-
-    <title>Core Config&#8217;n Properties</title>
-
-    <!--
+ <head> 
+  <meta charset="utf-8"> 
+  <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
+  <title>Core Config\u2019n Properties</title> 
+  <!--
         Licensed to the Apache Software Foundation (ASF) under one
         or more contributor license agreements.  See the NOTICE file
         distributed with this work for additional information
@@ -23,31 +21,21 @@
         KIND, either express or implied.  See the License for the
         specific language governing permissions and limitations
         under the License.
-    -->
-
-    <!-- No caching headers -->
-    <meta http-equiv="cache-control" content="no-cache" />
-    <meta http-equiv="pragma" content="no-cache" />
-    <meta http-equiv="expires" content="-1" />
-
-
-    <!-- TODO: need to (re)instate CDN in the future (not using for now just so can develop off-line -->
-    <link href="../css/foundation/5.5.1/foundation.css" rel="stylesheet" />
-    <script src="../js/foundation/5.5.1/vendor/modernizr.js"></script>
-    <link href="../css/asciidoctor/colony.css" rel="stylesheet">
-    <link href="../css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
-
-
-
-
-    <link href="../css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.css" rel="stylesheet" />
-    <!--[if lt IE 9]>
+    --> 
+  <!-- No caching headers --> 
+  <meta http-equiv="cache-control" content="no-cache"> 
+  <meta http-equiv="pragma" content="no-cache"> 
+  <meta http-equiv="expires" content="-1"> 
+  <!-- TODO: need to (re)instate CDN in the future (not using for now just so can develop off-line --> 
+  <link href="../css/foundation/5.5.1/foundation.css" rel="stylesheet"> 
+  <script src="../js/foundation/5.5.1/vendor/modernizr.js"></script> 
+  <link href="../css/asciidoctor/colony.css" rel="stylesheet"> 
+  <link href="../css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet"> 
+  <link href="../css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.css" rel="stylesheet"> 
+  <!--[if lt IE 9]>
       <link href="../css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.ie.css" rel="stylesheet" />
-    <![endif]-->
-
-
-
-    <style type="text/css">
+    <![endif]--> 
+  <style type="text/css">
         pre code {
             background-color: inherit;
             border-style: none;
@@ -192,9 +180,8 @@ table.CodeRay td.code>pre{padding:0}
         color:#fff;
         font-size: 1.1em;
     }
-    </style>
-
-    <style>
+    </style> 
+  <style>
         @media only screen and (min-width: 40.063em) {
           .top-bar {
             .contain-to-grid .top-bar {
@@ -205,9 +192,8 @@ table.CodeRay td.code>pre{padding:0}
         .row {
             max-width: 80rem;
         }
-    </style>
-
-    <style>
+    </style> 
+  <style>
         .extended-quote,
         .extended-quote-first {
             margin-left: 40px;
@@ -231,9 +217,8 @@ table.CodeRay td.code>pre{padding:0}
             text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
         }
         
-    </style>
-
-    <style>
+    </style> 
+  <style>
         body {
           position: relative;
         }
@@ -255,6 +240,7 @@ table.CodeRay td.code>pre{padding:0}
 
         div#doc-content {
             margin-top: 30px;
+            padding-top: 30px;
         }
 
         div.documentation-page table.frame-all {
@@ -286,9 +272,8 @@ table.CodeRay td.code>pre{padding:0}
             min-height: 2000px;
         }
 
-    </style>
-
-    <style>
+    </style> 
+  <style>
 
         @media only screen and (min-width: 768px) {
           #toc.toc2 ul ul { margin-left: -10px; }
@@ -316,15 +301,13 @@ table.CodeRay td.code>pre{padding:0}
         body div#toc2 li.tocify-item.active a {
             color: red;
         }
-    </style>
-
-    <style>
+    </style> 
+  <style>
         footer {
             margin-top: 1000px;
         }
-    </style>
-
-    <style>
+    </style> 
+  <style>
         /* overriding colony.css stylesheet */
         .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] {
            /*padding: 1.25em 1.5625em 1.125em 1.5625em;*/
@@ -372,9 +355,8 @@ table.CodeRay td.code>pre{padding:0}
         .imageblock img {
             margin-bottom: 10px;
         }
-    </style>
-
-    <style>
+    </style> 
+  <style>
         /* from http://ben.balter.com/2014/03/13/pages-anchor-links/ */
         .header-link {
           position: absolute;
@@ -395,9 +377,8 @@ table.CodeRay td.code>pre{padding:0}
         h6:hover .header-link {
           opacity: 1;
         }
-    </style>
-
-    <style>
+    </style> 
+  <style>
         .top-bar
         {
             -webkit-transition-duration: .5s;
@@ -425,1791 +406,1912 @@ table.CodeRay td.code>pre{padding:0}
             -webkit-transition-property: -webkit-transform;
             transition-property: transform;
         }
-    </style>
-
-    <style>
+    </style> 
+  <style>
         #doc-content a.guide {
             color: white;
         }
-    </style>
-
-    <style>
+    </style> 
+  <style>
+        .tocify {
+            margin-top: 80px;
+        }
+    </style> 
+  <style>
         .tocify {
             margin-top: 80px;
         }
-    </style>
-
-
-</script>
-
-</head>
-<body>
-
-<<div class="github-fork-ribbon-wrapper right" style="position: fixed;">
-    <div class="github-fork-ribbon">
-        <a href="https://github.com/apache/isis#fork-destination-box">Fork me on GitHub</a>
-    </div>
-</div>
-
-
-<div class="row">
-
-    <div class="fixed contain-to-grid header">
-        <nav class="top-bar" data-topbar role="navigation" style="max-width: 80rem">
-            <ul class="title-area">
-                <li class="name">
-                    <h1>
-                        <a href="/index.html">Apache Isis&trade;</a>
-                    </h1>
-                </li>
-                <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
-                <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
-            </ul>
-
-            <section class="top-bar-section">
-                <ul class="right">
-
-                    <li class="has-form">
-                       <FORM class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
-                        <div class="row collapse">
-                            <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
-                            <INPUT type="hidden" name="cof" value="FORID:0">
-                            <INPUT class="form-control" name="q" type="text" placeholder="Search">
-                        </div>
-                    </FORM>
-                     </li>
-
-                </ul>
-
-                <!-- Left Nav Section -->
-                <ul class="left">
-
-                    <li><a href="/documentation.html">Documentation</a></li>
-                    <li><a href="/downloads.html">Downloads</a></li>
-                    <li><a href="/help.html">Help</a></li>
-                    <li><a href="/asf.html">@ASF</a></li>
-
-                </ul>
-
-            </section>
-        </nav>
-    </div>
-</div>
-
-<div class="row">
-
-    <div id="doc-content-left" class="large-9 medium-9 columns">
-
-
-        <div id="doc-content">
-          <div class="sect1">
-<h2 id="_rgcfg">1. Configuration Properties</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Apache Isis' own configuration properties are simple key-value pairs, typically held in the <code>WEBINF/isis.properties</code>
-file and other related files.
-This guide describes how to configure an Apache Isis application.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>This guide covers only the core configuration properties (relating to Apache Isis' metamodel and runtime management).
-Configuration properties for the viewers can be found in the <a href="ugvw.html">Wicket Viewer</a> guide and the <a href="ugvro.html">RestfulObjects viewer</a> guide.
-Likewise details of configuring security (Apache Shiro) can be
-found in the <a href="ugsec.html">Security</a> guide, and details for configuring the DataNucleus Object Store can be found in the <a href="ugodn.html">DataNucleus</a> guide.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>By default the configuration values are part of the built WAR file.
-Details on how to override these configuration properties externally for different environments can be found in the <a href="ugbtb.html#_ugbtb_deployment">Beyond the Basics</a> guide, (deployment chapter).</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="sect2">
-<h3 id="_other_guides">1.1. Other Guides</h3>
-<div class="paragraph">
-<p>Apache Isis documentation is broken out into a number of user, reference and "supporting procedures" guides.</p>
-</div>
-<div class="paragraph">
-<p>The user guides available are:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="ugfun.html">Fundamentals</a></p>
-</li>
-<li>
-<p><a href="ugvw.html">Wicket viewer</a></p>
-</li>
-<li>
-<p><a href="ugvro.html">Restful Objects viewer</a></p>
-</li>
-<li>
-<p><a href="ugdno.html">DataNucleus object store</a></p>
-</li>
-<li>
-<p><a href="ugsec.html">Security</a></p>
-</li>
-<li>
-<p><a href="ugtst.html">Testing</a></p>
-</li>
-<li>
-<p><a href="ugbtb.html">Beyond the Basics</a></p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>The reference guides are:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="rgant.html">Annotations</a></p>
-</li>
-<li>
-<p><a href="rgsvc.html">Domain Services</a></p>
-</li>
-<li>
-<p><a href="#">Configuration Properties</a> (this guide)</p>
-</li>
-<li>
-<p><a href="rgcms.html">Classes, Methods and Schema</a></p>
-</li>
-<li>
-<p><a href="rgmvn.html">Apache Isis Maven plugin</a></p>
-</li>
-<li>
-<p><a href="rgfis.html">Framework Internal Services</a></p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>The remaining guides are:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="dg.html">Developers' Guide</a> (how to set up a development environment
-for Apache Isis and contribute back to the project)</p>
-</li>
-<li>
-<p><a href="cgcom.html">Committers' Guide</a> (release procedures and related practices)</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_rgcfg_deployment-types">2. Deployment Types</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Apache Isis distinguishes between the application being run in development mode vs running in production mode.  The framework calls this the "deployment type" (corresponding internally to the <code>DeploymentType</code> class).</p>
-</div>
-<div class="paragraph">
-<p>(For mostly historical reasons) development mode is actually called <code>SERVER_PROTOTYPE</code>, while production mode is called just <code>SERVER</code>.  (There is also a deprecated mode called <code>SERVER_EXPLORATION</code>; for all intents and purposes this can considered as an alias of <code>SERVER_PROTOTYPE</code>).</p>
-</div>
-<div class="paragraph">
-<p>When running in development/prototyping mode, certain capabilities are enabled; most notably any actions restricted to prototyping mode (using <a href="rgant.html#_rgant-Action_restrictTo"><code>@Action#restrictTo()</code></a>) will be available.</p>
-</div>
-<div class="sect2">
-<h3 id="_using_the_wicket_viewer">2.1. Using the Wicket Viewer</h3>
-<div class="paragraph">
-<p>Most of the you&#8217;re likely to run Apache Isis using the <a href="ugvw.html">Wicket viewer</a>.  In this case Apache Isis' "deployment type" concept maps to Wicket&#8217;s "configuration" concept:</p>
-</div>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 1. Apache Isis' deployment type corresponds to Apache Wicket&#8217;s configuration</caption>
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 50%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Apache Isis<br>
-(Deployment Type)</th>
-<th class="tableblock halign-left valign-top">Apache Wicket<br>
-(Configuration)</th>
-<th class="tableblock halign-left valign-top">Notes</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>SERVER_PROTOTYPE</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>development</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">running in development/prototyping mode</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>SERVER</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployment</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">running in production mode</p></td>
-</tr>
-</tbody>
-</table>
-<div class="paragraph">
-<p>Wicket&#8217;s mechanism for specifying the "configuration" is to use a context parameter in <code>web.xml</code>; Apache Isis automatically infers its own deployment type from this.  In other words:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>to specify SERVER (production) mode, use:<br></p>
-<div class="listingblock">
-<div class="title"><code>web.xml</code></div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;context-param&gt;</span>
+    </style>  
+ </head> 
+ <body> 
+  <div class="row"> 
+   <div class="fixed contain-to-grid header"> 
+    <nav class="top-bar" data-topbar role="navigation" style="max-width: 80rem"> 
+     <ul class="title-area"> 
+      <li class="name"> <h1> <a href="/index.html">Apache Isis\u2122</a> </h1> </li> 
+      <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone --> 
+      <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> 
+     </ul> 
+     <section class="top-bar-section"> 
+      <ul class="right"> 
+       <li class="has-form"> 
+        <form class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse"> 
+         <div class="row collapse"> 
+          <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya"> 
+          <input type="hidden" name="cof" value="FORID:0"> 
+          <input class="form-control" name="q" type="text" placeholder="Search"> 
+         </div> 
+        </form> </li> 
+      </ul> 
+      <!-- Left Nav Section --> 
+      <ul class="left"> 
+       <li><a href="/documentation.html">Documentation</a></li> 
+       <li><a href="/downloads.html">Downloads</a></li> 
+       <li><a href="/help.html">Help</a></li> 
+       <li><a href="/asf.html">@ASF</a></li> 
+      </ul> 
+     </section> 
+    </nav> 
+   </div> 
+  </div> 
+  <div class="row"> 
+   <div id="doc-content-left" class="large-9 medium-9 columns"> 
+    <div id="doc-content">
+     <button type="button" class="button secondary" onclick="window.location.href=&quot;https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg.adoc&quot;" style="float: right; font-size: small; padding: 6px;  "><i class="fa fa-pencil-square-o"></i>&nbsp;Edit</button> 
+     <div class="sect1"> 
+      <h2 id="_rgcfg">1. Configuration Properties</h2>
+      <button type="button" class="button secondary" onclick="window.location.href=&quot;https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/_rgcfg.adoc&quot;" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i>&nbsp;Edit</button> 
+      <div class="sectionbody"> 
+       <div class="paragraph"> 
+        <p>Apache Isis' own configuration properties are simple key-value pairs, typically held in the <code>WEBINF/isis.properties</code> file and other related files. This guide describes how to configure an Apache Isis application.</p> 
+       </div> 
+       <div class="admonitionblock note"> 
+        <table> 
+         <tbody>
+          <tr> 
+           <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> 
+           <td class="content"> 
+            <div class="paragraph"> 
+             <p>This guide covers only the core configuration properties (relating to Apache Isis' metamodel and runtime management). Configuration properties for the viewers can be found in the <a href="ugvw.html">Wicket Viewer</a> guide and the <a href="ugvro.html">RestfulObjects viewer</a> guide. Likewise details of configuring security (Apache Shiro) can be found in the <a href="ugsec.html">Security</a> guide, and details for configuring the DataNucleus Object Store can be found in the <a href="ugodn.html">DataNucleus</a> guide.</p> 
+            </div> </td> 
+          </tr> 
+         </tbody>
+        </table> 
+       </div> 
+       <div class="admonitionblock tip"> 
+        <table> 
+         <tbody>
+          <tr> 
+           <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> 
+           <td class="content"> 
+            <div class="paragraph"> 
+             <p>By default the configuration values are part of the built WAR file. Details on how to override these configuration properties externally for different environments can be found in the <a href="ugbtb.html#_ugbtb_deployment">Beyond the Basics</a> guide, (deployment chapter).</p> 
+            </div> </td> 
+          </tr> 
+         </tbody>
+        </table> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_other_guides">1.1. Other Guides</h3> 
+        <div class="paragraph"> 
+         <p>Apache Isis documentation is broken out into a number of user, reference and "supporting procedures" guides.</p> 
+        </div> 
+        <div class="paragraph"> 
+         <p>The user guides available are:</p> 
+        </div> 
+        <div class="ulist"> 
+         <ul> 
+          <li> <p><a href="ugfun.html">Fundamentals</a></p> </li> 
+          <li> <p><a href="ugvw.html">Wicket viewer</a></p> </li> 
+          <li> <p><a href="ugvro.html">Restful Objects viewer</a></p> </li> 
+          <li> <p><a href="ugdno.html">DataNucleus object store</a></p> </li> 
+          <li> <p><a href="ugsec.html">Security</a></p> </li> 
+          <li> <p><a href="ugtst.html">Testing</a></p> </li> 
+          <li> <p><a href="ugbtb.html">Beyond the Basics</a></p> </li> 
+         </ul> 
+        </div> 
+        <div class="paragraph"> 
+         <p>The reference guides are:</p> 
+        </div> 
+        <div class="ulist"> 
+         <ul> 
+          <li> <p><a href="rgant.html">Annotations</a></p> </li> 
+          <li> <p><a href="rgsvc.html">Domain Services</a></p> </li> 
+          <li> <p><a href="#">Configuration Properties</a> (this guide)</p> </li> 
+          <li> <p><a href="rgcms.html">Classes, Methods and Schema</a></p> </li> 
+          <li> <p><a href="rgmvn.html">Apache Isis Maven plugin</a></p> </li> 
+          <li> <p><a href="rgfis.html">Framework Internal Services</a></p> </li> 
+         </ul> 
+        </div> 
+        <div class="paragraph"> 
+         <p>The remaining guides are:</p> 
+        </div> 
+        <div class="ulist"> 
+         <ul> 
+          <li> <p><a href="dg.html">Developers' Guide</a> (how to set up a development environment for Apache Isis and contribute back to the project)</p> </li> 
+          <li> <p><a href="cgcom.html">Committers' Guide</a> (release procedures and related practices)</p> </li> 
+         </ul> 
+        </div> 
+       </div> 
+      </div> 
+     </div> 
+     <div class="sect1"> 
+      <h2 id="_rgcfg_deployment-types">2. Deployment Types</h2>
+      <button type="button" class="button secondary" onclick="window.location.href=&quot;https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/_rgcfg_deployment-types.adoc&quot;" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i>&nbsp;Edit</button> 
+      <div class="sectionbody"> 
+       <div class="paragraph"> 
+        <p>Apache Isis distinguishes between the application being run in development mode vs running in production mode. The framework calls this the "deployment type" (corresponding internally to the <code>DeploymentType</code> class).</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>(For mostly historical reasons) development mode is actually called <code>SERVER_PROTOTYPE</code>, while production mode is called just <code>SERVER</code>. (There is also a deprecated mode called <code>SERVER_EXPLORATION</code>; for all intents and purposes this can considered as an alias of <code>SERVER_PROTOTYPE</code>).</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>When running in development/prototyping mode, certain capabilities are enabled; most notably any actions restricted to prototyping mode (using <a href="rgant.html#_rgant-Action_restrictTo"><code>@Action#restrictTo()</code></a>) will be available.</p> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_using_the_wicket_viewer">2.1. Using the Wicket Viewer</h3> 
+        <div class="paragraph"> 
+         <p>Most of the you\u2019re likely to run Apache Isis using the <a href="ugvw.html">Wicket viewer</a>. In this case Apache Isis' "deployment type" concept maps to Wicket\u2019s "configuration" concept:</p> 
+        </div> 
+        <table class="tableblock frame-all grid-all spread"> 
+         <caption class="title">
+          Table 1. Apache Isis' deployment type corresponds to Apache Wicket\u2019s configuration
+         </caption> 
+         <colgroup> 
+          <col style="width: 25%;"> 
+          <col style="width: 25%;"> 
+          <col style="width: 50%;"> 
+         </colgroup> 
+         <thead> 
+          <tr> 
+           <th class="tableblock halign-left valign-top">Apache Isis<br> (Deployment Type)</th> 
+           <th class="tableblock halign-left valign-top">Apache Wicket<br> (Configuration)</th> 
+           <th class="tableblock halign-left valign-top">Notes</th> 
+          </tr> 
+         </thead> 
+         <tbody> 
+          <tr> 
+           <td class="tableblock halign-left valign-top"><p class="tableblock"><code>SERVER_PROTOTYPE</code></p></td> 
+           <td class="tableblock halign-left valign-top"><p class="tableblock"><code>development</code></p></td> 
+           <td class="tableblock halign-left valign-top"><p class="tableblock">running in development/prototyping mode</p></td> 
+          </tr> 
+          <tr> 
+           <td class="tableblock halign-left valign-top"><p class="tableblock"><code>SERVER</code></p></td> 
+           <td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployment</code></p></td> 
+           <td class="tableblock halign-left valign-top"><p class="tableblock">running in production mode</p></td> 
+          </tr> 
+         </tbody> 
+        </table> 
+        <div class="paragraph"> 
+         <p>Wicket\u2019s mechanism for specifying the "configuration" is to use a context parameter in <code>web.xml</code>; Apache Isis automatically infers its own deployment type from this. In other words:</p> 
+        </div> 
+        <div class="ulist"> 
+         <ul> 
+          <li> <p>to specify SERVER (production) mode, use:<br></p> 
+           <div class="listingblock"> 
+            <div class="title">
+             <code>web.xml</code>
+            </div> 
+            <div class="content"> 
+             <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;context-param&gt;</span>
     <span class="tag">&lt;param-name&gt;</span>configuration<span class="tag">&lt;/param-name&gt;</span>
     <span class="tag">&lt;param-value&gt;</span>deployment<span class="tag">&lt;/param-value&gt;</span>
-<span class="tag">&lt;/context-param&gt;</span></code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>to specify <code>SERVER_PROTOTYPING</code> (development) mode, use:<br></p>
-<div class="listingblock">
-<div class="title"><code>web.xml</code></div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;context-param&gt;</span>
+<span class="tag">&lt;/context-param&gt;</span></code></pre> 
+            </div> 
+           </div> </li> 
+          <li> <p>to specify <code>SERVER_PROTOTYPING</code> (development) mode, use:<br></p> 
+           <div class="listingblock"> 
+            <div class="title">
+             <code>web.xml</code>
+            </div> 
+            <div class="content"> 
+             <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;context-param&gt;</span>
     <span class="tag">&lt;param-name&gt;</span>configuration<span class="tag">&lt;/param-name&gt;</span>
     <span class="tag">&lt;param-value&gt;</span>development<span class="tag">&lt;/param-value&gt;</span>
-<span class="tag">&lt;/context-param&gt;</span></code></pre>
-</div>
-</div>
-</li>
-</ul>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_restful_objects_viewer_only">2.2. Restful Objects viewer only</h3>
-<div class="paragraph">
-<p>Most Apache Isis applications will consist of at least the <a href="ugvw.html">Wicket viewer</a> and optionally the <a href="ugvro.html">RestfulObjects viewer</a>.  When both viewers are deployed in the same app, then the bootstrapping is performed by Wicket, and so the deployment type is configured as described in the previous section.</p>
-</div>
-<div class="paragraph">
-<p>In some cases though you may be using Apache Isis to provide a REST API only, that is, you won&#8217;t have deployed the Wicket viewer.  In these cases your app will be bootstrapped using  Apache Isis' <a href="ugbtb.html#_ugbtb_web-xml_servlet-context-listeners"> <code>IsisWebAppBootstrapper</code></a>.</p>
-</div>
-<div class="paragraph">
-<p>In this case the deployment type is specified through an Apache Isis-specific context parameter, called <code>isis.deploymentType</code>:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>to specify <code>SERVER</code> (production) mode, use:<br></p>
-<div class="listingblock">
-<div class="title"><code>web.xml</code></div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;context-param&gt;</span>
+<span class="tag">&lt;/context-param&gt;</span></code></pre> 
+            </div> 
+           </div> </li> 
+         </ul> 
+        </div> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_restful_objects_viewer_only">2.2. Restful Objects viewer only</h3> 
+        <div class="paragraph"> 
+         <p>Most Apache Isis applications will consist of at least the <a href="ugvw.html">Wicket viewer</a> and optionally the <a href="ugvro.html">RestfulObjects viewer</a>. When both viewers are deployed in the same app, then the bootstrapping is performed by Wicket, and so the deployment type is configured as described in the previous section.</p> 
+        </div> 
+        <div class="paragraph"> 
+         <p>In some cases though you may be using Apache Isis to provide a REST API only, that is, you won\u2019t have deployed the Wicket viewer. In these cases your app will be bootstrapped using Apache Isis' <a href="ugbtb.html#_ugbtb_web-xml_servlet-context-listeners"> <code>IsisWebAppBootstrapper</code></a>.</p> 
+        </div> 
+        <div class="paragraph"> 
+         <p>In this case the deployment type is specified through an Apache Isis-specific context parameter, called <code>isis.deploymentType</code>:</p> 
+        </div> 
+        <div class="ulist"> 
+         <ul> 
+          <li> <p>to specify <code>SERVER</code> (production) mode, use:<br></p> 
+           <div class="listingblock"> 
+            <div class="title">
+             <code>web.xml</code>
+            </div> 
+            <div class="content"> 
+             <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;context-param&gt;</span>
     <span class="tag">&lt;param-name&gt;</span>isis.deploymentType<span class="tag">&lt;/param-name&gt;</span>
     <span class="tag">&lt;param-value&gt;</span>server<span class="tag">&lt;/param-value&gt;</span>
-<span class="tag">&lt;/context-param&gt;</span></code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>to specify <code>SERVER_PROTOTYPE</code> (development) mode, use:<br></p>
-<div class="listingblock">
-<div class="title"><code>web.xml</code></div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;context-param&gt;</span>
+<span class="tag">&lt;/context-param&gt;</span></code></pre> 
+            </div> 
+           </div> </li> 
+          <li> <p>to specify <code>SERVER_PROTOTYPE</code> (development) mode, use:<br></p> 
+           <div class="listingblock"> 
+            <div class="title">
+             <code>web.xml</code>
+            </div> 
+            <div class="content"> 
+             <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;context-param&gt;</span>
     <span class="tag">&lt;param-name&gt;</span>isis.deploymentType<span class="tag">&lt;/param-name&gt;</span>
     <span class="tag">&lt;param-value&gt;</span>server-prototype<span class="tag">&lt;/param-value&gt;</span>
-<span class="tag">&lt;/context-param&gt;</span></code></pre>
-</div>
-</div>
-</li>
-</ul>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_overriding_the_deployment_type">2.3. Overriding the deployment type</h3>
-<div class="paragraph">
-<p>If bootstrapping the application using Apache Isis' <a href="ugbtb.html#_ugbtb_deployment_cmd-line"><code>org.apache.isis.WebServer</code></a> then it is possible to override the deployment type using the <code>-t</code> (or <code>--type</code>) flag.</p>
-</div>
-<div class="paragraph">
-<p>For example:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">java -jar ... org.apache.isis.WebServer -t SERVER</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>where "&#8230;&#8203;" is the (usually rather long) list of JAR files and class directories that will make up your application.</p>
-</div>
-<div class="paragraph">
-<p>This works for both the <a href="ugvw.html">Wicket viewer</a> and the <a href="ugvro.html">RestfulObjects viewer</a>.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_rgcfg_configuration-files">3. Configuration Files</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>When running an Apache Isis webapp, configuration properties are read from configuration files held in the <code>WEB-INF</code> directory.</p>
-</div>
-<div class="paragraph">
-<p>The <code>WEBINF/isis.properties</code> file is always read and must exist.</p>
-</div>
-<div class="paragraph">
-<p>In addition, the following other properties are searched for and if present also read:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><code>viewer_wicket.properties</code> - if the <a href="ugvw.html">Wicket viewer</a> is in use</p>
-</li>
-<li>
-<p><code>viewer_restfulobjects.properties</code> - if the <a href="ugvro.html">RestfulObjects viewer</a> is in use</p>
-</li>
-<li>
-<p><code>viewer.properties</code> - for any other viewer configuration (but there are none currently)</p>
-</li>
-<li>
-<p><code>persistor_datanucleus.properties</code> - assuming the JDO/DataNucleus objectstore is in use</p>
-</li>
-<li>
-<p><code>persistor.properties</code> - for any other objectstore configuration. <br></p>
-<div class="paragraph">
-<p>This typically is used to hold <code>JDBC</code> <code>URL</code>s, which is arguably a slight violation of the file (because there&#8217;s nothing in Apache Isis to say that persistors have to use <code>JDBC</code>.  However, it is generally convenient to put these <code>JDBC</code> settings into a single location.  If you want, they could reside inin any of <code>persistor_datanucleus.properties</code>, <code>persistor.properties</code> or (even) <code>isis.properties</code></p>
-</div>
-</li>
-<li>
-<p><code>authentication_shiro.properties</code>, <code>authorization_shiro.properties</code></p>
-<div class="paragraph">
-<p>assuming the Shiro Security is in use (but there are no security-related config properties currently; use shiro.ini for Shiro config)</p>
-</div>
-</li>
-<li>
-<p><code>authentication.properties</code>, <code>authorization.properties</code><br></p>
-<div class="paragraph">
-<p>for any other security-related config properties (but there are none currently).</p>
-</div>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>You can if you wish simply store all properties in the <code>isis.properties</code> file; but we think that breaking properties out into sections is preferable.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_rgcfg_configuring-components">4. Specifying components</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Bootstrapping an Apache Isis application involves identifying both:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>the major components (authentication, persistence mechanisms, viewers) of Apache Isis, and also</p>
-</li>
-<li>
-<p>specifying the domain services and persistent entities that make up the application itself.</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>As of 1.9.0 there are two different ways to perform this bootstrapping.  The recommended (newer) approach is to use an <a href="rgcms.html#_rgcms_classes_super_AppManifest"><code>AppManifest</code></a>, specified either programmatically or through the configuration properties.  This allows the components, services and entities to be specified from a single class.  The alternative (and older, pre 1.9.0) approach is to specify this information individually, through configuration properties.</p>
-</div>
-<div class="paragraph">
-<p>To specify the <code>AppManifest</code> as a configuration property, use:</p>
-</div>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 2. Core Configuration Properties (ignored if <code>isis.appManifest</code> is present)</caption>
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 16.6666%;">
-<col style="width: 50.0001%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Property</th>
-<th class="tableblock halign-left valign-top">Value<br>
-(<em>default value</em>)</th>
-<th class="tableblock halign-left valign-top">Implements</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.appManifest</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>FQCN</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>o.a.i.applib.AppManifest</code><br></p>
-</div>
-<div class="paragraph">
-<p>By convention this implementation resides in an <code>myapp-app</code> Maven module (as opposed to <code>myapp-dom</code> or <code>myapp-fixture</code>).  See the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a> for details.</p>
-</div></div></td>
-</tr>
-</tbody>
-</table>
-<div class="paragraph">
-<p>From this the framework can determine the domain services, persistent entities and security (authentication and authorization) mechanisms to use.  Other configuration (including fixtures) can also be specified this way.</p>
-</div>
-<div class="paragraph">
-<p>If the <code>AppManifest</code> approach is <em>not</em> being used, then the following configuration properties are used to specify the major components of Apache Isis to use:</p>
-</div>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 3. Core Configuration Properties (ignored if <code>isis.appManifest</code> is present)</caption>
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 16.6666%;">
-<col style="width: 50.0001%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Property</th>
-<th class="tableblock halign-left valign-top">Value<br>
-(<em>default value</em>)</th>
-<th class="tableblock halign-left valign-top">Implements</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.authentication</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>shiro</code>, <code>bypass</code>, <code>FQCN</code><br>
-(<code><em>shiro</em></code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>o.a.i.core.runtime.authentication.</code> <code>AuthenticationManagerInstaller</code><br></p>
-</div>
-<div class="paragraph">
-<p>This property is IGNORED if the <code>isis.appManifest</code> configuration property is specified, or if an <a href="rgcms.html#_rgcms_classes_super_AppManifest"><code>AppManifest</code></a> is provided programmatically.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.authorization</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>shiro</code>, <code>bypass</code>, <code>FQCN</code><br>
-(<code><em>shiro</em></code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>o.a.i.core.runtime.authorization.</code> <code>AuthorizationManagerInstaller</code><br></p>
-</div>
-<div class="paragraph">
-<p>This property is IGNORED if the <code>isis.appManifest</code> configuration property is specified, or if an <a href="rgcms.html#_rgcms_classes_super_AppManifest"><code>AppManifest</code></a> is provided programmatically.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.persistor</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>datanucleus</code>
-(<code><em>datanucleus</em></code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>o.a.i.core.runtime.installerregistry.installerapi.</code> <code>PersistenceMechanismInstaller</code></p>
-</div>
-<div class="paragraph">
-<p>This property is IGNORED completely in 1.9.0+; the <code>datanucleus</code> implementation is always used.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services-installer</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>configuration</code>, <code>configuration-and-annotation</code>, <code>FQCN</code><br>
-(<code><em>configuration</em></code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>org.apache.isis.core.runtime.services.</code> <code>ServicesInstaller</code><br></p>
-</div>
-<div class="paragraph">
-<p>The mechanism to discover and load domain services:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><code>configuration-and-annotation</code> will search for <code>@DomainService</code>-annotated classes and also read from <code>isis.services</code> configuration property</p>
-</li>
-<li>
-<p><code>configuration</code> will only read from the <code>isis.services</code> configuration property.<br></p>
-</li>
-<li>
-<p>Otherwise an alternative implementation of the <code>o.a.i.core.runtime.services.ServicesInstaller</code> internal API can be provided.<br></p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>This property is IGNORED if the <code>isis.appManifest</code> configuration property is specified, or if an <a href="rgcms.html#_rgcms_classes_super_AppManifest"><code>AppManifest</code></a> is provided programmatically.</p>
-</div>
-<div class="paragraph">
-<p>This property is also IGNORED completely in 1.13.0+; the <code>configuration-and-annotation</code> implementation is always used.</p>
-</div></div></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>The values <code>"shiro"</code>, <code>"bypass"</code> etc are actually aliases for concrete implementations.  It is also possible to specify a fully qualified class name to replace either of the two security components, implementing the appropriate interface.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>If the <code>AppManifest</code> is <em>not</em> being used then there are number of other configuration properties that also must be specified: <code>isis.services</code>, <code>isis.services.ServicesInstallerFromAnnotation.packagePrefix</code> and <code>isis.persistor.datanucleus.RegisterEntities.packagePrefix</code> and <code>isis.fixtures</code>; these are listed in the sections below.</p>
-</div>
-<div class="sect2">
-<h3 id="_viewer_configuration">4.1. Viewer Configuration</h3>
-<div class="paragraph">
-<p>Viewers are specified by way of the filters and servlets in the <a href="ugbtb.html#_ugbtb_web-xml"><code>web.xml</code></a> file; these are not bootstrapped by the framework, rather it is the other way around.</p>
-</div>
-<div class="paragraph">
-<p>In versions prior to <code>1.13.0</code>, the "isis.viewers" context parameter was used to hint which configuration files should be read (corresponding to the viewers in use).  As of <code>1.13.0</code>, however, the configuration property has no effect: the <code>viewer_wicket.properties</code> and <code>viewer_restulobjects.properties</code> are always loaded if available.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_rgcfg_configuring-core">5. Configuring Core</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>This section lists the core/runtime configuration properties recognized by Apache Isis.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>Configuration properties for the JDO/DataNucleus objectstore can be found in the <a href="ugodn.html#_ugodn_configuring">Configuring DataNucleus</a> section later in this chapter, while configuration properties for the viewers can be found in the their respective chapters, <a href="ugvw.html#_ugvw_configuration-properties">here for Wicket viewer</a>, and <a href="ugvro.html#_ugvro_configuration-properties">here for the Restful Objects viewer</a>.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="sect2">
-<h3 id="_rgcfg_configuring-core_domain-events">5.1. Domain Events</h3>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 4. Core Configuration Properties for Domain Events</caption>
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 16.6666%;">
-<col style="width: 50.0001%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Property</th>
-<th class="tableblock halign-left valign-top">Value<br>
-(default value)</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>actionAnnotation.</code><br>
-<code>domainEvent.postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-Action_domainEvent"><code>@Action#domainEvent()</code></a> is not specified (is set to <code>ActionDomainEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>collectionAnnotation.</code><br>
-<code>domainEvent.postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-Collection_domainEvent"><code>@Collection#domainEvent()</code></a> is not specified (is set to <code>CollectionDomainEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>propertyAnnotation.</code><br>
-<code>domainEvent.postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-Property_domainEvent"><code>@Property#domainEvent()</code></a> is not specified (is set to <code>PropertyDomainEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="sect2">
-<h3 id="_rgcfg_configuring-core_lifecycle-events">5.2. Lifecycle Events</h3>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 5. Core Configuration Properties for Lifecycle Events</caption>
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 16.6666%;">
-<col style="width: 50.0001%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Property</th>
-<th class="tableblock halign-left valign-top">Value<br>
-(default value)</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectAnnotation.</code><br>
-<code>createdLifecycleEvent.</code><br>
-<code>postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObject_createdLifecycleEvent"><code>@DomainObject#createdLifecycleEvent()</code></a> is not specified (is set to <code>ObjectCreatedEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectAnnotation.</code><br>
-<code>loadedLifecycleEvent.</code><br>
-<code>postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObject_loadedLifecycleEvent"><code>@DomainObject#loadedLifecycleEvent()</code></a> is not specified (is set to <code>ObjectLoadedEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectAnnotation.</code><br>
-<code>persistingLifecycleEvent.</code><br>
-<code>postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObject_persistingLifecycleEvent"><code>@DomainObject#persistingLifecycleEvent()</code></a> is not specified (is set to <code>ObjectPersistingEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectAnnotation.</code><br>
-<code>persistedLifecycleEvent.</code><br>
-<code>postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObject_persistedLifecycleEvent"><code>@DomainObject#persistedLifecycleEvent()</code></a> is not specified (is set to <code>ObjectPersistedEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectAnnotation.</code><br>
-<code>removingLifecycleEvent.</code><br>
-<code>postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObject_removingLifecycleEvent"><code>@DomainObject#removingLifecycleEvent()</code></a> is not specified (is set to <code>ObjectRemovingEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectAnnotation.</code><br>
-<code>updatingLifecycleEvent.</code><br>
-<code>postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObject_updatingLifecycleEvent"><code>@DomainObject#updatingLifecycleEvent()</code></a> is not specified (is set to <code>ObjectUpdatingEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectAnnotation.</code><br>
-<code>updatedLifecycleEvent.</code><br>
-<code>postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObject_updatedLifecycleEvent"><code>@DomainObject#updatedLifecycleEvent()</code></a> is not specified (is set to <code>ObjectUpdatedEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="sect2">
-<h3 id="_rgcfg_configuring-core_ui-events">5.3. UI Events</h3>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 6. Core Configuration Properties for UI Events</caption>
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 16.6666%;">
-<col style="width: 50.0001%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Property</th>
-<th class="tableblock halign-left valign-top">Value<br>
-(default value)</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectLayoutAnnotation.</code><br>
-<code>cssClassUiEvent.postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObjectLayout_cssClassUiEvent"><code>@DomainObjectLayout#cssClassUiEvent()</code></a> is not specified (is set to <code>CssClassUiEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectLayoutAnnotation.</code><br>
-<code>iconUiEvent.postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObjectLayout_iconUiEvent"><code>@DomainObjectLayout#iconUiEvent()</code></a> is not specified (is set to <code>IconUiEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>domainObjectLayoutAnnotation.</code><br>
-<code>titleUiEvent.postForDefault</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether an event should be posted if <a href="rgant.html#_rgant-DomainObjectLayout_titleUiEvent"><code>@DomainObjectLayout#titleUiEvent()</code></a> is not specified (is set to <code>TitleUiEvent.Default</code>).</p>
-</div></div></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="sect2">
-<h3 id="_rgcfg_configuring-core_services">5.4. Services</h3>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 7. Core Configuration Properties for Services</caption>
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 16.6666%;">
-<col style="width: 50.0001%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Property</th>
-<th class="tableblock halign-left valign-top">Value<br>
-(default value)</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>FQCN</code>,<code>FQCN2</code>,&#8230;&#8203;</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Fully qualified class names of classes to be instantiated as domain services. <br></p>
-</div>
-<div class="paragraph">
-<p>Each entry can be optionally prefixed by "n:" specifying the relative order on the menu (corresponds to <a href="rgant.html#_rgant-DomainServiceLayout_menuOrder"><code>@DomainServiceLayout#menuOrder()</code></a>).</p>
-</div>
-<div class="paragraph">
-<p>This property is IGNORED if the <a href="#_rgcfg_configuring-components"><code>isis.appManifest</code></a> configuration property is specified, or if an <a href="rgcms.html#_rgcms_classes_super_AppManifest"><code>AppManifest</code></a> is provided programmatically.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>applicationFeatures.</code><br>
-<code>init</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>lazy</code>, <code>eager</code><br>
-(<code>lazy</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether the application features repository (which surfaces the framework&#8217;s metamodel) should be
-initialized lazily or eagerly. <br></p>
-</div>
-<div class="paragraph">
-<p>Lazy initialization can speed up bootstrapping, useful while developing and running tests.  The default prior to <code>1.13.0</code> was eager initialization.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>audit.</code><br>
-<code>objects</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>all</code>, <code>none</code><br>
-(<code>all</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether the changed properties of objects should be automatically audited (for objects annotated with <a href="rgant.html#_rgant-DomainObject_auditing"><code>@DomainObject(auditing=Auditing.AS_CONFIGURED)</code></a>.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>command.</code><br>
-<code>actions</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>all</code>, <code>ignoreSafe</code>, <code>none</code> (<code>all</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether action invocations should be automatically reified into commands (for actions annotated with <a href="rgant.html#_rgant-Action_command"><code>@Action(command=CommandReification.AS_CONFIGURED)</code></a>. <br></p>
-</div>
-<div class="paragraph">
-<p><code>ignoreQueryOnly</code> is an alias for <code>ignoreSafe</code>.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>command.</code><br>
-<code>properties</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>all</code>, <code>none</code> (<code>all</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>(Whether property edits should be automatically reified into commands (for properties annotated with <a href="rgant.html#_rgant-Property_command"><code>@Property(command=CommandReification.AS_CONFIGURED)</code></a>. <br></p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>container.</code><br>
-<code>disableAutoFlush</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether the <code>DomainObjectContainer</code> should automatically flush pending changes prior to querying (via <code>allMatches()</code>, <code>firstMatch()</code> and so on).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>ContentNegotiation-</code><br>
-<code>ServiceXRoDomainType</code><br>
-.<code>prettyPrint</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(depends)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>If a domain object has been mapped to the specified JAXB <code>x-ro-domain-type</code>, then determines whether the result is pretty-printed or not.<br></p>
-</div>
-<div class="paragraph">
-<p>If no configuration property is available, then the defaults is determined by the <a href="#_rgcfg_deployment-types">deployment type</a>: production mode disables pretty printing, while prototype mode enables it.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>override.bcc</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">email address</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>intended to simplify testing, if specified then the email&#8217;s <code>bcc</code> address will be that specified (rather than the email address(es) passed in as an argument to <code>EmailService#send(&#8230;&#8203;)</code>). <br></p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>override.cc</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">email address</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>intended to simplify testing, if specified then the email&#8217;s <code>cc</code> address will be that specified (rather than the email address(es) passed in as an argument to <code>EmailService#send(&#8230;&#8203;)</code>). <br></p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>override.to</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">email address</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>intended to simplify testing, if specified then the email&#8217;s <code>to</code> address will be that specified (rather than the email address(es) passed in as an argument to <code>EmailService#send(&#8230;&#8203;)</code>). <br></p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>port</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">port number (<code><em>587</em></code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The port number for the SMTP service on the the external SMTP host (used by <a href="rgsvc.html#_rgsvc_api_EmailService"><code>EmailService</code></a>). <br></p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>sender.address</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">email address</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The email address to use for sending out email (used by <a href="rgsvc.html#_rgsvc_api_EmailService"><code>EmailService</code></a>).
-<strong>Mandatory</strong>. <br></p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>sender.hostname</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">host (<code><em>smtp.gmail.com</em></code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The hostname of the external SMTP provider (used by <a href="rgsvc.html#_rgsvc_api_EmailService"><code>EmailService</code></a>). <br></p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>sender.password</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">email password</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The corresponding password for the email address to use for sending out email (used by <a href="rgsvc.html#_rgsvc_api_EmailService"><code>EmailService</code></a>).
-<strong>Mandatory</strong>. <br></p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>socket</code><br>
-<code>ConnectionTimeout</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds<br>
-(2000)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The socket connection timeout</p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>socketTimeout</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds<br>
-(2000)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The socket timeout</p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>throwExceptionOnFail</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether to throw an exception if there the email cannot be sent (probably because of some misconfiguration).</p>
-</div>
-<div class="paragraph">
-<p>This behaviour is (now) the default; the old behaviour (of just returning <code>false</code> from the <code>send()</code> method) can be re-enabled by setting this property to <code>false</code>.</p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.service.</code><br>
-<code>email.</code><br>
-<code>tls.enabled</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether to enable TLS for the email SMTP connection (used by <a href="rgsvc.html#_rgsvc_api_EmailService"><code>EmailService</code></a>). <br></p>
-</div>
-<div class="paragraph">
-<p>NB: note that the key is mis-spelt, (<code>isis.service.email</code> rather than <code>isis.services.email</code>)</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>eventbus.</code><br>
-<code>implementation</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>guava</code>, <code>axon</code>,<br>
-FQCN (<code><em>guava</em></code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>which implementation to use by the <a href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> as the underlying event bus.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>eventbus.</code><br>
-<code>allowLate</code><br>
-<code>Registration</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>whether a domain service can register with the <a href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> after any events have posted.<br></p>
-</div>
-<div class="paragraph">
-<p>Since this almost certainly constitutes a bug in application code, by default this is disallowed.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>exceprecog.</code><br>
-<code>logRecognized</code><br>
-<code>Exceptions</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>whether recognized exceptions should also be logged.<br></p>
-</div>
-<div class="paragraph">
-<p>Generally a recognized exception is one that is expected (for example a uniqueness constraint violated in the database) and which does not represent an error condition.
-This property logs the exception anyway, useful for debugging.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>ExceptionRecognizer</code><br>
-<code>CompositeFor</code><br>
-<code>JdoObjectStore.</code><br>
-<code>disable</code><br></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>whether to disable the default recognizers registered by <code>ExceptionRecognizerCompositeForJdoObjectStore</code>.<br></p>
-</div>
-<div class="paragraph">
-<p>This implementation provides a default set of recognizers to convert RDBMS constraints into user-friendly messages.
-In the (probably remote) chance that this functionality isn&#8217;t required, they can be disabled through this flag.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>injector.</code><br>
-<code>injectPrefix</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code> <br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>(Whether the framework should support <code>inject&#8230;&#8203;()</code> as a prefix for injecting domain services into other domain objects.</p>
-</div>
-<div class="paragraph">
-<p>+
-By default this is disabled.
-The default prior to <code>1.13.0</code> was enabled.
-If the setting is left as disabled then this may reduce application start-up times.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>injector.</code><br>
-<code>setPrefix</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code> <br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether the framework should support <code>set&#8230;&#8203;()</code> as a prefix for injecting domain services into other domain objects.</p>
-</div>
-<div class="paragraph">
-<p>+
-By default this is enabled (no change in <code>1.13.0</code>).
-If the setting is changed to disabled then this may reduce application start-up times.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>publish.</code><br>
-<code>objects</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>all</code>, <code>none</code><br>
-(<code>all</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether changed objects should be automatically published (for objects annotated with <a href="rgant.html#_rgant-DomainObject_publishing"><code>@DomainObject(publishing=Publishing.AS_CONFIGURED)</code></a>.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>publish.</code><br>
-<code>actions</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>all</code>, <code>ignoreSafe</code>, <code>none</code> (<code>none</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether actions should be automatically published (for actions annotated with <a href="rgant.html#_rgant-Action_publishing"><code>@Action(publishing=Publishing.AS_CONFIGURED)</code></a>.<br></p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>publish.</code><br>
-<code>properties</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>all</code>, <code>none</code> (<code>none</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether properties should be automatically published (for properties annotated with <a href="rgant.html#_rgant-Action_publishing"><code>@Property(publishing=Publishing.AS_CONFIGURED)</code></a>.<br></p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>ServicesInstaller</code><br>
-<code>FromAnnotation.</code><br>
-<code>packagePrefix</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fully qualified package names (CSV)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>to search for domain services (including all subpackages).</p>
-</div>
-<div class="paragraph">
-<p>This property is IGNORED if the <a href="#_rgcfg_configuring-components"><code>isis.appManifest</code></a> configuration property is specified, or if an <a href="rgcms.html#_rgcms_classes_super_AppManifest"><code>AppManifest</code></a> is provided programmatically.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.services.</code><br>
-<code>translation.</code><br>
-<code>po.mode</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>read</code>,<code>write</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether to force the <code>TranslationService</code> into either read or write mode.<br></p>
-</div>
-<div class="paragraph">
-<p>See <a href="ugbtb.html#_ugbtb_i18n">i18n support</a> to learn more about the translation service.</p>
-</div></div></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="sect2">
-<h3 id="_rgcfg_configuring-core_metamodel-validation">5.5. MetaModel Validation</h3>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 8. Metamodel Validation</caption>
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 16.6666%;">
-<col style="width: 50.0001%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Property</th>
-<th class="tableblock halign-left valign-top">Value<br>
-(default value)</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.validator</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>FQCN</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Custom implementation of <code>MetaModelValidator</code> (in the <code>org.apache.isis.core.metamodel.specloader.validator</code> package)<br></p>
-</div>
-<div class="paragraph">
-<p>See <a href="ugbtb.html#_ugbtb_programming-model_custom-validator">Custom Validator</a> to learn more.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.validator.</code><br>
-<code>actionCollection</code><br>
-<code>ParameterChoices</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether to check that collection action parameters have a corresponding choices or autoComplete facet.<br></p>
-</div>
-<div class="paragraph">
-<p>In the current implementation such a facet is always required, so this configuration option has only been introduced as a feature flag in case it needs to be disabled for some reason.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.validator.</code><br>
-<code>allowDeprecated</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether deprecated annotations or naming conventions are tolerated or not.
-If not, then a metamodel validation error will be triggered, meaning the app won&#8217;t boot (fail-fast).<br></p>
-</div>
-<div class="paragraph">
-<p>See also <code>isis.reflector.facets.ignoreDeprecated</code>.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.validator.</code><br>
-<code>explicitObjectType</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether to check that the class has an object type explicitly specified somehow.</p>
-</div>
-<div class="paragraph">
-<p>The object type is used by the framework as an alias for the object&#8217;s concrete class; it is one part of the object&#8217;s OID and can be seen in the URLs of the <a href="ugvw.html">Wicket viewer</a> and <a href="ugvro.html">Restful Objects viewer</a>, and is encoded in the <code>Bookmark</code>s returned by the <a href="rgsvc.html#_rgsvc_api_BookmarkService"><code>BookmarkService</code></a>.
-In this was it may also be persisted, for example in polymorphic associations or command or auditing tables.</p>
-</div>
-<div class="paragraph">
-<p>If the object type is not specified explicitly, then this can cause data migration issues if the class is subsequently refactored (eg renamed, or moved to a different package).</p>
-</div>
-<div class="paragraph">
-<p>This configuration property can be used to enforce a rule that the object type must always be specified (for persistent entities and view models).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.validator.</code><br>
-<code>jdoqlFromClause</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether to check that the class name in JDOQL <code>FROM</code> clause matches or is a supertype of the class on which it is annotated.<br></p>
-</div>
-<div class="paragraph">
-<p>Only "SELECT" queries are validated; "UPDATE" queries etc are simply ignored.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.validator.</code><br>
-<code>jdoqlVariablesClause</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether to check that the class name in JDOQL <code>VARIABLES</code> clause is a recognized class.<br></p>
-</div>
-<div class="paragraph">
-<p>Note that although JDOQL syntax supports multiple <code>VARIABLES</code> classes, currently the validator only checks the first class name found.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.validator.</code><br>
-<code>mixinsOnly</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Mixins provide a simpler programming model to contributed domain services.<br></p>
-</div>
-<div class="paragraph">
-<p>If enabled, this configuration property will treat any contributed service as invalid.
-This is by way of possibly deprecating and eventually moving contributed services from the Apache Isis programming model.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.validator.</code><br>
-<code>noParamsOnly</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>When searching for  <a href="rgcms.html#_rgcms_methods_prefixes_disable"><code>disableXxx()</code></a> or <a href="rgcms.html#_rgcms_methods_prefixes_hide"><code>hideXxx()</code></a> methods, whether to search only for the no-param version (or also for supporting methods that match the parameter types of the action).<br></p>
-</div>
-<div class="paragraph">
-<p>If enabled then will not search for supporting methods with the exact set of arguments as the method it was supporting (and any supporting methods that have additional parameters will be treated as invalid).
-Note that this in effect means that <a href="rgcms.html#_rgcms_classes_mixins">mixins</a> must be used instead of <a href="ugbtb.html#_ugbtb_decoupling_contributions">contributed services</a>.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.validator.</code><br>
-<code>serviceActionsOnly</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Domain services are stateless (at least conceptually) and so should not have any properties or collections; any that are defined will not be rendered by the viewers.<br></p>
-</div>
-<div class="paragraph">
-<p>If enabled, this configuration property will ensure that domain services only declare actions.</p>
-</div></div></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="sect2">
-<h3 id="_rgcfg_configuring-core_other">5.6. Other Config Properties</h3>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 9. Other Core Configuration Properties</caption>
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 16.6666%;">
-<col style="width: 50.0001%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Property</th>
-<th class="tableblock halign-left valign-top">Value<br>
-(default value)</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.objects.</code><br>
-<code>editing</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>true</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Whether objects' properties and collections can be edited directly (for objects annotated with <a href="rgant.html#_rgant-DomainObject_editing"><code>@DomainObject#editing()</code></a>); see <a href="#_rgcfg_configuring-core_isis-objects-editing">below</a> for further discussion.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.persistor.</code><br>
-<code>disable</code><br>
-<code>ConcurrencyChecking</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br>
-(<code>false</code>)</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Disables concurrency checking globally. <br></p>
-</div>
-<div class="paragraph">
-<p>Only intended for "emergency use" as a workaround while pending fix/patch to Apache Isis itself.  (Note that there is no "datanucleus" in the property).</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>cssClass.patterns</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">regex:css1, regex2:css2,&#8230;&#8203;</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Comma separated list of key:value pairs, where the key is a regex matching action names (eg <code>delete.*</code>) and the value is a <a href="http://getbootstrap.com/css/">Bootstrap</a> CSS button class (eg <code>btn-warning) to be applied (as per `@CssClass()</code>) to all action members matching the regex.<br></p>
-</div>
-<div class="paragraph">
-<p>See <a href="ugfun.html#_ugfun_how-tos_ui-hints_action-icons-and-css">UI hints</a> for more details.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>cssClassFa.patterns</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">regex:fa-icon,regex2:fa-icon2,&#8230;&#8203;</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Comma separated list of key:value pairs, where the key is a regex matching action names (eg <code>create.*</code>) and the value is a <a href="http://fortawesome.github.io/Font-Awesome/icons/">font-awesome</a> icon name (eg <code>fa-plus</code>) to be applied (as per <code>@CssClassFa()</code>) to all action members matching the regex.<br></p>
-</div>
-<div class="paragraph">
-<p>See <a href="ugfun.html#_ugfun_how-tos_ui-hints_action-icons-and-css">UI hints</a> for more details.</p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>isis.reflector.facet.</code><br>
-<code>filterVisibility</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>fals

<TRUNCATED>