http://git-wip-us.apache.org/repos/asf/isis-site/blob/97af7e5f/content/versions/SNAPSHOT/guides/rgcfg/rgcfg.html
----------------------------------------------------------------------
diff --git a/content/versions/SNAPSHOT/guides/rgcfg/rgcfg.html 
b/content/versions/SNAPSHOT/guides/rgcfg/rgcfg.html
new file mode 100644
index 0000000..152323c
--- /dev/null
+++ b/content/versions/SNAPSHOT/guides/rgcfg/rgcfg.html
@@ -0,0 +1,1828 @@
+<!doctype html>
+<html>
+ <head> 
+  <!--
+        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
+        regarding copyright ownership.  The ASF licenses this file
+        to you under the Apache License, Version 2.0 (the
+        "License"); you may not use this file except in compliance
+        with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+        Unless required by applicable law or agreed to in writing,
+        software distributed under the License is distributed on an
+        "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+        KIND, either express or implied.  See the License for the
+        specific language governing permissions and limitations
+        under the License.
+    --> 
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
+  <meta charset="utf-8"> 
+  <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
+  <!-- No caching headers --> 
+  <meta http-equiv="cache-control" content="no-cache"> 
+  <meta http-equiv="pragma" content="no-cache"> 
+  <meta http-equiv="expires" content="-1"> 
+  <title>Core Config’n Properties</title> 
+  <link rel="icon" type="image/png" href="../../images/isis-favicon.png"> 
+  <!--
+        Based on DataNucleus' template,
+        that was in turn based on an earlier version of Apache Isis' template,
+        that was in turn based on Apache Deltaspike's template.
+
+        This template uses
+        * Bootstrap v3.3.7 (https://getbootstrap.com/) for navbar.
+        * Bootstrap TOC plugin v0.4.1 (https://afeld.github.io/bootstrap-toc/)
+          for the table of contents.
+        * jQuery (necessary for Bootstrap's JavaScript plugins)
+        * Font-Awesome for some icons used by Asciidoctor
+
+        Also:
+        * Bootswatch "flatly" theme for Bootstrap 
(https://bootswatch.com/flatly).
+        * slick.js (carousel)
+        * add a link to all headers (home-grown, adapted from blog posts)
+        * integration of elasticlunr.js (home-grown, adapted from blog posts)
+    --> 
+  <link 
href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/flatly/bootstrap.min.css";
 rel="stylesheet"> 
+  <link href="../../css/bootstrap-toc/0.4.1/bootstrap-toc.min.css" 
rel="stylesheet"> 
+  <link href="../../css/asciidoctor/foundation.css" rel="stylesheet"> 
+  <link 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css";
 rel="stylesheet"> 
+  <link href="../../css/slick/1.5.0/slick.css" rel="stylesheet"> 
+  <link href="../../css/slick/1.5.0/slick-theme.css" rel="stylesheet"> 
+  <link href="../../css/search-panel/search-panel.css" rel="stylesheet"> 
+  <link href="../../css/header-links/header-links.css" rel="stylesheet"> 
+  <link href="../../css/sticky-header/sticky-header.css" rel="stylesheet"> 
+  <link href="../../css/customisations.css" rel="stylesheet"> 
+  <!-- Coderay syntax formatter --> 
+  <style type="text/css">
+        /* Stylesheet for CodeRay to match GitHub theme | MIT License | 
http://foundation.zurb.com */
+/*pre.CodeRay {background-color:#f7f7f8;}*/
+.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
+.CodeRay 
span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
+.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)}
+table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
+table.CodeRay td{vertical-align: top;line-height:1.45}
+table.CodeRay td.line-numbers{text-align:right}
+table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
+table.CodeRay td.code{padding:0 0 0 .5em}
+table.CodeRay td.code>pre{padding:0}
+.CodeRay .debug{color:#fff !important;background:#000080 !important}
+.CodeRay .annotation{color:#007}
+.CodeRay .attribute-name{color:#000080}
+.CodeRay .attribute-value{color:#700}
+.CodeRay .binary{color:#509}
+.CodeRay .comment{color:#998;font-style:italic}
+.CodeRay .char{color:#04d}
+.CodeRay .char .content{color:#04d}
+.CodeRay .char .delimiter{color:#039}
+.CodeRay .class{color:#458;font-weight:bold}
+.CodeRay .complex{color:#a08}
+.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
+.CodeRay .color{color:#099}
+.CodeRay .class-variable{color:#369}
+.CodeRay .decorator{color:#b0b}
+.CodeRay .definition{color:#099}
+.CodeRay .delimiter{color:#000}
+.CodeRay .doc{color:#970}
+.CodeRay .doctype{color:#34b}
+.CodeRay .doc-string{color:#d42}
+.CodeRay .escape{color:#666}
+.CodeRay .entity{color:#800}
+.CodeRay .error{color:#808}
+.CodeRay .exception{color:inherit}
+.CodeRay .filename{color:#099}
+.CodeRay .function{color:#900;font-weight:bold}
+.CodeRay .global-variable{color:#008080}
+.CodeRay .hex{color:#058}
+.CodeRay .integer,.CodeRay .float{color:#099}
+.CodeRay .include{color:#555}
+.CodeRay .inline{color:#000}
+.CodeRay .inline .inline{background:#ccc}
+.CodeRay .inline .inline .inline{background:#bbb}
+.CodeRay .inline .inline-delimiter{color:#d14}
+.CodeRay .inline-delimiter{color:#d14}
+.CodeRay .important{color:#555;font-weight:bold}
+.CodeRay .interpreted{color:#b2b}
+.CodeRay .instance-variable{color:#008080}
+.CodeRay .label{color:#970}
+.CodeRay .local-variable{color:#963}
+.CodeRay .octal{color:#40e}
+.CodeRay .predefined{color:#369}
+.CodeRay .preprocessor{color:#579}
+.CodeRay .pseudo-class{color:#555}
+.CodeRay .directive{font-weight:bold}
+.CodeRay .type{font-weight:bold}
+.CodeRay .predefined-type{color:inherit}
+.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
+.CodeRay .key{color:#808}
+.CodeRay .key .delimiter{color:#606}
+.CodeRay .key .char{color:#80f}
+.CodeRay .value{color:#088}
+.CodeRay .regexp .delimiter{color:#808}
+.CodeRay .regexp .content{color:#808}
+.CodeRay .regexp .modifier{color:#808}
+.CodeRay .regexp .char{color:#d14}
+.CodeRay .regexp .function{color:#404;font-weight:bold}
+.CodeRay .string{color:#d20}
+.CodeRay .string .string .string{background:#ffd0d0}
+.CodeRay .string .content{color:#d14}
+.CodeRay .string .char{color:#d14}
+.CodeRay .string .delimiter{color:#d14}
+.CodeRay .shell{color:#d14}
+.CodeRay .shell .delimiter{color:#d14}
+.CodeRay .symbol{color:#990073}
+.CodeRay .symbol .content{color:#a60}
+.CodeRay .symbol .delimiter{color:#630}
+.CodeRay .tag{color:#008080}
+.CodeRay .tag-special{color:#d70}
+.CodeRay .variable{color:#036}
+.CodeRay .insert{background:#afa}
+.CodeRay .delete{background:#faa}
+.CodeRay .change{color:#aaf;background:#007}
+.CodeRay .head{color:#f8f;background:#505}
+.CodeRay .insert .insert{color:#080}
+.CodeRay .delete .delete{color:#800}
+.CodeRay .change .change{color:#66f}
+.CodeRay .head .head{color:#f4f}
+    </style> 
+ </head> 
+ <body data-spy="scroll" data-target="#toc"> 
+  <div id="basedir" style="display:none;">
+   ../../
+  </div> 
+  <div id="docname" style="display:none;">
+   rgcfg
+  </div> 
+  <div id="filetype" style="display:none;">
+   html
+  </div> 
+  <!-- Navbar --> 
+  <nav class="navbar navbar-default navbar-static-top header"> 
+   <div class="container"> 
+    <div class="navbar-header"> 
+     <!-- Three line menu button for use on mobile screens --> 
+     <button type="button" class="navbar-toggle collapsed" 
data-toggle="collapse" data-target="#navbar" aria-expanded="false" 
aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span 
class="icon-bar"></span> <span class="icon-bar"></span> <span 
class="icon-bar"></span> </button> 
+     <a class="navbar-brand" href="../../index.html"> <img alt="Brand" 
src="../../images/isis-logo-48x48.png"> </a> 
+     <a class="navbar-brand" href="../../index.html">Apache Isis</a> 
+    </div> 
+    <!-- Navbar that will collapse on mobile screens --> 
+    <div id="navbar" class="navbar-collapse collapse"> 
+     <ul class="nav navbar-nav"> 
+      <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown" role="button" aria-haspopup="true" 
aria-expanded="false">Documentation<span class="caret"></span></a> 
+       <ul class="dropdown-menu"> 
+        <li><a href="../../documentation.html">Table of Contents</a></li> 
+        <li role="separator" class="divider"></li> 
+        <li class="dropdown-header">User Guides</li> 
+        <li><a href="../../guides/ugfun/ugfun.html">Fundamentals</a></li> 
+        <li><a href="../../guides/ugvw/ugvw.html">Wicket Viewer</a></li> 
+        <li><a href="../../guides/ugvro/ugvro.html">Restful Objects 
Viewer</a></li> 
+        <li><a href="../../guides/ugodn/ugodn.html">DataNucleus Object 
Store</a></li> 
+        <li><a href="../../guides/ugsec/ugsec.html">Security</a></li> 
+        <li><a href="../../guides/ugtst/ugtst.html">Testing</a></li> 
+        <li><a href="../../guides/ugbtb/ugbtb.html">Beyond the Basics</a></li> 
+        <li role="separator" class="divider"></li> 
+        <li class="dropdown-header">Reference Guides</li> 
+        <li><a href="../../guides/rgant/rgant.html">Annotations</a></li> 
+        <li><a href="../../guides/rgsvc/rgsvc.html">Domain Services</a></li> 
+        <li><a href="../../guides/rgcfg/rgcfg.html">Core Config' 
Properties</a></li> 
+        <li><a href="../../guides/rgcms/rgcms.html">Classes, Methods and 
Schema</a></li> 
+        <li><a href="../../guides/rgmvn/rgmvn.html">Maven plugin</a></li> 
+        <li><a href="../../guides/rgfis/rgfis.html">Framework Internal 
Services</a></li> 
+        <li role="separator" class="divider"></li> 
+        <li class="dropdown-header">Javadoc</li> 
+        <li><a 
href="http://javadoc.io/doc/org.apache.isis.core/isis-core-applib";>Applib</a></li>
 
+       </ul> </li> 
+      <li class="dropdown  hidden-sm hidden-md"> <a href="#" 
class="dropdown-toggle" data-toggle="dropdown" role="button" 
aria-haspopup="true" aria-expanded="false">Downloads<span 
class="caret"></span></a> 
+       <ul class="dropdown-menu"> 
+        <li class="dropdown-header">Maven archetypes</li> 
+        <li><a 
href="../../guides/ugfun/ugfun.html#_ugfun_getting-started_helloworld-archetype">helloworld</a></li>
 
+        <li><a 
href="../../guides/ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">simpleapp</a></li>
 
+        <li role="separator" class="divider"></li> 
+        <li><a href="../../downloads.html">Downloads</a></li> 
+        <li><a href="../../release-notes/release-notes.html">Release 
Notes</a></li> 
+        <li><a href="../../migration-notes/migration-notes.html">Migration 
Notes</a></li> 
+        <li role="separator" class="divider"></li> 
+        <li><a href="https://github.com/apache/isis";>Github mirror</a></li> 
+       </ul> </li> 
+      <li class="dropdown  hidden-sm"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown" role="button" aria-haspopup="true" 
aria-expanded="false">Support<span class="caret"></span></a> 
+       <ul class="dropdown-menu"> 
+        <li class="dropdown-header">Guides</li> 
+        <li><a href="../../guides/dg/dg.html">Developers' Guide</a></li> 
+        <li><a href="../../guides/cgcom/cgcom.html">Committers' Guide</a></li> 
+        <li><a href="../../guides/htg.html">Hints-n-Tips Guide</a></li> 
+        <li role="separator" class="divider"></li> 
+        <li class="dropdown-header">Mailing Lists</li> 
+        <li><a href="../../support.html">How to subscribe</a></li> 
+        <li><a 
href="https://lists.apache.org/list.html?us...@isis.apache.org";>Archives (ASF 
Pony mail)</a></li> 
+        <li><a href="http://isis.markmail.org/search/?q=";>Archives 
(Markmail)</a></li> 
+        <li role="separator" class="divider"></li> 
+        <li class="dropdown-header">Other Resources</li> 
+        <li><a href="https://issues.apache.org/jira/browse/ISIS";>ASF 
JIRA</a></li> 
+        <li><a href="http://stackoverflow.com/questions/tagged/isis";>Stack 
Overflow</a></li> 
+        <li><a href="../../help.html">Wiki, Fisheye etc.</a></li> 
+       </ul> </li> 
+      <li class="dropdown hidden-sm hidden-md"> <a href="#" 
class="dropdown-toggle" data-toggle="dropdown" role="button" 
aria-haspopup="true" aria-expanded="false">@ASF<span class="caret"></span></a> 
+       <ul class="dropdown-menu"> 
+        <li><a href="http://www.apache.org/";>Apache Homepage</a></li> 
+        <li><a href="http://www.apache.org/licenses/";>Licenses</a></li> 
+        <li><a href="http://www.apache.org/security/";>Security</a></li> 
+        <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li> 
+        <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li> 
+        <li role="separator" class="divider"></li> 
+        <li><a href="https://whimsy.apache.org/board/minutes/Isis.html";>PMC 
board minutes</a></li> 
+       </ul> </li> 
+     </ul> 
+     <div class="nav navbar-nav navbar-right"> 
+      <!-- 'style' added to fix height of input box. FIX THIS --> 
+      <form class="navbar-form" role="search" id="search-form" style="padding: 
1px 15px;"> 
+       <div class="form-group"> 
+        <input class="form-control" id="search-field" type="text" size="30" 
placeholder="Search"> 
+       </div> 
+      </form> 
+     </div> 
+     <p class="nav navbar-text navbar-right small">v2.0.0-M1-SNAPSHOT</p> 
+    </div> 
+   </div> 
+  </nav> 
+  <div class="container"> 
+   <div class="row-fluid"> 
+    <div class="col-xs-12 col-sm-12 col-md-12 col-lg-9"> 
+     <div id="search-panel"> 
+      <div id="search-results"></div> 
+      <div> 
+       <br> 
+       <a href="#" id="search-results-clear">clear</a> 
+      </div> 
+     </div> 
+     <span class="pdf-link"><a href="rgcfg.pdf"><img 
src="../../images/PDF-50.png"></a></span> 
+     <div class="page-title"> 
+      <h1>Core Config’n Properties</h1> 
+     </div> 
+     <div id="doc-content">
+      <div class="btn-group" style="float: right; font-size: small; padding: 
6px;  ">
+       <button type="button" class="btn btn-xs btn-default" 
onclick="window.location.href=&quot;https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/rgcfg.adoc&quot;";><i
 class="fa fa-pencil-square-o"></i>&nbsp;Edit</button>
+       <button type="button" class="btn btn-xs btn-default dropdown-toggle" 
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span 
class="caret"></span><span class="sr-only">Toggle Dropdown</span></button>
+       <ul class="dropdown-menu">
+        <li><a 
href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/rgcfg.adoc";
 target="_blank"><i class="fa fa-pencil-square-o fa-fw" 
aria-hidden="true"></i>&nbsp; Edit</a></li>
+        <li><a 
href="https://github.com/apache/isis/commits/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/rgcfg.adoc";
 target="_blank"><i class="fa fa-clock-o fa-fw" aria-hidden="true"></i>&nbsp; 
History</a></li>
+        <li><a 
href="https://github.com/apache/isis/raw/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/rgcfg.adoc";
 target="_blank"><i class="fa fa-file-text-o fa-fw" 
aria-hidden="true"></i>&nbsp; Raw</a></li>
+        <li><a 
href="https://github.com/apache/isis/blame/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/rgcfg.adoc";
 target="_blank"><i class="fa fa-hand-o-right fa-fw" 
aria-hidden="true"></i>&nbsp; Blame</a></li>
+       </ul>
+      </div> 
+      <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> 
+          <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/ugvw.html">Wicket Viewer</a> guide and the <a 
href="../ugvro/ugvro.html">RestfulObjects viewer</a> guide. Likewise details of 
configuring security (Apache Shiro) can be found in the <a 
href="../ugsec/ugsec.html">Security</a> guide, and details for configuring the 
DataNucleus Object Store can be found in the <a 
href="../ugodn/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/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/ugfun.html">Fundamentals</a></p> </li> 
+           <li> <p><a href="../ugvw/ugvw.html">Wicket viewer</a></p> </li> 
+           <li> <p><a href="../ugvro/ugvro.html">Restful Objects 
viewer</a></p> </li> 
+           <li> <p><a href="../ugodn/ugodn.html">DataNucleus object 
store</a></p> </li> 
+           <li> <p><a href="../ugsec/ugsec.html">Security</a></p> </li> 
+           <li> <p><a href="../ugtst/ugtst.html">Testing</a></p> </li> 
+           <li> <p><a href="../ugbtb/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/rgant.html">Annotations</a></p> </li> 
+           <li> <p><a href="../rgsvc/rgsvc.html">Domain Services</a></p> </li> 
+           <li> <p><a href="../rgcfg/rgcfg.html">Configuration Properties</a> 
(this guide)</p> </li> 
+           <li> <p><a href="../rgcms/rgcms.html">Classes, Methods and 
Schema</a></p> </li> 
+           <li> <p><a href="../rgmvn/rgmvn.html">Apache Isis Maven 
plugin</a></p> </li> 
+           <li> <p><a href="../rgfis/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/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/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="btn-group" style="float: right; font-size: small; padding: 
6px; margin-top: -55px; ">
+        <button type="button" class="btn btn-xs btn-default" 
onclick="window.location.href=&quot;https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_deployment-types.adoc&quot;";><i
 class="fa fa-pencil-square-o"></i>&nbsp;Edit</button>
+        <button type="button" class="btn btn-xs btn-default dropdown-toggle" 
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span 
class="caret"></span><span class="sr-only">Toggle Dropdown</span></button>
+        <ul class="dropdown-menu">
+         <li><a 
href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_deployment-types.adoc";
 target="_blank"><i class="fa fa-pencil-square-o fa-fw" 
aria-hidden="true"></i>&nbsp; Edit</a></li>
+         <li><a 
href="https://github.com/apache/isis/commits/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_deployment-types.adoc";
 target="_blank"><i class="fa fa-clock-o fa-fw" aria-hidden="true"></i>&nbsp; 
History</a></li>
+         <li><a 
href="https://github.com/apache/isis/raw/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_deployment-types.adoc";
 target="_blank"><i class="fa fa-file-text-o fa-fw" 
aria-hidden="true"></i>&nbsp; Raw</a></li>
+         <li><a 
href="https://github.com/apache/isis/blame/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_deployment-types.adoc";
 target="_blank"><i class="fa fa-hand-o-right fa-fw" 
aria-hidden="true"></i>&nbsp; Blame</a></li>
+        </ul>
+       </div> 
+       <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/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’re likely to run Apache Isis using the <a 
href="../ugvw/ugvw.html">Wicket viewer</a>. In this case Apache Isis' 
"deployment type" concept maps to Wicket’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’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’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>
+    <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;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/ugvw.html">Wicket viewer</a> and optionally the <a 
href="../ugvro/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’t have deployed the Wicket viewer. In these 
cases your app will be bootstrapped using Apache Isis' <a 
href="../ugbtb/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;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/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 "…​" 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/ugvw.html">Wicket 
viewer</a> and the <a href="../ugvro/ugvro.html">RestfulObjects viewer</a>.</p> 
+         </div> 
+        </div> 
+       </div> 
+      </div> 
+      <div class="sect1"> 
+       <h2 id="_rgcfg_configuration-files">3. Configuration Files</h2>
+       <div class="btn-group" style="float: right; font-size: small; padding: 
6px; margin-top: -55px; ">
+        <button type="button" class="btn btn-xs btn-default" 
onclick="window.location.href=&quot;https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuration-files.adoc&quot;";><i
 class="fa fa-pencil-square-o"></i>&nbsp;Edit</button>
+        <button type="button" class="btn btn-xs btn-default dropdown-toggle" 
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span 
class="caret"></span><span class="sr-only">Toggle Dropdown</span></button>
+        <ul class="dropdown-menu">
+         <li><a 
href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuration-files.adoc";
 target="_blank"><i class="fa fa-pencil-square-o fa-fw" 
aria-hidden="true"></i>&nbsp; Edit</a></li>
+         <li><a 
href="https://github.com/apache/isis/commits/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuration-files.adoc";
 target="_blank"><i class="fa fa-clock-o fa-fw" aria-hidden="true"></i>&nbsp; 
History</a></li>
+         <li><a 
href="https://github.com/apache/isis/raw/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuration-files.adoc";
 target="_blank"><i class="fa fa-file-text-o fa-fw" 
aria-hidden="true"></i>&nbsp; Raw</a></li>
+         <li><a 
href="https://github.com/apache/isis/blame/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuration-files.adoc";
 target="_blank"><i class="fa fa-hand-o-right fa-fw" 
aria-hidden="true"></i>&nbsp; Blame</a></li>
+        </ul>
+       </div> 
+       <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/ugvw.html">Wicket viewer</a> is in use</p> </li> 
+          <li> <p><code>viewer_restfulobjects.properties</code> - if the <a 
href="../ugvro/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’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_specifying-components">4. Specifying components</h2>
+       <div class="btn-group" style="float: right; font-size: small; padding: 
6px; margin-top: -55px; ">
+        <button type="button" class="btn btn-xs btn-default" 
onclick="window.location.href=&quot;https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc&quot;";><i
 class="fa fa-pencil-square-o"></i>&nbsp;Edit</button>
+        <button type="button" class="btn btn-xs btn-default dropdown-toggle" 
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span 
class="caret"></span><span class="sr-only">Toggle Dropdown</span></button>
+        <ul class="dropdown-menu">
+         <li><a 
href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc";
 target="_blank"><i class="fa fa-pencil-square-o fa-fw" 
aria-hidden="true"></i>&nbsp; Edit</a></li>
+         <li><a 
href="https://github.com/apache/isis/commits/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc";
 target="_blank"><i class="fa fa-clock-o fa-fw" aria-hidden="true"></i>&nbsp; 
History</a></li>
+         <li><a 
href="https://github.com/apache/isis/raw/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc";
 target="_blank"><i class="fa fa-file-text-o fa-fw" 
aria-hidden="true"></i>&nbsp; Raw</a></li>
+         <li><a 
href="https://github.com/apache/isis/blame/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc";
 target="_blank"><i class="fa fa-hand-o-right fa-fw" 
aria-hidden="true"></i>&nbsp; Blame</a></li>
+        </ul>
+       </div> 
+       <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>The recommended approach is to use an <a 
href="../rgcms/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.</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/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>In the <code>AppManifest</code> itself, there are two methods 
which specify how authentication and authorisation are configured:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="java"><span 
class="directive">public</span> <span class="type">interface</span> <span 
class="class">AppManifest</span> {
+    ...
+    String getAuthenticationMechanism();
+    <span class="predefined-type">String</span> getAuthorizationMechanism();
+    ...
+}</code></pre> 
+         </div> 
+        </div> 
+        <div class="paragraph"> 
+         <p>These can return either:</p> 
+        </div> 
+        <div class="ulist"> 
+         <ul> 
+          <li> <p>"shiro" - enable integration with Apache Shiro, as described 
in the <a href="../ugsec/ugsec.html">security</a> user guide</p> </li> 
+          <li> <p>"bypass" - bypass security (in effect, configure a no-op 
implementation that allows everything).</p> </li> 
+         </ul> 
+        </div> 
+        <div class="paragraph"> 
+         <p>Note that these 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> 
+        <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/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> 
+       </div> 
+      </div> 
+      <div class="sect1"> 
+       <h2 id="_rgcfg_configuring-core">5. Configuring Core</h2>
+       <div class="btn-group" style="float: right; font-size: small; padding: 
6px; margin-top: -55px; ">
+        <button type="button" class="btn btn-xs btn-default" 
onclick="window.location.href=&quot;https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc&quot;";><i
 class="fa fa-pencil-square-o"></i>&nbsp;Edit</button>
+        <button type="button" class="btn btn-xs btn-default dropdown-toggle" 
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span 
class="caret"></span><span class="sr-only">Toggle Dropdown</span></button>
+        <ul class="dropdown-menu">
+         <li><a 
href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc";
 target="_blank"><i class="fa fa-pencil-square-o fa-fw" 
aria-hidden="true"></i>&nbsp; Edit</a></li>
+         <li><a 
href="https://github.com/apache/isis/commits/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc";
 target="_blank"><i class="fa fa-clock-o fa-fw" aria-hidden="true"></i>&nbsp; 
History</a></li>
+         <li><a 
href="https://github.com/apache/isis/raw/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc";
 target="_blank"><i class="fa fa-file-text-o fa-fw" 
aria-hidden="true"></i>&nbsp; Raw</a></li>
+         <li><a 
href="https://github.com/apache/isis/blame/master/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc";
 target="_blank"><i class="fa fa-hand-o-right fa-fw" 
aria-hidden="true"></i>&nbsp; Blame</a></li>
+        </ul>
+       </div> 
+       <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> 
+          <tbody>
+           <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/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/ugvw.html#_ugvw_configuration-properties">here for Wicket 
viewer</a>, and <a 
href="../ugvro/ugvro.html#_ugvro_configuration-properties">here for the Restful 
Objects viewer</a>.</p> 
+             </div> </td> 
+           </tr> 
+          </tbody>
+         </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 3. 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/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/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/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 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>In order for these events to fire the 
action/collection/propert must, at least, be configured with the relevant 
annotation (even if no attributes on that annotation are set).</p> 
+              </div> </td> 
+            </tr> 
+           </tbody>
+          </table> 
+         </div> 
+        </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 4. 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/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/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/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/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/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/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/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 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>In order for these events to fire the class must be 
annotated using <code>@DomainObject</code> (even if no attributes on that 
annotation are set).</p> 
+              </div> </td> 
+            </tr> 
+           </tbody>
+          </table> 
+         </div> 
+        </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 5. 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/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/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/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 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>In order for these events to fire the class must be 
annotated using <code>@DomainObjectLayout</code> (even if no attributes on that 
annotation are set).</p> 
+              </div> </td> 
+            </tr> 
+           </tbody>
+          </table> 
+         </div> 
+        </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 6. 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>,…​</p></td> 
+            <td class="tableblock halign-left valign-top">
+             <div>
+              <div class="paragraph"> 
+               <p>NO LONGER REQUIRED; replaced by <a 
href="../rgcms/rgcms.html#_rgcms_classes_super_AppManifest"><code>AppManifest</code></a>.</p>
 
+              </div> 
+              <div class="paragraph"> 
+               <p>(It used to define the list of fully qualified class names 
of classes to be instantiated as domain services; this is now inferred from the 
list of modules provided to the app manifest).</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/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>none</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/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>none</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/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>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…​()</code> as a prefix for injecting domain services into 
other domain objects.</p> 
+              </div> 
+              <div class="paragraph"> 
+               <p>+ By default this is disabled. This can help 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…​()</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/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/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/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>NO LONGER REQUIRED; replaced by <a 
href="../rgcms/rgcms.html#_rgcms_classes_super_AppManifest"><code>AppManifest</code></a>.</p>
 
+              </div> 
+              <div class="paragraph"> 
+               <p>(It used to define the list of packages to search for domain 
services; ; this is now inferred from the list of modules provided to the app 
manifest).</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 7. 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/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’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>checkModuleExtent</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 all domain objects discovered reside 
under the top-level module of the app manifest.</p> 
+              </div> 
+              <div class="paragraph"> 
+               <p>Note that the application must be bootstrapped using an 
<code>AppManifest2</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>ensureUniqueObjectTypes</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 ensure that all classes in the metamodel map to a 
different object type (typically either as explicitly specified using 
<code>@DomainObject(objectType=…​)</code>, or their class name as a 
fallback).</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’s concrete class; it is one part of the object’s OID and can be seen 
in the URLs of the <a href="../ugvw/ugvw.html">Wicket viewer</a> and <a 
href="../ugvro/ugvro.html">Restful Objects viewer</a>, and is encoded in the 
<code>Bookmark</code>s returned by the <a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-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>jaxbViewModel</code><br> <code>NotAbstract</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>Ensures that all <a 
href="../ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">JAXB view 
model</a>s are not <code>abstract</code> (so can be instantiated).</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>jaxbViewModel</code><br> <code>NotInnerClass</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>Ensures that all <a 
href="../ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">JAXB view 
model</a>s are not inner classes (so can be instantiated).</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>jaxbViewModel</code><br> <code>NoArgConstructor</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>Ensures that all <a 
href="../ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">JAXB view 
model</a>s have a <code>public</code> no-arg constructor.<br></p> 
+              </div> 
+              <div class="paragraph"> 
+               <p>This isn’t actually required (hence not enabled by 
default) but is arguably good practice.</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>jaxbViewModel</code><br> <code>ReferenceTypeAdapter</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>Ensures that for all <a 
href="../ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">JAXB view 
model</a>s with properties that reference persistent entities, that those 
entities are annotated with <code>@XmlJavaTypeAdapter</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>jaxbViewModel</code><br> <code>DateTimeTypeAdapter</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>Ensures that for all <a 
href="../ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">JAXB view 
model</a>s with properties that are dates or times, that those properties are 
annotated with <code>@XmlJavaTypeAdapter</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>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/rgcms.html#_rgcms_methods_prefixes_disable"><code>disableXxx()</code></a>
 or <a 
href="../rgcms/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="../ugfun/ugfun.html#_ugfun_building-blocks_types-of-domain-objects_mixins">mixins</a>
 must be used instead of <a 
href="../ugfun/ugfun.html#_ugfun_programming-model_domain-services_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 class="paragraph"> 
+          <p>Also:</p> 
+         </div> 
+         <table class="tableblock frame-all grid-all spread"> 
+          <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

<TRUNCATED>

Reply via email to