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:27 UTC

[29/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/rgmvn.html
----------------------------------------------------------------------
diff --git a/content/guides/rgmvn.html b/content/guides/rgmvn.html
index f9908a4..00c924c 100644
--- a/content/guides/rgmvn.html
+++ b/content/guides/rgmvn.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>Apache Isis Maven plugin</title>
-
-    <!--
+ <head> 
+  <meta charset="utf-8"> 
+  <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
+  <title>Apache Isis Maven plugin</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,220 +406,155 @@ 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="_rgmvn">1. Apache Isis Maven plugin</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>This reference guide describes the goals provided by Apache Isis' Maven plugin.</p>
-</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="rgcfg.html">Configuration Properties</a></p>
-</li>
-<li>
-<p><a href="rgcms.html">Classes, Methods and Schema</a></p>
-</li>
-<li>
-<p><a href="#">Apache Isis Maven plugin</a> (this guide)</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="_rgmvn_intro">2. Introduction</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Apache Isis Maven plugin defines three goals:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><code>validate</code><br></p>
-<div class="paragraph">
-<p>Use to verify at build time that the metamodel of an application is valid.  This runs the <code>MetaModelValidator</code> that is also run when the application is started up.</p>
-</div>
-</li>
-<li>
-<p><code>swagger</code><br></p>
-<div class="paragraph">
-<p>Uses the <a href="rgsvc.html#_rgsvc_api_SwaggerService"><code>SwaggerService</code></a> to generate <a href="http://swagger.io">Swagger</a> spec files that describe the public and/or private RESTful APIs exposed by the <a href="ugvro.html">RestfulObjects viewer</a>.</p>
-</div>
-</li>
-<li>
-<p><code>xsd</code><br></p>
-<div class="paragraph">
-<p>Uses the <a href="rgsvc.html#_rgsvc_api_JaxbService"><code>JaxbService</code></a> to generate XSD schemas from any JAXB-annotated view models/DTOs.<br></p>
-</div>
-<div class="paragraph">
-<p>This is instead of and preferable to using the JAXB <a href="https://jaxb.java.net/2.2.4/docs/schemagen.html">schemagen</a> tool, because it uses the framework&#8217;s support (via <a href="rgant.html#_rgant-XmlJavaTypeAdapter"><code>@XmlJavaTypeAdapter</code></a>) to translate any references to domain objects into <code>OidDto</code>s (as defined by the Apache Isis <a href="rgcms.html#_rgcms_schema-common">common schema</a>).</p>
-</div>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>The <code>validate</code> goal is by default bound to the <code>test</code> phase, and the <code>swagger</code> goal is by default bound to the <code>package</code> phase; both are typically of your application&#8217;s <code>dom</code> sub-module.  The <code>xsd</code> goal meanwhile defaults to the <code>generate-resources</code> phase, and this is generally used in a completely separate sub-module.  An example can be found in the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a> example app; the separate submodule that uses the <code>xsd</code> goal is (also) called <code>todoapp-xsd</code>.</p>
-</div>
-<div class="paragraph">
-<p>All of these goals require an <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping"><code>AppManifest</code></a> to point the plugin at, so that
-it knows how to bootstrap an Isis runtime.  This is discussed below, followed by sections on configuring the two goals.</p>
-</div>
-<div class="sect2">
-<h3 id="_rgmvn_intro_app-manifest">2.1. <code>AppManifest</code></h3>
-<div class="paragraph">
-<p>As noted in the introduction, all the goals require an <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping"><code>AppManifest</code></a>
-to point the plugin at, so that it knows how to bootstrap an Isis runtime.</p>
-</div>
-<div class="paragraph">
-<p>This can be extremely minimal; it isn&#8217;t necessary to use the main <code>AppManifest</code> (in the <code>app</code> module) used to
-bootstrap the application, you can instead use a cut-down one.  This then allows the plugins to be run during the
-build of the <code>dom</code> module, rather than having to run in the context of the <code>integtest</code> module.</p>
-</div>
-<div class="paragraph">
-<p>For example, the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp</a>'s
-manifest is:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">package</span> <span class="namespace">domainapp.dom</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/rgmvn.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="_rgmvn">1. Apache Isis Maven plugin</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/_rgmvn.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>This reference guide describes the goals provided by Apache Isis' Maven plugin.</p> 
+       </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="rgcfg.html">Configuration Properties</a></p> </li> 
+          <li> <p><a href="rgcms.html">Classes, Methods and Schema</a></p> </li> 
+          <li> <p><a href="#">Apache Isis Maven plugin</a> (this guide)</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="_rgmvn_intro">2. Introduction</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/_rgmvn_intro.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>The Apache Isis Maven plugin defines three goals:</p> 
+       </div> 
+       <div class="ulist"> 
+        <ul> 
+         <li> <p><code>validate</code><br></p> 
+          <div class="paragraph"> 
+           <p>Use to verify at build time that the metamodel of an application is valid. This runs the <code>MetaModelValidator</code> that is also run when the application is started up.</p> 
+          </div> </li> 
+         <li> <p><code>swagger</code><br></p> 
+          <div class="paragraph"> 
+           <p>Uses the <a href="rgsvc.html#_rgsvc_api_SwaggerService"><code>SwaggerService</code></a> to generate <a href="http://swagger.io">Swagger</a> spec files that describe the public and/or private RESTful APIs exposed by the <a href="ugvro.html">RestfulObjects viewer</a>.</p> 
+          </div> </li> 
+         <li> <p><code>xsd</code><br></p> 
+          <div class="paragraph"> 
+           <p>Uses the <a href="rgsvc.html#_rgsvc_api_JaxbService"><code>JaxbService</code></a> to generate XSD schemas from any JAXB-annotated view models/DTOs.<br></p> 
+          </div> 
+          <div class="paragraph"> 
+           <p>This is instead of and preferable to using the JAXB <a href="https://jaxb.java.net/2.2.4/docs/schemagen.html">schemagen</a> tool, because it uses the framework\u2019s support (via <a href="rgant.html#_rgant-XmlJavaTypeAdapter"><code>@XmlJavaTypeAdapter</code></a>) to translate any references to domain objects into <code>OidDto</code>s (as defined by the Apache Isis <a href="rgcms.html#_rgcms_schema-common">common schema</a>).</p> 
+          </div> </li> 
+        </ul> 
+       </div> 
+       <div class="paragraph"> 
+        <p>The <code>validate</code> goal is by default bound to the <code>test</code> phase, and the <code>swagger</code> goal is by default bound to the <code>package</code> phase; both are typically of your application\u2019s <code>dom</code> sub-module. The <code>xsd</code> goal meanwhile defaults to the <code>generate-resources</code> phase, and this is generally used in a completely separate sub-module. An example can be found in the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a> example app; the separate submodule that uses the <code>xsd</code> goal is (also) called <code>todoapp-xsd</code>.</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>All of these goals require an <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping"><code>AppManifest</code></a> to point the plugin at, so that it knows how to bootstrap an Isis runtime. This is discussed below, followed by sections on configuring the two goals.</p> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_rgmvn_intro_app-manifest">2.1. <code>AppManifest</code></h3> 
+        <div class="paragraph"> 
+         <p>As noted in the introduction, all the goals require an <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping"><code>AppManifest</code></a> to point the plugin at, so that it knows how to bootstrap an Isis runtime.</p> 
+        </div> 
+        <div class="paragraph"> 
+         <p>This can be extremely minimal; it isn\u2019t necessary to use the main <code>AppManifest</code> (in the <code>app</code> module) used to bootstrap the application, you can instead use a cut-down one. This then allows the plugins to be run during the build of the <code>dom</code> module, rather than having to run in the context of the <code>integtest</code> module.</p> 
+        </div> 
+        <div class="paragraph"> 
+         <p>For example, the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp</a>'s manifest is:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">package</span> <span class="namespace">domainapp.dom</span>;
 ...
 public <span class="type">class</span> <span class="class">DomainAppDomManifest</span> <span class="directive">implements</span> AppManifest {
     <span class="annotation">@Override</span>
@@ -657,102 +573,85 @@ public <span class="type">class</span> <span class="class">DomainAppDomManifest<
     <span class="directive">public</span> <span class="predefined-type">List</span>&lt;<span class="predefined-type">Class</span>&lt;? <span class="directive">extends</span> FixtureScript&gt;&gt; getFixtures() { <span class="keyword">return</span> <span class="predefined-constant">null</span>; }
     <span class="annotation">@Override</span>
     <span class="directive">public</span> <span class="predefined-type">Map</span>&lt;<span class="predefined-type">String</span>, <span class="predefined-type">String</span>&gt; getConfigurationProperties() { <span class="keyword">return</span> <span class="predefined-constant">null</span>; }
-}</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>where <code>DomainAppDomainModule</code> simply identifies the package for the manifest to search under:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">package</span> <span class="namespace">domainapp.dom</span>;
-<span class="directive">public</span> <span class="directive">final</span> <span class="type">class</span> <span class="class">DomainAppDomainModule</span> { }</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>The downside of using a minimal <code>AppManifest</code> in the <code>dom</code> module is that any contributed actions/associations will
-be ignored.</p>
-</div>
-<div class="paragraph">
-<p>We recommend the following:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>run the <code>validate</code> goal in the <code>dom</code> submodule; this will give early warning if there are any syntactic errors in the
-model, eg orphaned supporting methods</p>
-</li>
-<li>
-<p>run the <code>swagger</code> goal in the <code>integtest</code> submodule; this ensures that the generated Swagger spec files correctly
-include any contributed actions/associations.</p>
-</li>
-<li>
-<p>run the <code>xsd</code> plugin in a new <code>xsd</code> submodule; contributed actions are irrelevant for this particular goal; having a
-separate submodule allows the configuration of both the <code>xsd</code> goal (to generate the XSD schemas) and any other XSD-related configuration to be kept in a single place.</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>The <a href="ug.html#_ug_getting-started_simpleapp-archetype">SimpleApp archetype</a> reflects these recommendations for
-the <code>validate</code> and <code>swagger</code> goals.  You can find an example of the <code>xsd</code> plugin in the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a> application.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_rgmvn_validate">3. <code>validate</code> goal</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Apache Isis programming model requires that a number of naming conventions are followed.</p>
-</div>
-<div class="paragraph">
-<p>For example, the validator will detect any orphaned supporting methods (eg <code>hideXxx()</code>) if the corresponding property
-or action has been renamed or deleted but the supporting method was not also updated.  Another example is that a class
-cannot have a title specified both using <code>title()</code> method and also using <code>@Title</code> annotation.</p>
-</div>
-<div class="paragraph">
-<p>When running the application these are enforced by the <code>MetaModelValidator</code> component that detects these errors, failing fast.</p>
-</div>
-<div class="paragraph">
-<p>The purpose of the <code>validate</code> goal of the <code>isis-maven-plugin</code> is to enforce these naming conventions at build time,
-typically enforced by way of a continuous integration server.</p>
-</div>
-<div class="paragraph">
-<p>The <code>validate</code> goal defines a single property:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><code>appManifest</code> - fully qualified class name for the app manifest used to bootstrap the application (see discussion above)</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>The sections below explain how to configure the plugin within an app.</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>The instructions given here relate to <code>1.10.0</code>.   This goal was also released for <code>1.9.0</code>, but with a slightly
-different configuration; see the final section for differences.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="sect2">
-<h3 id="__code_dom_code_submodule">3.1. <code>dom</code> submodule</h3>
-<div class="paragraph">
-<p>Update the <code>pom.xml</code> (we recommend in your project&#8217;s <code>dom</code> module, and with a <a href="#_rgmvn_intro_app-manifest">minimal AppManifest</a>):</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
+}</code></pre> 
+         </div> 
+        </div> 
+        <div class="paragraph"> 
+         <p>where <code>DomainAppDomainModule</code> simply identifies the package for the manifest to search under:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">package</span> <span class="namespace">domainapp.dom</span>;
+<span class="directive">public</span> <span class="directive">final</span> <span class="type">class</span> <span class="class">DomainAppDomainModule</span> { }</code></pre> 
+         </div> 
+        </div> 
+        <div class="paragraph"> 
+         <p>The downside of using a minimal <code>AppManifest</code> in the <code>dom</code> module is that any contributed actions/associations will be ignored.</p> 
+        </div> 
+        <div class="paragraph"> 
+         <p>We recommend the following:</p> 
+        </div> 
+        <div class="ulist"> 
+         <ul> 
+          <li> <p>run the <code>validate</code> goal in the <code>dom</code> submodule; this will give early warning if there are any syntactic errors in the model, eg orphaned supporting methods</p> </li> 
+          <li> <p>run the <code>swagger</code> goal in the <code>integtest</code> submodule; this ensures that the generated Swagger spec files correctly include any contributed actions/associations.</p> </li> 
+          <li> <p>run the <code>xsd</code> plugin in a new <code>xsd</code> submodule; contributed actions are irrelevant for this particular goal; having a separate submodule allows the configuration of both the <code>xsd</code> goal (to generate the XSD schemas) and any other XSD-related configuration to be kept in a single place.</p> </li> 
+         </ul> 
+        </div> 
+        <div class="paragraph"> 
+         <p>The <a href="ug.html#_ug_getting-started_simpleapp-archetype">SimpleApp archetype</a> reflects these recommendations for the <code>validate</code> and <code>swagger</code> goals. You can find an example of the <code>xsd</code> plugin in the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a> application.</p> 
+        </div> 
+       </div> 
+      </div> 
+     </div> 
+     <div class="sect1"> 
+      <h2 id="_rgmvn_validate">3. <code>validate</code> goal</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/_rgmvn_validate.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>The Apache Isis programming model requires that a number of naming conventions are followed.</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>For example, the validator will detect any orphaned supporting methods (eg <code>hideXxx()</code>) if the corresponding property or action has been renamed or deleted but the supporting method was not also updated. Another example is that a class cannot have a title specified both using <code>title()</code> method and also using <code>@Title</code> annotation.</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>When running the application these are enforced by the <code>MetaModelValidator</code> component that detects these errors, failing fast.</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>The purpose of the <code>validate</code> goal of the <code>isis-maven-plugin</code> is to enforce these naming conventions at build time, typically enforced by way of a continuous integration server.</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>The <code>validate</code> goal defines a single property:</p> 
+       </div> 
+       <div class="ulist"> 
+        <ul> 
+         <li> <p><code>appManifest</code> - fully qualified class name for the app manifest used to bootstrap the application (see discussion above)</p> </li> 
+        </ul> 
+       </div> 
+       <div class="paragraph"> 
+        <p>The sections below explain how to configure the plugin within an app.</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>The instructions given here relate to <code>1.10.0</code>. This goal was also released for <code>1.9.0</code>, but with a slightly different configuration; see the final section for differences.</p> 
+            </div> </td> 
+          </tr> 
+         </tbody>
+        </table> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="__code_dom_code_submodule">3.1. <code>dom</code> submodule</h3> 
+        <div class="paragraph"> 
+         <p>Update the <code>pom.xml</code> (we recommend in your project\u2019s <code>dom</code> module, and with a <a href="#_rgmvn_intro_app-manifest">minimal AppManifest</a>):</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
     <span class="tag">&lt;id&gt;</span>isis-validate<span class="tag">&lt;/id&gt;</span>
     <span class="tag">&lt;activation&gt;</span>
         <span class="tag">&lt;property&gt;</span>
@@ -792,84 +691,86 @@ different configuration; see the final section for differences.</p>
             <span class="tag">&lt;/plugin&gt;</span>
         <span class="tag">&lt;/plugins&gt;</span>
     <span class="tag">&lt;/build&gt;</span>
-<span class="tag">&lt;/profile&gt;</span></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>the profile is active by default, though can be disabled using <code>-Dskip.isis-validate</code></td>
-</tr>
-<tr>
-<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>set to <code>1.10.0</code> (or any later version)</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>the manifest discussed <a href="#_rgmvn_intro_app-manifest">previously</a>; adjust as required</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td>the <code>dom</code> module for the project; adjust as required</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td>binds the plugin&#8217;s <code>validate</code> goal to the Maven <code>test</code> lifecycle phase (ie the goal will be called when <code>mvn test</code> is run).</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_to_run">3.2. To run</h3>
-<div class="paragraph">
-<p>The plugin is activated by default, so is run simply using:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">mvn test</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>This will run any tests, and then also - because the plugin is activated by the <code>isis-validate</code> property and bound to the <code>test</code> phase, will run the plugin&#8217;s <code>validate</code> goal.</p>
-</div>
-<div class="paragraph">
-<p>If for any reason you want to disable the validation, use:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">mvn test -Dskip.isis-validate</code></pre>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_example_of_failure">3.3. Example of failure</h3>
-<div class="paragraph">
-<p>In the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp</a> application the <code>SimpleObject</code> defines an <code>updateName</code> action.  This has a supporting method:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> SimpleObject updateName( ... ) { ... }
-<span class="directive">public</span> <span class="predefined-type">String</span> default0UpdateName() { ... }</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>We can introduce an error by misspelling the supporting method, for example:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="predefined-type">String</span> default0XUpdateName() { ... }</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Running <code>mvn test</code> then generates this output:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">[error]
+<span class="tag">&lt;/profile&gt;</span></code></pre> 
+         </div> 
+        </div> 
+        <div class="colist arabic"> 
+         <table> 
+          <tbody>
+           <tr> 
+            <td><i class="conum" data-value="1"></i><b>1</b></td> 
+            <td>the profile is active by default, though can be disabled using <code>-Dskip.isis-validate</code></td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="2"></i><b>2</b></td> 
+            <td>set to <code>1.10.0</code> (or any later version)</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="3"></i><b>3</b></td> 
+            <td>the manifest discussed <a href="#_rgmvn_intro_app-manifest">previously</a>; adjust as required</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="4"></i><b>4</b></td> 
+            <td>the <code>dom</code> module for the project; adjust as required</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="5"></i><b>5</b></td> 
+            <td>binds the plugin\u2019s <code>validate</code> goal to the Maven <code>test</code> lifecycle phase (ie the goal will be called when <code>mvn test</code> is run).</td> 
+           </tr> 
+          </tbody>
+         </table> 
+        </div> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_to_run">3.2. To run</h3> 
+        <div class="paragraph"> 
+         <p>The plugin is activated by default, so is run simply using:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="bash">mvn test</code></pre> 
+         </div> 
+        </div> 
+        <div class="paragraph"> 
+         <p>This will run any tests, and then also - because the plugin is activated by the <code>isis-validate</code> property and bound to the <code>test</code> phase, will run the plugin\u2019s <code>validate</code> goal.</p> 
+        </div> 
+        <div class="paragraph"> 
+         <p>If for any reason you want to disable the validation, use:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="bash">mvn test -Dskip.isis-validate</code></pre> 
+         </div> 
+        </div> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_example_of_failure">3.3. Example of failure</h3> 
+        <div class="paragraph"> 
+         <p>In the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp</a> application the <code>SimpleObject</code> defines an <code>updateName</code> action. This has a supporting method:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> SimpleObject updateName( ... ) { ... }
+<span class="directive">public</span> <span class="predefined-type">String</span> default0UpdateName() { ... }</code></pre> 
+         </div> 
+        </div> 
+        <div class="paragraph"> 
+         <p>We can introduce an error by misspelling the supporting method, for example:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="predefined-type">String</span> default0XUpdateName() { ... }</code></pre> 
+         </div> 
+        </div> 
+        <div class="paragraph"> 
+         <p>Running <code>mvn test</code> then generates this output:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="bash">[error]
 [error]
 [error]
-[error] domainapp.dom.simple.SimpleObject#default0XUpdateName: has prefix default, is probably a supporting method for a property, collection or action.  If the method is intended to be an action, then rename and use @ActionLayout(named=&quot;...&quot;) or ignore completely using @Programmatic
+[error] domainapp.dom.simple.SimpleObject#default0XUpdateName: has prefix default, is probably a supporting method for a property, collection or action.  If the method is intended to be an action, then rename and use @ActionLayout(named="...") or ignore completely using @Programmatic
 [error]
 [error]
 [error]
@@ -886,42 +787,42 @@ different configuration; see the final section for differences.</p>
 [INFO] BUILD FAILURE
 [INFO] ------------------------------------------------------------------------
 [INFO] ...
-[ERROR] Failed to execute goal org.apache.isis.tool:isis-maven-plugin:1.13.0:validate (default) on project simpleapp-dom: 1 problems found. -&gt; [Help 1]</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>If one were to attempt to run the application, the same error would appear in the log files on startup (and the application would not boot).</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_custom_validation_rules">3.4. Custom validation rules</h3>
-<div class="paragraph">
-<p>It is also possible to customize the validation, explained <a href="ugbtb.html#_ugbtb_programming-model_custom-validator">here</a>.  For example, you could enforce project-specific conventions by implementing a custom <code>MetaModelValidator</code>, and registering using a configuration property.</p>
-</div>
-<div class="paragraph">
-<p>To support this using <code>AppManifest`s, override its `getConfigurationProperties()</code> method:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="ini">public class DomainAppDomManifest implements AppManifest {
+[ERROR] Failed to execute goal org.apache.isis.tool:isis-maven-plugin:1.13.0:validate (default) on project simpleapp-dom: 1 problems found. -&gt; [Help 1]</code></pre> 
+         </div> 
+        </div> 
+        <div class="paragraph"> 
+         <p>If one were to attempt to run the application, the same error would appear in the log files on startup (and the application would not boot).</p> 
+        </div> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_custom_validation_rules">3.4. Custom validation rules</h3> 
+        <div class="paragraph"> 
+         <p>It is also possible to customize the validation, explained <a href="ugbtb.html#_ugbtb_programming-model_custom-validator">here</a>. For example, you could enforce project-specific conventions by implementing a custom <code>MetaModelValidator</code>, and registering using a configuration property.</p> 
+        </div> 
+        <div class="paragraph"> 
+         <p>To support this using <code>AppManifest`s, override its `getConfigurationProperties()</code> method:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="ini">public class DomainAppDomManifest implements AppManifest {
     ...
     public Map&lt;String, String&gt; getConfigurationProperties() {
         final Map&lt;String, String&gt; map = Maps.newTreeMap();
-        map.put(&quot;isis.reflector.validator&quot;,&quot;com.mycompany.myapp.MyMetaModelValidator&quot;);
+        map.put("isis.reflector.validator","com.mycompany.myapp.MyMetaModelValidator");
         return map;
     }
-}</code></pre>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_1_9_0_version">3.5. 1.9.0 version</h3>
-<div class="paragraph">
-<p>The <code>1.9.0</code> version of the plugin requires slightly different configuration.  Rather than using an <code>AppManifest</code>, instead the configuration directory containing <code>isis.properties</code> is specified:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
+}</code></pre> 
+         </div> 
+        </div> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_1_9_0_version">3.5. 1.9.0 version</h3> 
+        <div class="paragraph"> 
+         <p>The <code>1.9.0</code> version of the plugin requires slightly different configuration. Rather than using an <code>AppManifest</code>, instead the configuration directory containing <code>isis.properties</code> is specified:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
     <span class="tag">&lt;id&gt;</span>isis-validate<span class="tag">&lt;/id&gt;</span>
     <span class="tag">&lt;activation&gt;</span>
         <span class="tag">&lt;activeByDefault&gt;</span>false<span class="tag">&lt;/activeByDefault&gt;</span>                                        <i class="conum" data-value="1"></i><b>(1)</b>
@@ -959,98 +860,89 @@ different configuration; see the final section for differences.</p>
             <span class="tag">&lt;/plugin&gt;</span>
         <span class="tag">&lt;/plugins&gt;</span>
     <span class="tag">&lt;/build&gt;</span>
-<span class="tag">&lt;/profile&gt;</span></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>activated using the <code>-P</code> profile flag rather than a <code>-D</code> system property</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>specify the <code>isisConfigDir</code> directory (containing the <code>isis.properties</code> file).</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>To use the <code>1.9.0</code> version, use:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">mvn -P isis-validate test</code></pre>
-</div>
-</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>Note that the <code>isisConfigDir</code> property was removed in <code>1.10.0</code>; only the <code>AppManifest</code> approach is supported.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_rgmvn_swagger">4. <code>swagger</code> goal</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The <code>swagger</code> goal of the <code>isis-maven-plugin</code> uses the <a href="rgsvc.html#_rgsvc_api_SwaggerService"><code>SwaggerService</code></a> to
-generate <a href="http://swagger.io">Swagger</a> spec files to describe the public and/or private RESTful APIs exposed by the <a href="ugvro.html">RestfulObjects viewer</a>.</p>
-</div>
-<div class="paragraph">
-<p>These spec files, once generated, can then be used in the build pipeline to generate client-side stubs, typically using Swagger&#8217;s own <a href="https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin">swagger-codegen-maven</a> plugin.</p>
-</div>
-<div class="paragraph">
-<p>The <code>swagger</code> goal defines the following properties:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><code>appManifest</code> - fully qualified class name for the app manifest used to bootstrap the application (see discussion above)</p>
-</li>
-<li>
-<p><code>fileNamePrefix</code> - (optional) a prefix to the generated file names (is suffixed by the requested visibilities, see below).<br></p>
-<div class="paragraph">
-<p>Defaults to <code>swagger</code>.</p>
-</div>
-</li>
-<li>
-<p><code>visibilities</code> - (optional) list of required visibilities.<br></p>
-<div class="paragraph">
-<p>Defaults to [<code>PUBLIC</code>, <code>PRIVATE</code>] (meaning that two spec files will be created).</p>
-</div>
-</li>
-<li>
-<p><code>format</code> - (optional) which format to generate, either <code>JSON</code> or <code>YAML</code>.<br></p>
-<div class="paragraph">
-<p>Defaults to <code>JSON</code>.</p>
-</div>
-</li>
-<li>
-<p><code>output</code> - (optional) subdirectory under the <code>target</code> directory to generate the swagger spec files<br></p>
-<div class="paragraph">
-<p>Defaults to <code>generated-resources/isis-swagger</code></p>
-</div>
-</li>
-</ul>
-</div>
-<div class="sect2">
-<h3 id="__code_integtest_code_submodule">4.1. <code>integtest</code> submodule</h3>
-<div class="paragraph">
-<p>Update the <code>pom.xml</code> (in your project&#8217;s <code>integtest</code> module):</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
+<span class="tag">&lt;/profile&gt;</span></code></pre> 
+         </div> 
+        </div> 
+        <div class="colist arabic"> 
+         <table> 
+          <tbody>
+           <tr> 
+            <td><i class="conum" data-value="1"></i><b>1</b></td> 
+            <td>activated using the <code>-P</code> profile flag rather than a <code>-D</code> system property</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="2"></i><b>2</b></td> 
+            <td>specify the <code>isisConfigDir</code> directory (containing the <code>isis.properties</code> file).</td> 
+           </tr> 
+          </tbody>
+         </table> 
+        </div> 
+        <div class="paragraph"> 
+         <p>To use the <code>1.9.0</code> version, use:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="bash">mvn -P isis-validate test</code></pre> 
+         </div> 
+        </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>Note that the <code>isisConfigDir</code> property was removed in <code>1.10.0</code>; only the <code>AppManifest</code> approach is supported.</p> 
+             </div> </td> 
+           </tr> 
+          </tbody>
+         </table> 
+        </div> 
+       </div> 
+      </div> 
+     </div> 
+     <div class="sect1"> 
+      <h2 id="_rgmvn_swagger">4. <code>swagger</code> goal</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/_rgmvn_swagger.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>The <code>swagger</code> goal of the <code>isis-maven-plugin</code> uses the <a href="rgsvc.html#_rgsvc_api_SwaggerService"><code>SwaggerService</code></a> to generate <a href="http://swagger.io">Swagger</a> spec files to describe the public and/or private RESTful APIs exposed by the <a href="ugvro.html">RestfulObjects viewer</a>.</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>These spec files, once generated, can then be used in the build pipeline to generate client-side stubs, typically using Swagger\u2019s own <a href="https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin">swagger-codegen-maven</a> plugin.</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>The <code>swagger</code> goal defines the following properties:</p> 
+       </div> 
+       <div class="ulist"> 
+        <ul> 
+         <li> <p><code>appManifest</code> - fully qualified class name for the app manifest used to bootstrap the application (see discussion above)</p> </li> 
+         <li> <p><code>fileNamePrefix</code> - (optional) a prefix to the generated file names (is suffixed by the requested visibilities, see below).<br></p> 
+          <div class="paragraph"> 
+           <p>Defaults to <code>swagger</code>.</p> 
+          </div> </li> 
+         <li> <p><code>visibilities</code> - (optional) list of required visibilities.<br></p> 
+          <div class="paragraph"> 
+           <p>Defaults to [<code>PUBLIC</code>, <code>PRIVATE</code>] (meaning that two spec files will be created).</p> 
+          </div> </li> 
+         <li> <p><code>format</code> - (optional) which format to generate, either <code>JSON</code> or <code>YAML</code>.<br></p> 
+          <div class="paragraph"> 
+           <p>Defaults to <code>JSON</code>.</p> 
+          </div> </li> 
+         <li> <p><code>output</code> - (optional) subdirectory under the <code>target</code> directory to generate the swagger spec files<br></p> 
+          <div class="paragraph"> 
+           <p>Defaults to <code>generated-resources/isis-swagger</code></p> 
+          </div> </li> 
+        </ul> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="__code_integtest_code_submodule">4.1. <code>integtest</code> submodule</h3> 
+        <div class="paragraph"> 
+         <p>Update the <code>pom.xml</code> (in your project\u2019s <code>integtest</code> module):</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
     <span class="tag">&lt;id&gt;</span>isis-swagger<span class="tag">&lt;/id&gt;</span>
     <span class="tag">&lt;activation&gt;</span>
         <span class="tag">&lt;property&gt;</span>
@@ -1095,152 +987,127 @@ generate <a href="http://swagger.io">Swagger</a> spec files to describe the publ
             <span class="tag">&lt;/plugin&gt;</span>
         <span class="tag">&lt;/plugins&gt;</span>
     <span class="tag">&lt;/build&gt;</span>
-<span class="tag">&lt;/profile&gt;</span></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>the profile is active by default, though can be disabled using <code>-Dskip.isis-swagger</code></td>
-</tr>
-<tr>
-<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>set to <code>1.11.0</code> (or any later version)</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>the manifest discussed <a href="#_rgmvn_intro_app-manifest">previously</a>; adjust as required</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td>the visibilities to create (one swagger spec file per visibility listed)</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td>which file format to generate the spec files as.</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>the <code>dom</code> module for the project; adjust as required</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>binds the plugin&#8217;s <code>swagger</code> goal to the Maven <code>package</code> lifecycle phase (ie the goal will be called when <code>mvn package</code> is run).</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_to_run_2">4.2. To run</h3>
-<div class="paragraph">
-<p>The plugin is activated by default, so is run simply using:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">mvn package</code></pre>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_rgmvn_xsd">5. <code>xsd</code> goal</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The <code>xsd</code> goal of the <code>isis-maven-plugin</code> uses the <a href="rgsvc.html#_rgsvc_api_JaxbService"><code>JaxbService</code></a> to
-generate XSD schemas from any JAXB-annotated <a href="ugbtb.html#_ugbtb_view-models">view model/DTOs</a>.</p>
-</div>
-<div class="paragraph">
-<p>This is instead of and preferable to using the JAXB <a href="https://jaxb.java.net/2.2.4/docs/schemagen.html">schemagen</a>
-tool, because it uses the framework&#8217;s support (via
-<a href="rgant.html#_rgant-XmlJavaTypeAdapter"><code>@XmlJavaTypeAdapter</code></a>) to translate any references to domain
-objects into <code>OidDto</code>s (as defined by the Apache Isis <a href="rgcms.html#_rgcms_schema-common">common schema</a>).</p>
-</div>
-<div class="paragraph">
-<p>The <code>xsd</code> goal defines the following properties:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><code>appManifest</code> - fully qualified class name for the app manifest used to bootstrap the application (see discussion above)</p>
-</li>
-<li>
-<p><code>jaxbClasses</code> - a list of <a href="rg.html#_ugbtb_view-models_jaxb">JAXB-annotated view model</a> classes;</p>
-</li>
-<li>
-<p><code>output</code> - (optional) subdirectory under the <code>target</code> directory to generate the XSDs<br></p>
-<div class="paragraph">
-<p>Defaults to <code>generated-resources/isis-xsd</code></p>
-</div>
-</li>
-<li>
-<p><code>separate</code> - (optional) whether to create separate directories for each JAXB-class.<br></p>
-<div class="paragraph">
-<p>Defaults to <code>false</code>.  Most DTO classes will reference one another or the <a href="rgcms.html#_rgcms_schema-common">common schema</a>.  Normally it&#8217;s fine to merge all these XSDs together.  This property, if set, results in each a separate directory for each generation of its XSD or XSDs.</p>
-</div>
-</li>
-<li>
-<p><code>commonSchemas</code> - (optional) whether to also generate the isis common schema(s).<br></p>
-<div class="paragraph">
-<p>Defaults to <code>false</code>; if set then the call to <a href="rgsvc.html#_rgsvc_api_JaxbService"><code>JaxbService</code></a> will set <code>IsisSchemas.INCLUDE</code> flag.</p>
-</div>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>As a convenience to any (Java) consumers, the XSDs generated from the view models can then in turn be generated
-into DTOs.  The original view models and these DTOs are similar but not identical: while the view models can only be used
-within the Isis application (they may reference underlying domain entities) whereas the DTO classes generated from the
-XSDs can be used standalone, eg by a Java subscriber running on an ESB such as Apache Camel.</p>
-</div>
-<div class="paragraph">
-<p>The rest of this section explains how to configure a new <code>xsd</code> submodule that uses the <code>isis-maven-plugin</code> along with
-other standard plugins in order to generate both XSDs and DTOs.  The <code>pom.xml</code> described below uses Maven profiles
-to separate out these two responsibilities.</p>
-</div>
-<div class="sect2">
-<h3 id="_rgmvn_xsd">5.1. <code>xsd</code> submodule</h3>
-<div class="paragraph">
-<p>We recommend creating a new submodule that will perform the following build steps:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>run the <code>xsd</code> goal (in the <code>generate-resources</code> phase) to generate the XSDs from the specified view model/DTOs</p>
-</li>
-<li>
-<p>use the <a href="http://maven.apache.org/plugins/maven-assembly-plugin/">maven-assembly-plugin</a> to bundle the
-generated XSD files into a zip file.</p>
-</li>
-<li>
-<p>use the <code>xjc-gen</code> to generate corresponding DTO classes from the XSDs.<br></p>
-<div class="paragraph">
-<p>These are <em>not</em> the same as the original view models; they are provided as a convenience for subscribers to marshall XML documents into Java classes, but running as a standalone process (not part of the Isis app)</p>
-</div>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>These two main responsibilities can then be placed into separate Maven profiles, for better modularity.  The diagram
-below shows the overall design:</p>
-</div>
-<div class="imageblock">
-<div class="content">
-<a class="image" href="images/maven-plugin/xsd-goal.png"><img src="images/maven-plugin/xsd-goal.png" alt="xsd goal" width="800px"></a>
-</div>
-</div>
-<div class="paragraph">
-<p>For example, here is the <code>pom.xml</code> file for the (non-ASF)
-<a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a> example app&#8217;s <code>todoapp-xsd</code> submodule.</p>
-</div>
-<div class="paragraph">
-<p>First, the usual boilerplate:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="preprocessor">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
-<span class="tag">&lt;project</span> <span class="attribute-name">xmlns</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">http://maven.apache.org/POM/4.0.0</span><span class="delimiter">&quot;</span></span> <span class="attribute-name">xmlns:xsi</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">http://www.w3.org/2001/XMLSchema-instance</span><span class="delimiter">&quot;</span></span> <span class="attribute-name">xsi:schemaLocation</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd</span><span class="delimiter">&quot;</span></span><span class="tag">&gt;</span>
+<span class="tag">&lt;/profile&gt;</span></code></pre> 
+         </div> 
+        </div> 
+        <div class="colist arabic"> 
+         <table> 
+          <tbody>
+           <tr> 
+            <td><i class="conum" data-value="1"></i><b>1</b></td> 
+            <td>the profile is active by default, though can be disabled using <code>-Dskip.isis-swagger</code></td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="2"></i><b>2</b></td> 
+            <td>set to <code>1.11.0</code> (or any later version)</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="3"></i><b>3</b></td> 
+            <td>the manifest discussed <a href="#_rgmvn_intro_app-manifest">previously</a>; adjust as required</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="4"></i><b>4</b></td> 
+            <td>the visibilities to create (one swagger spec file per visibility listed)</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="5"></i><b>5</b></td> 
+            <td>which file format to generate the spec files as.</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="6"></i><b>6</b></td> 
+            <td>the <code>dom</code> module for the project; adjust as required</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="7"></i><b>7</b></td> 
+            <td>binds the plugin\u2019s <code>swagger</code> goal to the Maven <code>package</code> lifecycle phase (ie the goal will be called when <code>mvn package</code> is run).</td> 
+           </tr> 
+          </tbody>
+         </table> 
+        </div> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_to_run_2">4.2. To run</h3> 
+        <div class="paragraph"> 
+         <p>The plugin is activated by default, so is run simply using:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="bash">mvn package</code></pre> 
+         </div> 
+        </div> 
+       </div> 
+      </div> 
+     </div> 
+     <div class="sect1"> 
+      <h2 id="_rgmvn_xsd">5. <code>xsd</code> goal</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/_rgmvn_xsd.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>The <code>xsd</code> goal of the <code>isis-maven-plugin</code> uses the <a href="rgsvc.html#_rgsvc_api_JaxbService"><code>JaxbService</code></a> to generate XSD schemas from any JAXB-annotated <a href="ugbtb.html#_ugbtb_view-models">view model/DTOs</a>.</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>This is instead of and preferable to using the JAXB <a href="https://jaxb.java.net/2.2.4/docs/schemagen.html">schemagen</a> tool, because it uses the framework\u2019s support (via <a href="rgant.html#_rgant-XmlJavaTypeAdapter"><code>@XmlJavaTypeAdapter</code></a>) to translate any references to domain objects into <code>OidDto</code>s (as defined by the Apache Isis <a href="rgcms.html#_rgcms_schema-common">common schema</a>).</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>The <code>xsd</code> goal defines the following properties:</p> 
+       </div> 
+       <div class="ulist"> 
+        <ul> 
+         <li> <p><code>appManifest</code> - fully qualified class name for the app manifest used to bootstrap the application (see discussion above)</p> </li> 
+         <li> <p><code>jaxbClasses</code> - a list of <a href="rg.html#_ugbtb_view-models_jaxb">JAXB-annotated view model</a> classes;</p> </li> 
+         <li> <p><code>output</code> - (optional) subdirectory under the <code>target</code> directory to generate the XSDs<br></p> 
+          <div class="paragraph"> 
+           <p>Defaults to <code>generated-resources/isis-xsd</code></p> 
+          </div> </li> 
+         <li> <p><code>separate</code> - (optional) whether to create separate directories for each JAXB-class.<br></p> 
+          <div class="paragraph"> 
+           <p>Defaults to <code>false</code>. Most DTO classes will reference one another or the <a href="rgcms.html#_rgcms_schema-common">common schema</a>. Normally it\u2019s fine to merge all these XSDs together. This property, if set, results in each a separate directory for each generation of its XSD or XSDs.</p> 
+          </div> </li> 
+         <li> <p><code>commonSchemas</code> - (optional) whether to also generate the isis common schema(s).<br></p> 
+          <div class="paragraph"> 
+           <p>Defaults to <code>false</code>; if set then the call to <a href="rgsvc.html#_rgsvc_api_JaxbService"><code>JaxbService</code></a> will set <code>IsisSchemas.INCLUDE</code> flag.</p> 
+          </div> </li> 
+        </ul> 
+       </div> 
+       <div class="paragraph"> 
+        <p>As a convenience to any (Java) consumers, the XSDs generated from the view models can then in turn be generated into DTOs. The original view models and these DTOs are similar but not identical: while the view models can only be used within the Isis application (they may reference underlying domain entities) whereas the DTO classes generated from the XSDs can be used standalone, eg by a Java subscriber running on an ESB such as Apache Camel.</p> 
+       </div> 
+       <div class="paragraph"> 
+        <p>The rest of this section explains how to configure a new <code>xsd</code> submodule that uses the <code>isis-maven-plugin</code> along with other standard plugins in order to generate both XSDs and DTOs. The <code>pom.xml</code> described below uses Maven profiles to separate out these two responsibilities.</p> 
+       </div> 
+       <div class="sect2"> 
+        <h3 id="_rgmvn_xsd">5.1. <code>xsd</code> submodule</h3> 
+        <div class="paragraph"> 
+         <p>We recommend creating a new submodule that will perform the following build steps:</p> 
+        </div> 
+        <div class="ulist"> 
+         <ul> 
+          <li> <p>run the <code>xsd</code> goal (in the <code>generate-resources</code> phase) to generate the XSDs from the specified view model/DTOs</p> </li> 
+          <li> <p>use the <a href="http://maven.apache.org/plugins/maven-assembly-plugin/">maven-assembly-plugin</a> to bundle the generated XSD files into a zip file.</p> </li> 
+          <li> <p>use the <code>xjc-gen</code> to generate corresponding DTO classes from the XSDs.<br></p> 
+           <div class="paragraph"> 
+            <p>These are <em>not</em> the same as the original view models; they are provided as a convenience for subscribers to marshall XML documents into Java classes, but running as a standalone process (not part of the Isis app)</p> 
+           </div> </li> 
+         </ul> 
+        </div> 
+        <div class="paragraph"> 
+         <p>These two main responsibilities can then be placed into separate Maven profiles, for better modularity. The diagram below shows the overall design:</p> 
+        </div> 
+        <div class="imageblock"> 
+         <div class="content"> 
+          <a class="image" href="images/maven-plugin/xsd-goal.png"><img src="images/maven-plugin/xsd-goal.png" alt="xsd goal" width="800px"></a> 
+         </div> 
+        </div> 
+        <div class="paragraph"> 
+         <p>For example, here is the <code>pom.xml</code> file for the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a> example app\u2019s <code>todoapp-xsd</code> submodule.</p> 
+        </div> 
+        <div class="paragraph"> 
+         <p>First, the usual boilerplate:</p> 
+        </div> 
+        <div class="listingblock"> 
+         <div class="content"> 
+          <pre class="CodeRay highlight"><code data-lang="xml"><span class="preprocessor">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>
+<span class="tag">&lt;project</span> <span class="attribute-name">xmlns</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://maven.apache.org/POM/4.0.0</span><span class="delimiter">"</span></span> <span class="attribute-name">xmlns:xsi</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://www.w3.org/2001/XMLSchema-instance</span><span class="delimiter">"</span></span> <span class="attribute-name">xsi:schemaLocation</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
     <span class="tag">&lt;modelVersion&gt;</span>4.0.0<span class="tag">&lt;/modelVersion&gt;</span>
 
     <span class="tag">&lt;parent&gt;</span>
@@ -1269,33 +1136,35 @@ below shows the overall design:</p>
             ...
         <span class="tag">&lt;/profile&gt;</span>
         <span class="tag">&lt;/profiles&gt;</span>
-<span class="tag">&lt;/project&gt;</span></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>depends on the rest of the application&#8217;s modules</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>XSD generation, to run the <code>xsd</code> goal and then assemble into a zip file; within a profile for modularity</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>XJC generation, to run the <code>xjc</code> to generate Java DTO classes from XSDs; within a profile for modularity</td>
-</tr>
-</table>
-</div>
-<div class="sect3">
-<h4 id="_xsd_profile">5.1.1. XSD profile</h4>
-<div class="paragraph">
-<p>The <code>isis-xsd</code> profile runs the <code>xsd</code> goal of the <code>isis-maven-plugin</code>; these are then zipped up by the assembly plugin:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
+<span class="tag">&lt;/project&gt;</span></code></pre> 
+         </div> 
+        </div> 
+        <div class="colist arabic"> 
+         <table> 
+          <tbody>
+           <tr> 
+            <td><i class="conum" data-value="1"></i><b>1</b></td> 
+            <td>depends on the rest of the application\u2019s modules</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="2"></i><b>2</b></td> 
+            <td>XSD generation, to run the <code>xsd</code> goal and then assemble into a zip file; within a profile for modularity</td> 
+           </tr> 
+           <tr> 
+            <td><i class="conum" data-value="3"></i><b>3</b></td> 
+            <td>XJC generation, to run the <code>xjc</code> to generate Java DTO classes from XSDs; within a profile for modularity</td> 
+           </tr> 
+          </tbody>
+         </table> 
+        </div> 
+        <div class="sect3"> 
+         <h4 id="_xsd_profile">5.1.1. XSD profile</h4> 
+         <div class="paragraph"> 
+          <p>The <code>isis-xsd</code> profile runs the <code>xsd</code> goal of the <code>isis-maven-plugin</code>; these are then zipped up by the assembly plugin:</p> 
+         </div> 
+         <div class="listingblock"> 
+          <div class="content"> 
+           <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
     <span class="tag">&lt;id&gt;</span>isis-xsd<span class="tag">&lt;/id&gt;</span>
     <span class="tag">&lt;activation&gt;</span>
         <span class="tag">&lt;property&gt;</span>
@@ -1354,51 +1223,52 @@ below shows the overall design:</p>
             <span class="tag">&lt;/plugin&gt;</span>
         <span class="tag">&lt;/plugins&gt;</span>
     <span class="tag">&lt;/build&gt;</span>
-<span class="tag">&lt;/profile&gt;</span></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>enabled <em>unless</em> <code>skip.isis-xsd</code> property specified</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>specify the app manifest to bootstrap the Isis runtime within the maven plugin</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>enumerate all JAXB-annotated view models</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td>workaround to avoid conflict with plexus-default</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td>by default is bound to <code>generate-resources</code>, but bind instead to <code>generate-sources</code> if also running the <code>xjc</code> profile: the XSD are an input to <code>xjc</code>, but it is bound by default to <code>generate-sources</code> and the <code>generate-sources</code> phase runs before the <code>generate-resources</code>.</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>run the <code>xsd</code> goal</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>define the assembly plugin</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="8"></i><b>8</b></td>
-<td>assembles the XSD schemas into a zip file, as defined by the <code>dep.xml</code> file (see below).</td>
-</tr>
-</table>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;assembly</span> <span class="attribute-name">xmlns</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2</span><span class="delimiter">&quot;</span></span>
-          <span class="attribute-name">xmlns:xsi</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">http://www.w3.org/2001/XMLSchema-instance</span><span class="delimiter">&quot;</span></span>
-          <span class="attribute-name">xsi:schemaLocation</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2</span>
-                              <span class="content">http://maven.apache.org/xsd/assembly-1.1.2.xsd</span><span class="delimiter">&quot;</span></span><span class="tag">&gt;</span>
+<span class="tag">&lt;/profile&gt;</span></code></pre> 
+          </div> 
+         </div> 
+         <div class="colist arabic"> 
+          <table> 
+           <tbody>
+            <tr> 
+             <td><i class="conum" data-value="1"></i><b>1</b></td> 
+             <td>enabled <em>unless</em> <code>skip.isis-xsd</code> property specified</td> 
+            </tr> 
+            <tr> 
+             <td><i class="conum" data-value="2"></i><b>2</b></td> 
+             <td>specify the app manifest to bootstrap the Isis runtime within the maven plugin</td> 
+            </tr> 
+            <tr> 
+             <td><i class="conum" data-value="3"></i><b>3</b></td> 
+             <td>enumerate all JAXB-annotated view models</td> 
+            </tr> 
+            <tr> 
+             <td><i class="conum" data-value="4"></i><b>4</b></td> 
+             <td>workaround to avoid conflict with plexus-default</td> 
+            </tr> 
+            <tr> 
+             <td><i class="conum" data-value="5"></i><b>5</b></td> 
+             <td>by default is bound to <code>generate-resources</code>, but bind instead to <code>generate-sources</code> if also running the <code>xjc</code> profile: the XSD are an input to <code>xjc</code>, but it is bound by default to <code>generate-sources</code> and the <code>generate-sources</code> phase runs before the <code>generate-resources</code>.</td> 
+            </tr> 
+            <tr> 
+             <td><i class="conum" data-value="6"></i><b>6</b></td> 
+             <td>run the <code>xsd</code> goal</td> 
+            </tr> 
+            <tr> 
+             <td><i class="conum" data-value="7"></i><b>7</b></td> 
+             <td>define the assembly plugin</td> 
+            </tr> 
+            <tr> 
+             <td><i class="conum" data-value="8"></i><b>8</b></td> 
+             <td>assembles the XSD schemas into a zip file, as defined by the <code>dep.xml</code> file (see below).</td> 
+            </tr> 
+           </tbody>
+          </table> 
+         </div> 
+         <div class="listingblock"> 
+          <div class="content"> 
+           <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;assembly</span> <span class="attribute-name">xmlns</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2</span><span class="delimiter">"</span></span>
+          <span class="attribute-name">xmlns:xsi</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://www.w3.org/2001/XMLSchema-instance</span><span class="delimiter">"</span></span>
+          <span class="attribute-name">xsi:schemaLocation</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2</span> <span class="content">http://maven.apache.org/xsd/assembly-1.1.2.xsd</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
     <span class="tag">&lt;id&gt;</span>xsd<span class="tag">&lt;/id&gt;</span>
     <span class="tag">&lt;formats&gt;</span>
         <span class="tag">&lt;format&gt;</span>zip<span class="tag">&lt;/format&gt;</span>
@@ -1409,31 +1279,31 @@ below shows the overall design:</p>
             <span class="tag">&lt;outputDirectory&gt;</span>/<span class="tag">&lt;/outputDirectory&gt;</span>
         <span class="tag">&lt;/fileSet&gt;</span>
     <span class="tag">&lt;/fileSets&gt;</span>
-<span class="tag">&lt;/assembly&gt;</span></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>the location that the <code>xsd</code> goal writes to.</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_xjc_profile">5.1.2. XJC profile</h4>
-<div class="paragraph">
-<p>The <code>xjc</code> profile reads the XSD generated by the <code>xsd</code> goal, and from it generates Java DTOs.  Note that this isn&#8217;t
-round-tripping: the original view model is only for use within the Isis app, whereas the DTO generated from the XSDs
-is for use in a standalone context, eg in a Java subscriber on an event bus.</p>
-</div>
-<div class="paragraph">
-<p>The <code>xjc</code> profile is defined as:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
+<span class="tag">&lt;/assembly&gt;</span></code></pre> 
+          </div> 
+         </div> 
+         <div class="colist arabic"> 
+          <table> 
+           <tbody>
+            <tr> 
+             <td><i class="conum" data-value="1"></i><b>1</b></td> 
+             <td>the location that the <code>xsd</code> goal writes to.</td> 
+            </tr> 
+           </tbody>
+          </table> 
+         </div> 
+        </div> 
+        <div class="sect3"> 
+         <h4 id="_xjc_profile">5.1.2. XJC profile</h4> 
+         <div class="paragraph"> 
+          <p>The <code>xjc</code> profile reads the XSD generated by the <code>xsd</code> goal, and from it generates Java DTOs. Note that this isn\u2019t round-tripping: the original view model is only for use within the Isis app, whereas the DTO generated from the XSDs is for use in a standalone context, eg in a Java subscriber on an event bus.</p> 
+         </div> 
+         <div class="paragraph"> 
+          <p>The <code>xjc</code> profile is defined as:</p> 
+         </div> 
+         <div class="listingblock"> 
+          <div class="content"> 
+           <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;profile&gt;</span>
     <span class="tag">&lt;id&gt;</span>xjc<span class="tag">&lt;/id&gt;</span>
     <span class="tag">&lt;activation&gt;</span>
         <span class="tag">&lt;property&gt;</span>
@@ -1488,169 +1358,147 @@ is for use in a standalone context, eg in a Java subscriber on an event bus.</p>
             <span class="tag">&lt;/plugin&gt;</span>
         <span class="tag">&lt;/plugins&gt;</span>
     <span class="tag">&lt;/build&gt;</span>
-<span class="tag">&lt;/profile&gt;</span></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>enabled <em>unless</em> <code>skip.xjc</code> property specified</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>specifies the directory that the XSD schemas were generated to by the <code>isis-maven-plugin</code></td>
-</tr>
-<tr>
-<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>specify each of the XSDs to be processed</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td>catalog file indicates the location of the referenced <a href="_rgcms_schema-common">common schema</a> XSDs.</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td>the <code>build-helper-maven-plugin</code> adds the Java source generated by the <code>xjc</code> plugin so that it can be compiled and
-packaged as any other code</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>the location that the <code>xjc</code> plugin generates its source code.</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>The referenced <code>catalog.xml</code> file instructs the <code>xjc</code> plugin how to resolve referenced schema locations.  Only a
-reference for the Apache Isis <a href="_rgcms_schema-common">common schema</a> is likely to be needed:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="xml"><span class="preprocessor">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
-<span class="doctype">&lt;!DOCTYPE catalog
-            PUBLIC &quot;-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN&quot;
-            &quot;http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd&quot;&gt;</span>
-<span class="tag">&lt;catalog</span> <span class="attribute-name">xmlns</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">urn:oasis:names:tc:entity:xmlns:xml:catalog</span><span class="delimiter">&quot;</span></span><span class="tag">&gt;</span>
-    <span class="tag">&lt;public</span> <span class="attribute-name">publicId</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">http://isis.apache.org/schema/common</span><span class="delimiter">&quot;</span></span>
-            <span class="attribute-name">uri</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">http://isis.apache.org/schema/common/common.xsd</span><span class="delimiter">&quot;</span></span><span class="tag">/&gt;</span>                             <i class="conum" data-value="1"></i><b>(1)</b>
-<span class="tag">&lt;/catalog&gt;</span></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>resolve the common schema from the Apache Isis website</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_to_run_3">5.2. To run</h3>
-<div class="paragraph">
-<p>The plugin is activated by default, so is run simply using:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">mvn package</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>This will generate the XSDs, the DTOs from the XSDs, and package up the XSDs into a ZIP file and the generated DTO
-class files into a regular JAR package.</p>
-</div>
-<div class="paragraph">
-<p>If for any reason you want to disable the generation of the DTOs, use:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">mvn package -Dskip.xjc</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>If you want to disable the generation of both the XSDs and the DTOs, use:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">mvn package -Dskip.xjc -Dskip.isis-xsd</code></pre>
-</div>
-</div>
-</div>
-</div>
-</div>
-        </div>
-
-        <footer>
-          <hr>
-          <p class="small">
-          Copyright &copy; 2010~2016 The Apache&nbsp;Software&nbsp;Foundation, licensed under the Apache&nbsp;License,&nbsp;v2.0.
-          <br/>
-          Apache, the Apache feather logo, Apache&nbsp;Isis, and the Apache&nbsp;Isis project logo are all trademarks of The&nbsp;Apache&nbsp;Software&nbsp;Foundation.
-          </p>
-        </footer>
-
-    </div>
-
-    <div id="doc-content-right" class="large-3 medium-3 xcolumns">
-        <div id="toc" class="toc2">
-            <div class="fallback-toc">
-                <ul class="sectlevel1">
-<li><a href="#_rgmvn">1. Apache Isis Maven plugin</a>
-<ul class="sectlevel2">
-<li><a href="#_other_guides">1.1. Other Guides</a></li>
-</ul>
-</li>
-<li><a href="#_rgmvn_intro">2. Introduction</a>
-<ul class="sectlevel2">
-<li><a href="#_rgmvn_intro_app-manifest">2.1. <code>AppManifest</code></a></li>
-</ul>
-</li>
-<li><a href="#_rgmvn_validate">3. <code>validate</code> goal</a>
-<ul class="sectlevel2">
-<li><a href="#__code_dom_code_submodule">3.1. <code>dom</code> submodule</a></li>
-<li><a href="#_to_run">3.2. To run</a></li>
-<li><a href="#_example_of_failure">3.3. Example of failure</a></li>
-<li><a href="#_custom_validation_rules">3.4. Custom validation rules</a></li>
-<li><a href="#_1_9_0_version">3.5. 1.9.0 version</a></li>
-</ul>
-</li>
-<li><a href="#_rgmvn_swagger">4. <code>swagger</code> goal</a>
-<ul class="sectlevel2">
-<li><a href="#__code_integtest_code_submodule">4.1. <code>integtest</code> submodule</a></li>
-<li><a href="#_to_run_2">4.2. To run</a></li>
-</ul>
-</li>
-<li><a href="#_rgmvn_xsd">5. <code>xsd</code> goal</a>
-<ul class="sectlevel2">
-<li><a href="#_rgmvn_xsd">5.1. <code>xsd</code> submodule</a>
-<ul class="sectlevel3">
-<li><a href="#_xsd_profile">5.1.1. XSD profile</a></li>
-<li><a href="#_xjc_profile">5.1.2. XJC profile</a></li>
-</ul>
-</li>
-<li><a href="#_to_run_3">5.2. To run</a></li>
-</ul>
-</li>
-</ul>
-            </div>
-        </div>
-    </div>
-
-</div>
-
-
-<script src="../../../js/foundation/5.5.1/vendor/jquery.js"></script>
-<script src="../../../js/foundation/5.5.1/foundation.min.js"></script>
-
-
-<link href="../../../css/jquery.tocify/1.9.0/jquery.tocify.css" rel="stylesheet">
-<script src="../../../js/jqueryui/1.11.4/jquery-ui.min.js"></script>
-<script src="../../../js/jquery.tocify/1.9.0/jquery.tocify.js"></script>
-
-
-
-<script type="text/javascript">
+<span class="tag">&lt;/profile&gt;</span></code></pre> 
+          </div> 
+         </div> 
+         <div class="colist arabic"> 
+          <table> 
+           <tbody>
+            <tr> 
+             <td><i class="conum" data-value="1"></i><b>1</b></td> 
+             <td>enabled <em>unless</em> <code>skip.xjc</code> property specified</td> 
+            </tr> 
+            <tr> 
+             <td><i class="conum" data-value="2"></i><b>2</b></td> 
+             <td>specifies the directory that the XSD schemas were generated to by the <code>isis-maven-plugin</code></td> 
+            </tr> 
+           

<TRUNCATED>